Forem

Beatriz Oliveira for Sysadminas

Posted on

Como coletar logs de erro e queries lentas do MySQL com o Filebeat

O que é o MySQL?

O MySQL é um sistema de gerenciamento de base de dados relacional que usa a linguagem SQL (Structured Query Language). Ele é open source e é desenvolvido e suportado pela Oracle. 

Para conhecer mais sobre ele, acesse o site oficial do projeto nesse link.

Sobre o módulo MySQL do Filebeat

O módulo MySQL do Filebeat coleta os logs de erro e também de queries lentas que são criados pelo MySQL. É de extrema importância identificar essas informações de uma maneira rápida e eficiente para evitar que se tenha problemas com performance no seu ambiente. 

Para saber mais sobre o módulo, acesse a documentação oficial no nesse link.

Instalação e configuração do Filebeat

  • Para instalar o Filebeat nos hosts, siga os passos descritos abaixo.

Faça o download do Filebeat nesse link.

  • 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 mysql
    Linux: sudo filebeat modules enable mysql

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

Windows: modules.d/mysql.yml
Linux: /etc/filebeat/modules.d/mysql.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: mysql
# Docs: https://www.elastic.co/guide/en/beats/filebeat/7.10/filebeat-module-mysql.html
- module: mysql
  # 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: ["/path/to/log/mysql/error.log*"]
# Slow logs
  slowlog:
    enabled: true
# Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    #var.paths: ["/path/to/log/mysql/error.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 dos logs de erro e lentos do seu MySQL.

Alt Text

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Community—every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple “thank you” goes a long way—express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay