Crie um external store para associar o SLS a um banco de dados PostgreSQL.
Pré-requisitos
Dados coletados no SLS. Coleta de dados.
CLI do SLS instalada e endpoint do serviço e par de AccessKey configurados.
Dados armazenados em uma instância do Alibaba Cloud RDS for PostgreSQL, ADB for PostgreSQL ou Hologres.
-
Banco de dados PostgreSQL em uma VPC. A instância do RDS, ADB ou Hologres deve estar na mesma região do projeto SLS.
ImportanteConexões PostgreSQL não suportam endpoints de internet.
Informações básicas
Os external stores do SLS permitem associar o SLS a uma instância do RDS for PostgreSQL, ADB for PostgreSQL ou Hologres. Você pode gravar resultados de consultas e análises em um banco de dados PostgreSQL para processamento adicional.
Procedimento
1. Configure uma lista de permissões
Banco de dados RDS for PostgreSQL
Adicione os seguintes blocos CIDR à lista de permissões: 100.104.0.0/16, 11.194.0.0/16 e 11.201.0.0/16. Defina uma lista de permissões.
Alibaba Cloud Hologres
Adicione os seguintes blocos CIDR à lista de permissões: 100.104.0.0/16, 11.194.0.0/16 e 11.201.0.0/16. Lista de permissões de IP.
Banco de dados ADB for PostgreSQL
Adicione os seguintes blocos CIDR à lista de permissões: 100.104.0.0/16, 11.194.0.0/16 e 11.201.0.0/16. Configure uma lista de permissões.
2. Crie um ExternalStore
-
Faça login no servidor da CLI. Execute
touchpara criar o arquivo /home/shell/config.json. Adicione o conteúdo abaixo ao arquivo config.json e substitua os valores deregion,vpc-id,host,port,username,password,dbetablepelos seus próprios valores.Descrição dos parâmetros
Exemplo
{ "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" } }externalStoreNameNome do ExternalStore. Use apenas letras minúsculas.
storeTypeTipo da fonte de dados. Defina como postgresql.
regionRegião, como cn-wulanchabu ou cn-hangzhou.
ImportanteA instância do RDS, Hologres ou ADB deve estar na mesma região do projeto SLS.
vpc-idID da VPC do banco de dados. Varia conforme o tipo de banco:
-
RDS for PostgreSQL: defina vpc-id como o ID da VPC da instância.
-
ADB for PostgreSQL: defina vpc-id como o ID da VPC da instância.
-
Hologres: defina vpc-id como o ID da VPC da instância.
hostEndpoint interno do banco de dados.
portPorta do banco de dados.
usernameNome de usuário do banco de dados.
passwordSenha do banco de dados.
dbNome do banco de dados.
tableNome da tabela do banco de dados. Formatos suportados:
-
table_name, por exemplo, test.
-
schema_name.table_name, por exemplo, public.test.
-
-
Execute o comando a seguir para criar um ExternalStore. Substitua project_name pelo nome do seu projeto SLS. Este exemplo usa
log-rds-demo.aliyunlog log create_external_store --project_name="log-rds-demo" --config="file:///home/shell/config.json" -
Se o comando for bem-sucedido, nenhuma resposta será retornada. Execute
aliyunlog log get_external_store --project_name="log-rds-demo" --store_name="sls_join_meta_store" --format-output=jsonpara verifique. Saída esperada:{ "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. Consultar os dados do PostgreSQL
No console do SLS, abra o projeto log-rds-demo, selecione qualquer Logstore e execute * | select * from sls_join_meta_store para consultar a fonte de dados PostgreSQL.
A consulta retorna duas linhas da tabela de dimensões: ID 123 (nome: Bob) e ID 124 (nome: Lucy).
Operações relacionadas
-
Atualize o external store do PostgreSQL.
aliyunlog log update_external_store --project_name="log-rds-demo" --config="file:///home/shell/config.json" -
Exclua o external store do PostgreSQL.
aliyunlog log delete_external_store --project_name="log-rds-demo" --store_name=sls_join_meta_store