O Logtail analisa logs de acesso do NGINX com base na diretiva log_format e coleta logs estruturados para análise multidimensional no Simple Log Service.
Visão geral da solução
No modo de configuração NGINX, o Logtail estrutura o conteúdo do log conforme a diretiva log_format. Antes de iniciar a coleta, configure as diretivas log_format e access_log no arquivo /etc/nginx/nginx.conf. A diretiva log_format define a estrutura do log, enquanto access_log especifica o caminho do arquivo de log.
-
Formato de log e caminho de armazenamento
O exemplo abaixo utiliza os valores padrão de log_format e access_log:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$request_time $request_length ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent"'; access_log /var/log/nginx/access.log main;Campos do log:
Campo
Descrição
remote_addr
Endereço IP do cliente.
remote_user
Nome de usuário do cliente.
time_local
Hora local do servidor, entre colchetes [].
request
URI da solicitação e protocolo HTTP.
request_time
Tempo de processamento da solicitação, em segundos.
request_length
Tamanho total da solicitação, incluindo linha de requisição, cabeçalhos e corpo.
status
Código de status da resposta HTTP.
body_bytes_sent
Tamanho do corpo da resposta em bytes, excluindo cabeçalhos.
http_referer
URL de referência.
http_user_agent
String user-agent do navegador do cliente.
-
Log bruto
Exemplo de entrada de log gerada com o log_format acima:
192.168.1.1 - - [11/Dec/2024:11:21:03 +0800] "GET /nginx-logo.png HTTP/1.1" 0.000 514 200 368 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" Logs coletados em um Logstore: Na página de consulta e análise, cada entrada de log é analisada em pares chave-valor e exibida com metadados como nome da instância, caminho do log e timestamp Unix.
Pré-requisitos
Crie um grupo de máquinas com seus servidores. Criar um grupo de máquinas baseado em identificador personalizado | Criar um grupo de máquinas baseado em endereço IP.
O servidor deve ter conectividade com as portas 80 e 443 dos servidores remotos para que o Logtail envie logs ao Simple Log Service.
O servidor de destino deve gerar novos logs continuamente. O Logtail coleta apenas dados incrementais e ignora arquivos sem atualizações após a aplicação da configuração. Processo de coleta.
Procedimento
Faça login no console do Simple Log Service.
Na seção Projects, clique em no projeto desejado.
Na aba , clique em no Logstore desejado.
No painel de navegação à esquerda, clique em Logtail Configurations e, em seguida, clique em Add Logtail Configuration.
Na página Quick Data Import, selecione .
Na etapa Machine Group Settings, defina Use Case como Host Scenario e Environment como ECS. Mova seu grupo de máquinas (por exemplo, group-ip) de Source Machine Group para Applied Machine Group e clique em Next.
-
Na etapa Logtail Configuration, configure os seguintes parâmetros:
Em Configuration Name, insira um nome para a configuração, como
nginx-logs.Em File Path, insira o caminho do arquivo de log. Por exemplo,
/var/log/nginx/**/access*corresponde a todos os arquivos que começam comaccessno diretório/var/log/nginxe seus subdiretórios.-
Em Processor Configurations, clique em Data Parsing (NGINX Mode). Na aba Processor, insira a configuração log_format do seu arquivo de configuração do NGINX. O SLS extrai os campos automaticamente. Exemplo:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$request_time $request_length ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent"';Em Source Field, insira
content. O SLS gera automaticamente uma expressão regular a partir da configuração e extrai os campos. Mantenha os valores padrão para os demais parâmetros. Coletar logs de texto de servidores.
Na etapa Query, Analysis and Visualization, clique em Refresh para visualizar os dados coletados.
Clique em Next para concluir a configuração. Clique em Query Log para abrir a página de consulta do Logstore. A criação do índice leva cerca de um minuto. Depois disso, visualize os logs na aba Raw Log. Guia de início rápido para consulta e análise.
Referências
Solucione problemas de coleta do Logtail em servidores Linux usando a ferramenta de diagnóstico automático. Como usar a ferramenta de diagnóstico automático do Logtail?
Se a página de visualização ou consulta não exibir dados, consulte O que fazer se ocorrerem erros ao coletar logs com o Logtail?
Para erros de coleta como falhas na análise regex, caminhos de arquivo inválidos ou sobrecarga de shard, consulte Como visualizar erros de coleta do Logtail? e Como solucionar erros comuns na coleta de logs do Simple Log Service?
Por padrão, um arquivo aceita apenas uma configuração do Logtail, mas é possível usar múltiplas configurações. Como coletar várias cópias de logs de um mesmo arquivo?
Servidores em uma intranet corporativa também podem enviar logs para o Simple Log Service. Coletar logs de servidores em uma intranet corporativa.
Para diferenciar logs de servidores com caminhos ou nomes de arquivo idênticos, utilize Machine Group Topic. Para distinguir logs por usuário ou instância, use File Path Extraction.
Para análise de acesso ao site, diagnósticos e configuração de alertas, consulte Coletar e analisar logs de acesso do NGINX.