Todos os produtos
Search
Central de documentação

Simple Log Service:Coletar resultados de consultas do PostgreSQL

Última atualização: Jul 03, 2026

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).

    Importante

    Certifique-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

  1. Faça login no console do Simple Log Service.

  2. Na seção Import Data, selecione Custom Data Plug-in.

  3. Selecione o projeto e o Logstore de destino e clique em Next.

  4. Na etapa Machine Group Configurations, configure um grupo de máquinas.

    1. Configure os parâmetros Scenario e Installation Environment conforme necessário.

      Importante

      Configure 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.

    2. 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.

      image

      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.

      Importante

      Se 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?

  5. 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.

      Importante

      Especifique 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.

    Importante

    Se 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.

    Aviso

    Os 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: int e time. O tipo int é armazenado como int64. O tipo time suporta 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.

  6. 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.

    Importante

    Para 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.

  7. 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

  1. Faça login no servidor onde o Logtail está instalado.

  2. Abra o arquivo /usr/local/ilogtail/user_log_config.json, pesquise por service_pgsql e modifique campos como Address, User e Password.

  3. Execute o comando abaixo para reiniciar o Logtail.

    sudo /etc/init.d/ilogtaild stop; sudo /etc/init.d/ilogtaild start

Windows

  1. Faça login no servidor onde o Logtail está instalado.

  2. 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.

  3. Reinicie o Logtail:

    1. Acesse Start Menu > Control Panel > Administrative Tools > Services.

    2. 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.

    3. 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 id iguais a 14, 15 e 16; valores de count iguais a 1, 2 e 3; valores de alarmtype iguais a NO_ALARM; e um valor de ip igual a 10.10.***.***.