Todos os produtos
Search
Central de documentação

:Usar o Filebeat autogerenciado para coletar logs do MySQL

Última atualização: Jun 27, 2026

Este guia descreve como centralizar logs de erro e de consultas lentas do MySQL no Alibaba Cloud Elasticsearch com o Filebeat. Ao final deste tutorial, você visualizará o desempenho e os erros do banco de dados por meio de painéis pré-construídos do Kibana.

Visão geral do fluxo de trabalho

  1. Preparar o ambiente: Configure o Elasticsearch e o ECS.

  2. Configurar o MySQL: Ative o registro de logs no banco de dados de origem.

  3. Implantar o Filebeat: Instale e configure o módulo do MySQL para enviar logs.

  4. Visualize: Use o Kibana para analisar os dados.

Pré-requisitos

Etapa 1: Instale e configure o MySQL

Conecte-se à instância ECS e siga estas etapas para garantir que o MySQL gere logs legíveis pelo Filebeat.

Nota

Este guia usa um usuário comum como exemplo.

  1. Conecte-se à instância ECS.

  2. Instale o MySQL.

    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
    sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
    sudo yum install mysql-server
  3. Ative o registro de logs.

    Nota

    Por padrão, a configuração de arquivos de log no MySQL vem desativada. Ative manualmente essa configuração. Também é possível ativar logs lentos temporários executando um comando do MySQL.

    1. Edite o arquivo /etc/my.cnf para ativar os logs de consultas lentas e de erros.

      sudo vim /etc/my.cnf
    2. Adicione o conteúdo abaixo nas respectivas seções:

      [mysqld]
      log_queries_not_using_indexes = 1
      slow_query_log=on
      slow_query_log_file=/var/log/mysql/slow-mysql-query.log
      long_query_time=0
      
      [mysqld_safe]
      log-error=/var/log/mysql/mysqld.log

      Parâmetro

      Descrição

      log_queries_not_using_indexes

      Defina se o sistema deve registrar consultas sem índices especificados como log de consulta lenta. O valor 1 ativa esse registro. O valor 0 o desativa.

      slow_query_log

      Controla a ativação dos logs de consultas lentas. O valor on habilita os logs. O valor off os desabilita.

      slow_query_log_file

      Especifica o caminho de armazenamento dos logs de consultas lentas.

      long_query_time

      Determina o limiar de tempo para definir um log de consulta lenta. Unidade: segundos. Se o tempo da consulta exceder o limiar, o MySQL gravará a consulta no arquivo especificado por slow_query_log_file.

      Importante

      Para facilitar o teste, este parâmetro está definido como 0. Especifique-o conforme necessário.

  4. Inicialize os arquivos de log.

    O MySQL 5.6+ pode não criar esses arquivos automaticamente. Crie-os e defina as permissões de leitura:

    sudo mkdir /var/log/mysql
    sudo touch /var/log/mysql/mysqld.log
    sudo touch /var/log/mysql/slow-mysql-query.log
    sudo chmod 644 /var/log/mysql/*.log
  5. Inicie o MySQL.

    sudo systemctl start mysqld
    sudo systemctl status mysqld

Etapa 2: Instale e configure o Filebeat

O Filebeat usa um módulo dedicado do MySQL para analisar logs e convertê-los em JSON estruturado antes de enviá-los ao Elasticsearch.

  1. Faça logon no console do Kibana do cluster Elasticsearch.

  2. No painel de navegação à esquerda, clique em Logs.

  3. Clique em View setup instructions.

  4. Na página Add Data to Kibana, clique em MySQL logs.

  5. Na página Self Managed, clique em RPM.

    Nota

    Este tópico usa o sistema operacional Linux. Portanto, a opção RPM está selecionada. Escolha o método de instalação adequado ao seu sistema operacional.

  6. Instale o Filebeat na instância ECS conforme as instruções exibidas.

  7. Configure o módulo do MySQL.

    1. Ative o módulo do MySQL e especifique os caminhos dos logs.

      sudo filebeat modules enable mysql
      sudo vim /etc/filebeat/modules.d/mysql.yml
    2. Atualize a configuração.

      - module: mysql
        # Error logs
        error:
          enabled: true
          var.paths: ["/var/log/mysql/mysqld.log"]
          # Set custom paths for the log files. If left empty,
          # Filebeat will choose the paths depending on your OS.
          #var.paths:
      
        # Slow logs
        slowlog:
          enabled: true
          var.paths: ["/var/log/mysql/slow-mysql-query.log"]
          # Set custom paths for the log files. If left empty,
          # Filebeat will choose the paths depending on your OS.
          #var.paths:

      Parâmetro

      Descrição

      enabled

      Defina este parâmetro como true.

      var.paths

      Configure este parâmetro com o caminho do arquivo de log. O caminho deve ser idêntico ao especificado no arquivo de configuração do MySQL. Para mais informações, consulte Etapa 1: Instale e configure o MySQL.

  8. Configure as definições globais (filebeat.yml).

    1. Abra o arquivo filebeat.yml.

      sudo vim /etc/filebeat/filebeat.yml
    2. Atualize a configuração dos módulos do Filebeat.

      filebeat.config.modules:
        # Glob pattern for configuration loading
        path: /etc/filebeat/modules.d/mysql.yml
      
        # Set to true to enable config reloading
        reload.enabled: true
      
        # Period on which files under path should be checked for changes
        reload.period: 1s
    3. Atualize a configuração do Kibana.

      Modify the configuration of Kibana

      setup.kibana:
      host: "https://es-cn-0pp1jxvcl000*****.kibana.elasticsearch.aliyuncs.com:5601"

      host: URL de acesso ao console do Kibana. Obtenha a URL na página de configuração do Kibana. Para mais informações, consulte Visualize o endpoint público do console do Kibana. Especifique a URL no formato <Endpoint público do console do Kibana>:5601.

    4. Modifique a configuração de saída do Elasticsearch.

      Modify the configuration of the Elasticsearch cluster

      output.elasticsearch:
        # Array of hosts to connect to.
        hosts: ["es-cn-0pp1jxvcl000*****.elasticsearch.aliyuncs.com:9200"]
        # Optional protocol and basic auth credentials.
        #protocol: "https"
        username: "elastic"
        password: "<your_password>"

      Parâmetro

      Descrição

      hosts

      Endpoint do cluster do Alibaba Cloud Elasticsearch. Formato: <Endpoint privado ou público da instância>:9200. Obtenha o endpoint privado ou público do cluster Elasticsearch na página Informações Básicas da instância. Para mais informações, consulte Visualize as informações básicas de uma instância.

      Nota

      Ao usar o endpoint público, garanta que o IP da instância ECS esteja na lista de permissões de IP do Elasticsearch. Para mais informações, consulte Configure uma lista de permissões de endereços IP públicos ou privados para uma instância.

      username

      Nome de usuário para acessar o cluster Elasticsearch. Valor padrão: elastic.

      password

      A senha da instância geralmente é definida durante a criação. Caso tenha esquecido a senha, redefina-a. Para obter instruções, consulte Redefinir a senha de acesso da instância.

  9. Inicialize e inicie o serviço.

    Execute o comando de configuração para carregar painéis pré-construídos e pipelines de ingestão no Elasticsearch e, em seguida, inicie o serviço:

    sudo filebeat setup
    sudo service filebeat start

Etapa 3: Visualize logs no Kibana

Com o Filebeat em execução, os logs são enviados automaticamente para o Elasticsearch.

  1. Reinicie o MySQL para gerar logs de erro ou execute algumas consultas SQL.

    sudo systemctl restart mysqld
  2. Faça logon no console do Kibana do cluster Elasticsearch.

  3. No painel de navegação à esquerda, clique em Dashboard.

  4. Pesquise e selecione [Filebeat MySQL] Overview.

  5. Selecione um intervalo de tempo no canto superior direito e visualize os logs correspondentes.

    View logs