Crie uma configuração do Logtail no console do Log Service para coletar resultados de consultas do PostgreSQL.
Pré-requisitos
-
Instale o Logtail 0.16.0 ou posterior (Linux) ou o Logtail 1.0.0.8 ou posterior (Windows) em um servidor. Para mais informações, consulte Instalar o Logtail (Linux) ou Instalar o Logtail (Windows).
ImportanteCertifique-se de que o servidor com o Logtail instalado consiga se conectar ao banco de dados de destino.
-
Adicione o endereço IP do servidor onde o Logtail está instalado à lista de permissões do banco de dados PostgreSQL.
Por exemplo, para configurar uma lista de permissões para um banco de dados RDS for PostgreSQL, consulte Configurar uma lista de permissões.
Recursos
Coleta resultados de consultas de um banco de dados PostgreSQL.
Oferece suporte a paginação.
Permite definir o fuso horário.
Permite configurar o tempo limite.
Mantém a persistência do estado do checkpoint.
Permite configurar o número máximo de registros coletados por execução.
Procedimento
Faça login no console do Simple Log Service.
Na seção Import Data, selecione Custom Data Plug-in.
Selecione o projeto e o Logstore de destino e clique em Next.
-
Na etapa Machine Group Configurations, configure um grupo de máquinas.
-
Configure os parâmetros Scenario e Installation Environment conforme necessário.
ImportanteConfigure os parâmetros Scenario e Installation Environment mesmo que nenhum grupo de máquinas esteja disponível. Essas definições afetam as configurações subsequentes.
-
Verifique se um grupo de máquinas aparece na seção Applied Server Groups e clique em Next.
Grupo de máquinas disponível
Selecione um grupo de máquinas na seção Source Machine Group.

