全部產品
Search
文件中心

Simple Log Service:關聯MySQL資料來源

更新時間:Oct 30, 2024

本文介紹如何建立外部儲存,建立Log Service與MySQL資料庫的關聯。

前提條件

  • 已採集資料到Log Service。具體操作,請參見資料擷取

  • 已將資料存放區到阿里雲RDS MySQL資料庫、阿里雲ADB MySQL資料庫或阿里雲ECS上自建的MySQL資料庫。

  • MySQL資料庫在阿里雲VPC內網域內,RDS執行個體、ADB執行個體或ECS執行個體必須與Log ServiceProject處於同一地區。

背景資訊

Log Service外部儲存功能支援Log Service與阿里雲RDS MySQL資料庫、阿里雲ADB MySQL資料庫、在阿里雲ECS上自建的MySQL資料庫關聯,您還可以將查詢分析結果寫入MySQL資料庫中,便於進一步處理結果。

操作步驟

1. 設定白名單

RDS MySQL資料庫

需添加白名單地址100.104.0.0/16、11.194.0.0/16和11.201.0.0/16。更多資訊,請參見設定IP白名單

ECS上自建的MySQL資料庫

需設定安全性群組規則,允許100.104.0.0/16、11.194.0.0/16和11.201.0.0/16網段訪問。具體操作,請參見添加安全性群組規則

ADB MySQL資料庫

需添加白名單地址100.104.0.0/16、11.194.0.0/16和11.201.0.0/16。更多資訊,請參見設定白名單

2. 建立ExternalStore

  1. 安裝Log ServiceCLI

    說明

    阿里雲雲命令列Cloud Shell已經整合Log ServiceCLI,無需部署配置,您也可以直接使用雲命令列管理Log Service資源和下載Log Service資料。

  2. 在命令列執行touch命令,建立設定檔/home/shell/config.json。在config.json中添加如下指令碼。根據實際情況您需要替換regionvpc-idhostportusernamepassworddbtable的值。

    {
        "externalStoreName":"sls_join_meta_store",
        "storeType":"rds-vpc",
        "parameter":{
            "region":"cn-qingdao",
            "vpc-id":"vpc-m5eq4irc1pucp*******",
            "host":"localhost",
            "port":"3306",
            "username":"user",
            "password":"****",
            "db":"scmc",
            "table":"join_meta"
        }
    }

    參數

    說明

    externalStoreName

    ExternalStore名稱,必須小寫。

    storeType

    資料來源類型,固定為rds-vpc

    region

    地區。詳細說明如下:

    • 如果是RDS MySQL資料庫,則配置region為RDS執行個體所在地區。

    • 如果是ADB MySQL資料庫,則配置region為ADB執行個體所在地區。

    • 如果是專用網路下ECS上自建的MySQL資料庫,則配置region為ECS執行個體所在地區。

    重要

    RDS執行個體、ADB執行個體或ECS執行個體必須與Log ServiceProject處於同一地區。

    vpc-id

    VPC ID。詳細說明如下:

    • 如果是專用網路下的RDS MySQL資料庫,則配置vpc-id為RDS執行個體所屬專用網路的ID。

    • 如果是專用網路下的ADB MySQL資料庫,則配置vpc-id為ADB執行個體所屬專用網路的ID。

    • 如果是專用網路下ECS上自建的MySQL資料庫,則配置vpc-id為ECS執行個體所屬專用網路的ID。

    • 如果資料庫host可以通過公網訪問,則vpc-id無需提供。

    host

    資料庫地址。詳細說明如下:

    • 如果是專用網路下的RDS MySQL資料庫,則配置host為RDS執行個體的內網地址(內網網域名稱或內網IP地址)。

    • 如果是專用網路下的ADB MySQL資料庫,則配置host為ADB執行個體的內網地址(內網網域名稱或內網IP地址)。

    • 如果是專用網路下ECS上自建的MySQL資料庫,則配置host為ECS的私網IP地址。

    • 如果資料庫通過公網可以訪問,則配置對應的公網網域名稱或公網IP地址。

    port

    連接埠號碼。詳細說明如下:

    • 如果是RDS MySQL資料庫,則配置port為RDS執行個體的連接埠號碼。

    • 如果是ADB MySQL資料庫,則配置port為ADB執行個體的連接埠號碼。

    • 如果是專用網路下ECS上自建的MySQL資料庫,則配置port為ECS上MySQL的服務連接埠。

    username

    資料庫使用者名稱。

    password

    資料庫密碼。

    db

    資料庫名。

    table

    資料庫表名。

  3. 在命令列執行如下命令,建立ExternalStore。其中project_name為Log ServiceProject名稱,請根據實際情況替換,本文以log-rds-demo為例。

    aliyunlog log create_external_store --project_name="log-rds-demo" --config="file:///home/shell/config.json" 
  4. 查詢ExternalStore資訊。命令執行成功後,無響應訊息。您可以執行aliyunlog log get_external_store --project_name="log-rds-demo" --store_name="sls_join_meta_store" --format-output=json查詢RDS MySQL外部資料來源詳細資料。查詢資訊如下:

    {
     "externalStoreName": "sls_join_meta_store",
     "parameter": {
     "db": "scmc",
     "host": "rm-bp1******rm76.mysql.rds.aliyuncs.com",
     "instance-id": "",
     "port": "3306",
     "region": "cn-qingdao",
     "table": "join_meta",
     "timezone": "",
     "username": "user",
     "vpc-id": "vpc-m5eq4irc1pucp*******"
     },
     "storeType": "rds-vpc"
    }

3. 查詢關聯的MySQL資料

關聯外部資料源後,您可以在Log Service控制台,名為log-rds-demo的Project下,單擊任意Logstore,通過查詢分析語句* | select * from sls_join_meta_store查詢關聯的MySQL資料。

image

相關操作

  • 更新MySQL外部儲存。

    aliyunlog log update_external_store --project_name="log-rds-demo" --config="file:///home/shell/config.json" 
  • 刪除MySQL外部儲存。

    aliyunlog log delete_external_store --project_name="log-rds-demo" --store_name=sls_join_meta_store

相關文檔