DEV Community

Beatriz Oliveira for Sysadminas

Posted on

Como coletar logs do NGINX com o Filebeat

O que é o NGINX?

O NGINX é um servidor web open source que também pode ser utilizado como load balancer HTTP, proxy de e-mail (IMAP, POP3 e SMTP) e também como proxy reverso.

Para conhecer mais sobre o projeto, acesse a sua página oficial aqui.

Utilizando o Filebeat para coletar os logs do NGINX

Ao utilizar o módulo NGINX do Filebeat você consegue coletar e analisar os logs de erro e acesso que são criados pelo NGINX.
Para saber mais sobre esse módulo, acesse a documentação aqui

Instalação e configuração do Filebeat

  • Instale o Filebeat:

Windows: PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-filebeat.ps1
Linux: sudo rpm -vi filebeat-7.10.1-x86_64.rpm

  • Acesse o arquivo de configuração do Filebeat:

Windows: C:\Program Files\Filebeat\filebeat.yml
Linux: /etc/filebeat/filebeat.yml

Insira nele as informações de conexão com o Elasticsearch e com o Kibana:

output.elasticsearch:
  hosts: ["url_do_elasticsearch:9200"]
setup.kibana:
  host: ["url_do_kibana:5601"]
Enter fullscreen mode Exit fullscreen mode
  • Habilite e configure o módulo :
    Windows: .\filebeat.exe modules enable nginx
    Linux: sudo filebeat modules enable nginx

  • Habilite e configure o módulo :
    Windows: .\filebeat.exe modules enable nginx
    Linux: sudo filebeat modules enable nginx

  • Para modificar as configurações do módulo, altere o arquivo nginx.yml:

Windows: modules.d/nginx.yml
Linux: /etc/filebeat/modules.d/nginx.yml

Por padrão, o arquivo vem com as seguintes informações e é aqui que você especifica o caminho para o seu diretório de logs:

# Module: nginx
# Docs: https://www.elastic.co/guide/en/beats/filebeat/7.10/filebeat-module-nginx.html
- module: nginx
  # Access logs
  access:
    enabled: true
# Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    #var.paths: ["/diretório/do/log/nginx/access.log*"]
# Error logs
  error:
    enabled: true
# Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    #var.paths: ["/diretório/do/log/nginx/error.log*"]
# Ingress-nginx controller logs. This is disabled by default. It could be used in Kubernetes environments to parse ingress-nginx logs
  ingress_controller:
    enabled: false
# Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    #var.paths: ["/diretório/do/log/nginx/ingress.log"]
Enter fullscreen mode Exit fullscreen mode
  • Carregue os dashboards do módulo:

Windows: .\filebeat.exe setup
Linux: sudo filebeat setup

  • Inicie o serviço do Filebeat:

Windows: Start-Service filebeat
Linux: sudo service filebeat start

Depois disso, você conseguirá ver os logs do seu ambiente no discover, além de ter dashboards com informações e métricas do seu NGINX.

Alt Text

Top comments (0)