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

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay