DEV Community 👩‍💻👨‍💻

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

Top comments (0)

We are hiring! Do you want to be our Senior Platform Engineer? Are you capable of chipping in across sysadmin, ops, and site reliability work, while supporting the open source stack that runs DEV and other communities?

This role might just be for you!

Apply now