本文介紹如何建立外部儲存,建立Log Service與PostgreSQL資料庫的關聯。
前提條件
已採集資料到Log Service。具體操作,請參見資料擷取。
已經安裝Log ServiceCLI並且佈建服務入口和存取金鑰。
已將資料存放區到阿里雲RDS PostgreSQL資料庫、阿里雲ADB PostgreSQL資料庫或阿里雲即時數倉Hologres。
PostgreSQL資料庫在阿里雲VPC內網域內,RDS執行個體、ADB執行個體或Hologres執行個體必須與Log ServiceProject處於同一地區。
重要不支援直接使用公網地址串連PostgreSQL資料庫。
背景資訊
Log Service外部儲存功能支援Log Service與阿里雲RDS PostgreSQL資料庫、阿里雲ADB PostgreSQL資料庫或阿里雲即時數倉Hologres關聯,您還可以將查詢分析結果寫入PostgreSQL資料庫中,便於進一步處理結果。
操作步驟
1. 設定白名單
RDS PosrgreSQL資料庫
需添加白名單地址100.104.0.0/16、11.194.0.0/16和11.201.0.0/16。更多資訊,請參見設定白名單。
阿里雲即時數倉Hologres
需添加白名單地址100.104.0.0/16、11.194.0.0/16和11.201.0.0/16。更多資訊,請參見IP白名單。
ADB PostgreSQL資料庫
需添加白名單地址100.104.0.0/16、11.194.0.0/16和11.201.0.0/16。更多資訊,請參見設定白名單。
2. 建立ExternalStore
登入安裝CLI所在的伺服器,在命令列執行
touch命令,建立設定檔/home/shell/config.json。在config.json中添加如下指令碼。根據實際情況您需要替換region、vpc-id、host、port、username、password、db和table的值。參數說明
樣本
{ "externalStoreName":"sls_join_meta_store", "storeType":"postgresql", "parameter":{ "region":"cn-qingdao", "vpc-id":"vpc-m5eq4irc1pucp*******", "host":"localhost", "port":"3306", "username":"user", "password":"****", "db":"scmc", "table":"join_meta" } }externalStoreNameExternalStore名稱,必須小寫。
storeType資料來源類型,固定為postgresql。
region地區,比如cn-wulanchabu、cn-hangzhou
重要RDS執行個體、Hologres執行個體或者ADB執行個體必須與Log ServiceProject處於同一地區。
vpc-idVPC ID。詳細說明如下:
如果是專用網路下的RDS PostgreSQL資料庫,則配置vpc-id為RDS執行個體所屬專用網路的ID。
如果是專用網路下的ADB PostgreSQL資料庫,則配置vpc-id為ADB執行個體所屬專用網路的ID。
如果是專用網路下阿里雲Hologres資料庫,則配置vpc-id為阿里雲Hologres所屬專用網路的ID。
host資料庫內網地址。
port資料庫執行個體連接埠號碼。
username資料庫使用者名稱。
password資料庫密碼。
db資料庫名。
table資料庫表名,支援兩種格式:
table_name,例如test。
schema_name.table_name,例如public.test。
在命令列執行如下命令,建立ExternalStore。其中project_name為Log ServiceProject名稱,請根據實際情況替換,本文以
log-rds-demo為例。aliyunlog log create_external_store --project_name="log-rds-demo" --config="file:///home/shell/config.json"查詢ExternalStore資訊。命令執行成功後,無響應訊息。您可以執行
aliyunlog log get_external_store --project_name="log-rds-demo" --store_name="sls_join_meta_store" --format-output=json查詢RDS PostgreSQL外部資料來源詳細資料。查詢資訊如下:{ "externalStoreName": "sls_join_meta_store", "parameter": { "db": "postgres", "host": "rm-bp1******rm76.pg.rds.aliyuncs.com", "port": "5432", "region": "cn-wulanchabu", "table": "test", "timezone": "", "username": "user", "vpc-id": "vpc-m5eq4irc1pucp*******" }, "storeType": "postgresql" }
3. 查詢關聯的PostgreSQL資料
關聯外部資料源後,您可以在Log Service控制台,名為log-rds-demo的Project下,單擊任意LogStore,通過查詢分析語句* | select * from sls_join_meta_store查詢關聯的PostgreSQL資料。

相關操作
更新PostgreSQL外部儲存。
aliyunlog log update_external_store --project_name="log-rds-demo" --config="file:///home/shell/config.json"刪除PostgreSQL外部儲存。
aliyunlog log delete_external_store --project_name="log-rds-demo" --store_name=sls_join_meta_store