當數據分別存儲在日志服務的Logstore和RDS MySQL數據庫中時,您可以使用日志服務的數據加工功能,通過RDS的內網地址訪問RDS MySQL數據庫以獲取數據,進而實現數據富化。
工作原理
使用日志服務數據加工功能,通過RDS內網地址訪問RDS MySQL獲取數據進行數據富化的過程如圖所示:
方案概覽
使用日志服務數據加工功能,通過RDS內網地址訪問RDS MySQL獲取數據進行數據富化,只需三步:
獲取數據加工任務中高級參數配置信息:先登錄RDS控制臺獲取RDS MySQL實例信息,再通過OpenAPI調試頁面調用接口獲取高級參數配置信息。
在源Logstore中開啟數據加工任務:然后配置數據加工規則進行數據富化。
將加工結果保存到目標Logstore中:最后將加工結果數據保存到目標Logstore。
前提條件
已獲取原始日志數據。
RDS MySQL實例與日志服務Project需處于同一地域。
步驟一:獲取數據加工任務中高級參數配置信息
登錄云數據庫RDS控制臺。
在左側菜單欄,單擊實例列表找到目標實例并單擊進入。
設置IP地址段白名單。有關白名單更多操作,請參見設置白名單。
在左側菜單欄,單擊
,填入分組名稱以及組內白名單,組內白名單需固定設置為100.104.0.0/16
。
獲取目標實例ID、內網端口。
在左側菜單欄,單擊基本信息,在基本信息頁面找到實例ID并復制。
在左側菜單欄,單擊數據庫連接,在數據庫連接頁面查看內網端口并復制。
獲取目標實例
VpcId
和VpcCloudInstanceId
。打開OpenAPI調試頁面,在 頁面找到DBInstanceId實例ID文本框并填入復制好的目標實例ID。關于調用的接口方法。具體詳情,請參見DescribeDBInstanceAttribute - 查詢實例詳情。
點擊調用,在調用結果頁面復制
VpcId
和VpcCloudInstanceId
。
步驟二:在源Logstore中開啟數據加工任務
登錄日志服務控制臺。
進入數據加工頁面。
在Project列表區域,單擊目標Project。
在
頁簽中,單擊目標Logstore。在查詢與分析頁面,單擊數據加工。
在數據加工頁面,單擊切換至數據加工(舊版)。
添加高級參數配置。
在頁面右上角選擇高級,單擊預覽數據。
在添加預覽配置頁面,單擊高級選項,添加如下配置。
重要表格里所有配置參數中的
your_name
可自定義但需保持一致,并且與加工規則中your_name
也需保持一致。參數
參數值
說明
config.vpc.vpc_id.your_name
vpc-uf6mskb0b****n9yj
目標實例VpcId。
如何獲取請參見,獲取目標實例VpcId。
config.vpc.instance_id.your_name
rm-uf6e61k****ahd7-2024091513
目標實例ID。
如何獲取請參見,獲取目標實例VpcCloudInstanceId。
config.vpc.instance_port.your_name
3306
目標實例內網地址端口號。
如何獲取請參見,獲取目標實例內網端口。
添加配置示例如圖所示:
配置無誤后單擊右下角確定完成配置。
編輯加工規則。
在編輯框中添加如下語句。
語法格式示例如下,有關數據富化函數以及資源函數具體介紹,請參見,從RDS MySQL數據庫獲取數據進行數據富化和資源函數。
/* e_table_map() 數據富化函數。 res_rds_mysql() 拉取函數,從RDS MySQL數據庫中拉取數據庫表內容或SQL執行結果。 str_format() 字符串格式化函數,res_local()中的your_name需和高級參數配置中your_name保持一致。 field 匹配字段,在Logstore中的日志數據與RDS MySQL數據庫表中的數據之間進行匹配時的依據字段,只有當這個字段在兩者中的值相同時,才能匹配成功。 output_fields 輸出字段集合,當匹配成功后,會返回這些字段的值,進而生成一條新的日志。 */ e_table_map( res_rds_mysql( str_format("{}:{}", res_local("config.vpc.instance_id.your_name"), res_local("config.vpc.instance_port.your_name")), "數據庫賬號", "數據庫密碼", "數據庫名稱", table="數據庫表名" ), "field", "output_fields" )
加工語句如圖所示:
以下規則通過日志服務Logstore中
process_time_in_ms
字段和RDS MySQL數據庫表process_time_in_ms
字段進行匹配,只有process_time_in_ms
字段的值完全相同,才能匹配成功。匹配成功后,返回RDS MySQL數據庫表中model
和purchase_price
字段及其字段值,與Logstore中的數據拼接,生成新的數據。
單擊右上角預覽數據進行數據加工。
查看加工結果。
加工規則未匹配成功結果數據如圖所示:
加工規則匹配成功結果數據如圖所示:
步驟三:將加工結果保存到目標Logstore中
單擊右下角保存數據加工(舊版),依次填入圖中所需信息后點擊確定保存。
在左側日志庫中單擊保存了加工結果的目標Logstore,在頁面右上角,選擇數據的時間范圍。
選擇時間范圍后,請確認原始日志頁簽中是否成功保存加工結果數據,如圖所示已成功保存。
后續步驟
獲取RDS MySQL數據,完成數據富化后,您可以在日志服務控制臺上進行數據分析。更多信息,請參見基于日志服務數據加工與RDS MySQL做數據富化以及數據分析。
附錄:使用內網地址訪問AnalyticDB MySQL或PolarDB MySQL數據庫
日志服務除了支持通過阿里云內網地址訪問RDS MySQL數據庫外,還支持通過內網地址訪問AnalyticDB MySQL和PolarDB MySQL數據庫。相關配置如下所示:
AnalyticDB MySQL數據庫
設置高級參數配置時,config.vpc.instance_id.your_name的值需配置為AnalyticDB MySQL實例ID加-controller,如下圖所示,其余配置參考此文檔即可。
PolarDB MySQL數據庫相關配置參考此文檔即可。