Todos os produtos
Search
Central de documentação

Simple Log Service:Coletar, consultar e analisar logs de monitoramento do Nginx

Última atualização: Jul 03, 2026

Ative o módulo stub_status do Nginx para expor métricas em tempo real, como conexões ativas e estados de leitura, escrita e espera. Em seguida, use um plug-in do Logtail para coletar e analisar logs de monitoramento do Nginx e garantir a observabilidade contínua do desempenho do cluster.

Pré-requisitos

Instale o Logtail no servidor. Instalar o Logtail (Linux) | Instalar o Logtail (Windows).

Nota

Este recurso requer o Logtail v0.16.0 ou posterior para Linux e o Logtail v1.0.0.8 ou posterior para Windows.

Etapa 1: Configurar o módulo stub_status

Nota

Este exemplo usa o sistema operacional Linux.

  1. Instale e reinicie o Nginx.

    sudo yum install -y nginx
    sudo systemctl restart nginx
  2. Verifique se o Nginx oferece suporte ao módulo stub_status.

    nginx -V 2>&1 | grep -o with-http_stub_status_module

    Saída esperada:

    with-http_stub_status_module
  3. Configure o servidor Nginx.

    1. Adicione o código abaixo ao bloco server {..} no arquivo de configuração do Nginx. Consulte o tutorial da página de status do Nginx para obter detalhes sobre o nginx_status.

      location /nginx_status {
          stub_status on;    # Enable the stub_status module.
          access_log   off;
          allow ${YOUR_SERVER_IP};   # The IP address of the server that is allowed to access the page.
          deny all;          # Deny access from all other IP addresses to this status page.
       }
    2. Valide a configuração.

      nginx -t
      sudo systemctl restart nginx
      curl http://${YOUR_SERVER_IP}/nginx_status

      Saída esperada em caso de sucesso:

      Active connections: 1
      server accepts handled requests
      2507455 2507455 2512972
      Reading: 0 Writing: 1 Waiting: 0                       

Etapa 2: Coletar logs de monitoramento do Nginx

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

  2. No lado direito da página exibida, clique em Quick Data Import.

    image

  3. Na página Data Import, clique em Custom Data Plug-in.

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

  5. Crie um grupo de máquinas.

  6. Confirme se o grupo de máquinas aparece na seção Applied Server Groups e clique em Next.

    Importante

    Ao aplicar um grupo de máquinas logo após sua criação, o status de heartbeat pode 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. Se o problema persistir, consulte O que fazer se nenhuma conexão de heartbeat for detectada no Logtail?

  7. Na aba Data source settings, cole o código abaixo em Plug-in configuration, substitua ${YOUR_SERVER_IP} pelo endereço IP do servidor e clique em Next.

    {
    "inputs": [
     {
          "type": "metric_http",
          "detail": {
              "IntervalMs": 60000,
              "Addresses": [
                  "http://${YOUR_SERVER_IP}/nginx_status"
              ],
              "IncludeBody": true
          }
     }
    ],
    "processors": [
     {
          "type": "processor_regex",
          "detail": {
              "SourceKey": "content",
              "Regex": "Active connections: (\\d+)\\s+server accepts handled requests\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+Reading: (\\d+) Writing: (\\d+) Waiting: (\\d+)[\\s\\S]*",
              "Keys": [
                  "connection",
                  "accepts",
                  "handled",
                  "requests",
                  "reading",
                  "writing",
                  "waiting"
              ],
              "FullMatch": true,
              "NoKeyError": true,
              "NoMatchError": true,
              "KeepSource": false
          }
     }
    ]
    }                                
    • O campo inputs é obrigatório e define as configurações da fonte de dados para a configuração do Logtail.

      Importante

      É possível especificar apenas um tipo de fonte de dados em inputs.

    • O campo processors é opcional e serve para configurar o processamento de dados na configuração do Logtail, permitindo a análise das informações. Defina um ou mais métodos de processamento.

      Se os logs não puderem ser analisados apenas com a configuração de inputs, configure processors no campo Plug-in Configuration para adicionar plug-ins 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 Plug-ins do Logtail para processamento de dados.

    Principais parâmetros:

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    type

    string

    Sim

    Tipo da fonte de dados. Valor fixo: metric_http.

    IntervalMs

    int

    Sim

    Intervalo entre requisições, em milissegundos.

    Addresses

    Array

    Sim

    URLs a serem monitoradas.

    IncludeBody

    boolean

    Não

    Indica se o corpo da requisição deve ser coletado. Padrão: false. Quando definido como true, o corpo é armazenado no campo content.

Os logs começam a aparecer aproximadamente um minuto após a configuração. O Simple Log Service gera automaticamente um painel nginx_status para consulta e análise dos resultados. Exemplo de log:

_address_: http://127.0.0.1/nginx_status
_method_: GET
_result_: success
_http_response_code_: 200
_response_time_ms_: 0.418
accepts: 6
connection: 3
handled: 6
reading: 0
requests: 6
waiting: 2
writing: 1

Etapa 3: Consultar e analisar logs

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

  2. Na seção Projects, clique em projeto desejado.

    image

  3. Na aba Log Storage > Logstores, clique em Logstore desejado.

    image

  4. Insira uma instrução de consulta e análise e clique em Last 15 minutes para definir o intervalo de tempo da consulta.

    Para mais informações, consulte Etapa 1: Configurar índices.

    • Consultar logs

      • Buscar um endereço IP específico.

        _address_: 10.10.0.0
      • Filtrar requisições com tempo de resposta superior a 100 ms.

        _response_time_ms_ > 100
      • Identificar respostas diferentes de 200.

        not _http_response_code_ : 200
    • Analisar logs

      • Calcular a média dos valores de waiting, reading, writing e connection a cada 5 minutos.

        *| select  avg(waiting) as waiting, avg(reading)  as reading,  avg(writing)  as writing,  avg(connection)  as connection,  from_unixtime( __time__ - __time__ % 300) as time group by __time__ - __time__ % 300 order by time limit 1440                       
      • Listar os 10 principais servidores por conexões em espera.

        *| select  max(waiting) as max_waiting, _address_, from_unixtime(max(__time__)) as time group by address order by max_waiting desc limit 10                        
      • Contar endereços IP únicos.

        * | select  count(distinct(_address_)) as total                       
      • Quantificar IPs únicos com falhas nas requisições.

        not _result_ : success | select  count(distinct(_address_))                        
      • Exibir os 10 IPs mais recentes com requisições falhas.

        not _result_ : success | select _address_ as address, from_unixtime(__time__) as time  order by __time__ desc limit 10                       
      • Total de requisições a cada 5 minutos.

        *| select  avg(handled) * count(distinct(_address_)) as total_handled, avg(requests) * count(distinct(_address_)) as total_requests,  from_unixtime( __time__ - __time__ % 300) as time group by __time__ - __time__ % 300 order by time limit 1440                       
      • Latência média das requisições a cada 5 minutos.

        *| select  avg(_response_time_ms_) as avg_delay,  from_unixtime( __time__ - __time__ % 300) as time group by __time__ - __time__ % 300 order by time limit 1440                      
      • Contabilizar requisições com falha e com sucesso.

        not _http_response_code_ : 200  | select  count(1)                     
        _http_response_code_ : 200  | select  count(1)