Nenhum grupo de máquinas disponível
Clique em Create Machine Group. No painel Create Machine Group, configure os parâmetros. Defina o parâmetro Machine Group Identifier como IP Address ou Custom Identifier. Para mais informações, consulte Criar um grupo de máquinas baseado em identificador personalizado ou Criar um grupo de máquinas baseado em endereço IP.
ImportanteSe você aplicar um grupo de máquinas logo após criá-lo, o status de heartbeat poderá aparecer como FAIL. Isso ocorre porque o grupo ainda não estabeleceu conexão com o Simple Log Service. Para resolver, clique em Automatic Retry. Caso o problema persista, consulte O que fazer se nenhuma conexão de heartbeat for detectada no Logtail?
-
-
Na aba Configure Data Source, defina Configuration Name e Plug-in Configuration e clique em Next.
-
O campo inputs é obrigatório e define as configurações da source de dados para a configuração do Logtail.
ImportanteEspecifique apenas um tipo de source de dados em inputs.
-
O campo processors é opcional e configura o processamento de dados na configuração do Logtail para analisar os dados. Especifique um ou mais métodos de processamento.
Se os logs não puderem ser analisados apenas com a definição de inputs, configure processors no campo Plug-in Configuration para adicionar plugins de processamento de dados. Exemplos incluem extração de campos, extração de horário do log, mascaramento de dados e filtragem de logs. Para mais informações, consulte Plugins do Logtail para processamento de dados.
{ "inputs": [ { "type": "service_pgsql", "detail": { "Address": "pgm-****.pg.rds.aliyuncs.com", "User": "****", "Password": "*******", "DataBase": "****", "Limit": true, "PageSize": 100, "StateMent": "select * from specialalarmtest where id > $1 order by id", "CheckPoint": true, "CheckPointColumn": "id", "CheckPointStart": "0", "CheckPointSavePerPage": true, "CheckPointColumnType": "int", "IntervalMs": 1000 } } ] }Parâmetro
Tipo
Obrigatório
Descrição
type
string
Sim
Tipo da source de dados. Defina o valor como service_pgsql.
Address
string
Não
Endpoint do banco de dados PostgreSQL. Exemplo:
pgm-****.pg.rds.aliyuncs.com.Valor padrão: 127.0.0.1:5432.
User
string
Não
Nome de usuário do banco de dados PostgreSQL.
Valor padrão: root.
Password
string
Não
Senha do usuário especificado. Se não configurada, nenhuma senha será usada.
Para credenciais sensíveis, recomendamos definir o nome de usuário e a senha como
xxx. Após sincronizar a configuração do Logtail para a máquina local, localize-a no arquivo /usr/local/ilogtail/user_log_config.json e atualize-a. Para mais informações, consulte Modificar uma configuração local.ImportanteSe este parâmetro for modificado no console, a alteração substituirá a configuração local durante a sincronização.
DataBase
string
Não
Nome do banco de dados PostgreSQL.
DialTimeOutMs
int
Não
Tempo limite de conexão com o banco de dados PostgreSQL. Unidade: milissegundos (ms).
Valor padrão: 5.000 ms.
ReadTimeOutMs
int
Não
Tempo limite de leitura dos resultados da consulta no banco de dados PostgreSQL. Unidade: ms.
Valor padrão: 5.000 ms.
StateMent
string
Não
Instrução SELECT.
Se CheckPoint estiver definido como true, a cláusula WHERE da instrução SELECT em StateMent deve incluir a coluna de checkpoint (parâmetro CheckPointColumn) e definir seu valor como $1. Exemplo: Se CheckPointColumn for definido como id, defina StateMent como
SELECT * from ... where id > $1.Limit
boolean
Não
Indica se LIMIT deve ser usado para paginação.
Valor padrão: false (paginação desativada).
Recomendamos ativar a paginação. Se Limit for definido como true, uma cláusula LIMIT será anexada automaticamente a StateMent durante a execução da consulta SQL.
PageSize
int
Não
Tamanho da página. Obrigatório quando Limit estiver definido como true.
MaxSyncSize
int
Não
Número máximo de registros coletados por execução.
Valor padrão: 0 (sem limite).
CheckPoint
boolean
Não
Indica se um checkpoint deve ser utilizado.
Valor padrão: false.
CheckPointColumn
string
Não
Nome da coluna de checkpoint.
Este parâmetro é obrigatório quando CheckPoint estiver definido como true.
AvisoOs valores nesta coluna devem ser incrementais. Caso contrário, pode ocorrer perda de dados durante a coleta. O valor máximo de cada resultado de consulta serve como entrada para a próxima consulta.
CheckPointColumnType
string
Não
Tipo de dados da coluna de checkpoint. Valores válidos:
intetime. O tipointé armazenado como int64. O tipotimesuporta tipos de dados de tempo do PostgreSQL.Este parâmetro é obrigatório quando CheckPoint estiver definido como true.
CheckPointStart
string
Não
Valor inicial do checkpoint.
Este parâmetro é obrigatório quando CheckPoint estiver definido como true.
CheckPointSavePerPage
boolean
Não
Define se o checkpoint deve ser salvo após a coleta de cada página.
-
true: Salva o checkpoint após cada página.
-
false: Salva o checkpoint após cada ciclo de coleta.
IntervalMs
int
Sim
Intervalo de coleta. Unidade: ms.
-
-
Crie índices e visualize os dados. Em seguida, clique em Next. Por padrão, a indexação de texto completo está ativada no Simple Log Service. Também é possível criar manualmente índices de campo para os logs coletados ou clicar em Automatic Index Generation para que o Simple Log Service gere os índices de campo automaticamente. Para mais informações, consulte Criar índices.
ImportantePara consultar todos os campos nos logs, recomendamos o uso de índices de texto completo. Se precisar consultar apenas campos específicos, utilize índices de campo para reduzir o tráfego de indexação. A análise de campos exige a criação de índices de campo e a inclusão de uma instrução SELECT na consulta de análise.
-
Clique em Query Log para acessar a página Query & Analysis do Logstore.
Aguarde cerca de um minuto para que os índices entrem em vigor. Depois disso, visualize os logs coletados na aba Raw Logs. Para mais informações, consulte Guia de início rápido para consulta e análise de logs.
Modificar uma configuração local
Se valores reais não foram inseridos para parâmetros como Address, User e Password em Plug-in Configuration, modifique-os manualmente após aplicar a configuração do Logtail no servidor.
Linux
Faça login no servidor onde o Logtail está instalado.
Abra o arquivo /usr/local/ilogtail/user_log_config.json, pesquise por service_pgsql e modifique campos como Address, User e Password.
-
Execute o comando abaixo para reiniciar o Logtail.
sudo /etc/init.d/ilogtaild stop; sudo /etc/init.d/ilogtaild start
Windows
Faça login no servidor onde o Logtail está instalado.
-
Abra o arquivo C:\Program Files\Alibaba\Logtail\user_log_config.json, pesquise por service_pgsql e modifique campos como Address, User e Password.
O caminho do arquivo varia entre sistemas operacionais Windows de 64 bits e 32 bits. Para mais informações, consulte Caminhos de arquivos.
-
Reinicie o Logtail:
Acesse .
-
Na caixa de diálogo Services, selecione o serviço que deseja gerenciar.
Para Logtail V0.x.x.x, selecione LogtailWorker.
Para Logtail V1.0.0.0 ou posterior, selecione LogtailDaemon.
Clique com o botão direito no serviço e selecione Start, Stop ou Restart.
Solução de problemas
Se nenhum dado aparecer na página de visualização ou consulta após configurar o Logtail para coletar logs, consulte Solucionar falhas na coleta do Logtail.
Tabela de banco de dados e logs de exemplo
O exemplo a seguir mostra um esquema de tabela PostgreSQL e os logs coletados pelo Logtail.
-
Esquema de tabela de exemplo
// Create a table. CREATE TABLE IF NOT EXISTS specialalarmtest ( id BIGSERIAL NOT NULL, time TIMESTAMP NOT NULL, alarmtype varchar(64) NOT NULL, ip varchar(16) NOT NULL, COUNT INT NOT NULL, PRIMARY KEY (id) ); // Insert data. insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 0); insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 1); insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 2); insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 3); Logs de exemplo: Após a inserção dos dados, uma consulta de log retorna três registros com valores de
idiguais a 14, 15 e 16; valores decountiguais a 1, 2 e 3; valores dealarmtypeiguais aNO_ALARM; e um valor deipigual a10.10.***.***.