全部產品
Search
文件中心

Simple Log Service:通過Log Service訪問RDS MySQL進行資料富化

更新時間:Oct 30, 2024

當資料分別儲存在Log Service的Logstore和RDS MySQL資料庫中時,您可以使用Log Service的資料加工功能,通過RDS的內網地址訪問RDS MySQL資料庫以擷取資料,進而實現資料富化。

工作原理

使用Log Service資料加工功能,通過RDS內網地址訪問RDS MySQL擷取資料進行資料富化的過程如圖所示:

方案概覽

使用Log Service資料加工功能,通過RDS內網地址訪問RDS MySQL擷取資料進行資料富化,只需三步:

  1. 擷取資料加工任務中進階參數配置資訊:先登入RDS控制台擷取RDS MySQL執行個體資訊,再通過OpenAPI調試頁面調用介面擷取進階參數配置資訊。

  2. 在源Logstore中開啟資料加工任務:然後配置資料加工規則進行資料富化。

  3. 將加工結果儲存到目標Logstore中:最後將加工結果資料儲存到目標Logstore。

前提條件

  • 已擷取原始日誌資料。

  • RDS MySQL執行個體與Log ServiceProject需處於同一地區。

步驟一:擷取資料加工任務中進階參數配置資訊

  1. 登入雲資料庫RDS控制台

  2. 在左側功能表列,單擊執行個體列表找到目標執行個體並單擊進入。

    image

  3. 設定IP位址區段白名單。有關白名單更多操作,請參見設定白名單

    1. 在左側功能表列,單擊白名單與安全性群組 > 添加白名單分組,填入分組名稱以及組內白名單,組內白名單需固定設定為100.104.0.0/16

      image

  4. 擷取目標執行個體ID、內網連接埠。

    1. 在左側功能表列,單擊基本資料,在基本資料頁面找到執行個體ID並複製。

      image

    2. 在左側功能表列,單擊資料庫連接,在資料庫連接頁面查看內網連接埠並複製。

      image

  5. 擷取目標執行個體VpcIdVpcCloudInstanceId

    1. 開啟OpenAPI調試頁面,在參數配置 > 輸入參數頁面找到DBInstanceId執行個體ID文字框並填入複製好的目標執行個體ID。關於調用的介面方法。具體詳情,請參見DescribeDBInstanceAttribute - 查詢執行個體詳情

      image

    2. 點擊調用,在調用結果頁面複製VpcIdVpcCloudInstanceId

      image

步驟二:在源Logstore中開啟資料加工任務

  1. 登入Log Service控制台

  2. 進入資料加工頁面。

    1. 在Project列表地區,單擊目標Project。

      image

    2. 日誌儲存 > 日誌庫頁簽中,單擊目標Logstore。

      image

    3. 在查詢與分析頁面,單擊資料加工

      image

    4. 在資料加工頁面,單擊切換至資料加工(舊版)。

      image

  3. 添加進階參數配置。

    1. 在頁面右上方選擇進階,單擊預覽資料

      image

    2. 添加預覽配置頁面,單擊進階選項,添加如下配置。

      重要

      表格裡所有配置參數中的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

      目標執行個體內網地址連接埠號碼。

      如何擷取請參見,擷取目標執行個體內網連接埠

      添加配置樣本如圖所示:

      image

    3. 配置無誤後單擊右下角確定完成配置。

      image

  4. 編輯加工規則。

    1. 在編輯框中添加如下語句。

      文法格式樣本如下,有關資料富化函數以及資源函數具體介紹,請參見,從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"
      )

      加工語句如圖所示:

      以下規則通過Log ServiceLogstore中process_time_in_ms欄位和RDS MySQL資料庫表process_time_in_ms欄位進行匹配,只有process_time_in_ms欄位的值完全相同,才能匹配成功。匹配成功後,返回RDS MySQL資料庫表中modelpurchase_price欄位及其欄位值,與Logstore中的資料拼接,產生新的資料。

      image

  5. 單擊右上方預覽資料進行資料加工。

    image

  6. 查看加工結果

    加工規則未匹配成功結果資料如圖所示:

    image

    加工規則匹配成功結果資料如圖所示:

    image

步驟三:將加工結果儲存到目標Logstore中

  1. 單擊右下角儲存資料加工(舊版),依次填入圖中所需資訊後點擊確定儲存。

    image

  2. 在左側日誌庫中單擊儲存了加工結果的目標Logstore,在頁面右上方,選擇資料的時間範圍。

    選擇時間範圍後,請確認原始日誌頁簽中是否成功儲存加工結果資料,如圖所示已成功儲存。

    image

附錄:使用內網地址訪問AnalyticDB MySQL或PolarDB MySQL資料庫

Log Service除了支援通過阿里雲內網地址訪問RDS MySQL資料庫外,還支援通過內網地址訪問AnalyticDB MySQL和PolarDB MySQL資料庫。相關配置如下所示:

  • AnalyticDB MySQL資料庫

    設定進階參數配置時,config.vpc.instance_id.your_name的值需配置為AnalyticDB MySQL執行個體ID加-controller,如下圖所示,其餘配置參考此文檔即可。

    ADB

  • PolarDB MySQL資料庫相關配置參考此文檔即可。