Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

4 Monitorar o MySQL com o Zabbix agent 2

Introdução

Esta página orienta você nas etapas necessárias para iniciar o monitoramento básico de um servidor MySQL.

Para monitorar um servidor MySQL, existem várias abordagens: agent Zabbix, agent Zabbix 2 ou o padrão Open Database Connectivity (ODBC). O foco principal deste guia é o monitoramento de um servidor MySQL com o agent Zabbix 2, que é a abordagem recomendada devido à sua configuração simplificada em diferentes ambientes. No entanto, esta página também oferece instruções para as outras abordagens, portanto, sinta-se à vontade para escolher a que melhor se adapta às suas necessidades.

Para quem é este guia

Este guia foi desenvolvido para novos usuários do Zabbix e contém o conjunto mínimo de etapas necessárias para habilitar o monitoramento básico de um servidor MySQL. Se você procura opções de personalização avançadas ou precisa de uma configuração mais avançada, consulte a seção Configuração do manual do Zabbix.

Pré-requisitos

Antes de prosseguir com este guia, você precisa baixar e instalar o Zabbix server, o Zabbix frontend e o Zabbix agent 2 de acordo com as instruções para o seu sistema operacional.

Com base na sua configuração, algumas das etapas deste guia podem ser ligeiramente diferentes. Este guia é baseado na seguinte configuração:

  • Versão do Zabbix: Zabbix 7.2 PRE-RELEASE (instalado a partir de pacotes)
  • Distribuição do SO: Ubuntu
  • Versão do SO: 22.04 (Jammy)
  • Componentes do Zabbix: Server, Frontend, Agent 2
  • Banco de dados: MySQL
  • Servidor web: Apache

Criar usuário MySQL

Para monitorar um servidor MySQL, o Zabbix requer acesso a ele e seus processos. Sua instalação do MySQL já possui um usuário com o nível de acesso necessário (o usuário "zabbix" que foi criado ao instalar o Zabbix), no entanto, esse usuário possui mais privilégios do que o necessário para um monitoramento simples (privilégios para DROP de bancos de dados, DELETE de entradas de tabelas, etc.). Portanto, um usuário MySQL para o propósito de apenas monitorar o servidor MySQL precisa ser criado.

1. Conecte-se ao cliente MySQL, crie um usuário "zbx_monitor" (substitua <password> para o usuário "zbx_monitor" por uma senha de sua escolha), e GRANT os privilégios necessários ao usuário:

mysql -u root -p
       # Digite a senha:
       
       mysql> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';
       mysql> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
       mysql> quit;

Depois que o usuário for criado, você pode passar para a próxima etapa.

Configure o frontend do Zabbix

1. Faça login no frontend do Zabbix.

2. Crie um host na interface web do Zabbix:

  • No campo Nome do host, insira um nome de host (por exemplo, "Servidor MySQL").
  • No campo Templates, digite ou selecione o template "MySQL by Zabbix agent 2" que será vinculado ao host.
  • No campo Grupos de hosts, digite ou selecione um grupo de hosts (por exemplo, "Databases").
  • No campo Interfaces, adicione uma interface do tipo "Agent" e especifique o endereço IP do seu servidor MySQL. Este guia utiliza "127.0.0.1" (localhost) para monitorar um servidor MySQL que está instalado na mesma máquina que o Zabbix server e o Zabbix agent 2.

  • Na guia Macros, alterne para Macros herdadas e do host, procure as seguintes macros e clique em Alterar ao lado do valor da macro para atualizá-lo:

3. Clique em Adicionar para adicionar o host. Este host representará seu servidor MySQL.

Visualizar métricas coletadas

Parabéns! Neste ponto, o Zabbix já está monitorando seu servidor MySQL.

Para visualizar as métricas coletadas, navegue até a seção de menu Monitoramento → Hosts e clique em Dashboards ao lado do host.

Esta ação o levará ao dashboard do host (configurado no nível do template) com as métricas mais importantes coletadas do servidor MySQL.

Alternativamente, a partir da seção de menu Monitoramento → Hosts, você pode clicar em Últimos dados para visualizar todas as métricas coletadas mais recentes em uma lista. Observe que o item MySQL: Calculated value of innodb_log_file_size deve estar sem dados, pois o valor será calculado a partir dos dados da última hora.

Configure alertas de problemas

O Zabbix pode notificá-lo sobre um problema em sua infraestrutura usando vários métodos. Este guia fornece etapas básicas de configuração para o envio de alertas por e-mail.

1. Navegue até Configurações do usuário → Perfil, alterne para a guia Mídia e adicione seu e-mail.

2. Siga o guia para Receber uma notificação de problema.

Da próxima vez que o Zabbix detectar um problema, você deverá receber um alerta por e-mail.

Teste sua configuração

Para testar sua configuração, podemos simular um problema real atualizando a configuração do host no frontend do Zabbix.

1. Abra a configuração do host do seu servidor MySQL no Zabbix.

2. Mude para a aba Macros e selecione Macros herdadas e do host.

3. Clique em Alterar ao lado, por exemplo, do valor da macro {$MYSQL.USER} configurado anteriormente e defina um nome de usuário MySQL diferente.

4. Clique em Atualizar para atualizar a configuração do host.

5. Em alguns instantes, o Zabbix detectará o problema "MySQL: Service is down", pois não conseguirá se conectar ao servidor MySQL. O problema aparecerá em Monitoramento → Problemas.

Se os alertas estiverem configurados, você também receberá a notificação do problema.

6. Altere o valor da macro de volta ao valor anterior para resolver o problema e continuar monitorando o servidor MySQL.

Outras abordagens para monitorar o MySQL

Em vez de monitorar um servidor MySQL com o Zabbix agent 2, você também pode usar o Zabbix agent ou o padrão Open Database Connectivity (ODBC). Embora o uso do Zabbix agent 2 seja recomendado, pode haver algumas configurações que não suportam o Zabbix agent 2 ou exigem uma abordagem personalizada.

A principal diferença entre o Zabbix agent e o ODBC está no método de coleta de dados - o Zabbix agent é instalado diretamente no servidor MySQL e coleta dados usando sua funcionalidade interna, enquanto o ODBC depende de um driver ODBC para estabelecer uma conexão com o servidor MySQL e recuperar dados usando consultas SQL.

Embora muitas das etapas de configuração sejam semelhantes ao monitoramento de um servidor MySQL com o Zabbix agent 2, existem algumas diferenças significativas - você precisa configurar o Zabbix agent ou o ODBC para poder monitorar um servidor MySQL. As instruções a seguir orientam você por essas diferenças.

Monitorar o MySQL com o Zabbix agent

Para monitorar um servidor MySQL com o Zabbix agent, você precisa baixar e instalar o Zabbix server, o Zabbix frontend e o Zabbix agent de acordo com as instruções para o seu sistema operacional.

Depois de instalar com sucesso os componentes necessários do Zabbix, você precisa criar um usuário MySQL conforme descrito na seção Criar usuário MySQL.

Após criar o usuário MySQL, você precisa configurar o Zabbix agent para que ele possa estabelecer uma conexão com o servidor MySQL e monitorá-lo. Isso inclui configurar vários parâmetros de usuário para executar verificações personalizadas do agent, bem como fornecer ao Zabbix agent as credenciais necessárias para conectar-se ao servidor MySQL como o usuário "zbx_monitor" criado anteriormente.

Configurar o agent Zabbix

1. Navegue até o diretório de configurações adicionais do agent Zabbix.

cd /usr/local/etc/zabbix/zabbix_agentd.d

O diretório de configurações adicionais do agent Zabbix deve estar localizado no mesmo diretório que o arquivo de configuração do agent Zabbix (zabbix_agentd.conf). Dependendo do seu sistema operacional e da instalação do Zabbix, este diretório pode ter um local diferente do especificado neste guia. Para os locais padrão, verifique o parâmetro Include no arquivo de configuração do agent Zabbix.

Em vez de definir todos os parâmetros de usuário necessários para monitorar o servidor MySQL no arquivo de configuração do agent Zabbix, esses parâmetros serão definidos em um arquivo separado no diretório de configurações adicionais.

2. Crie um arquivo template_db_mysql.conf no diretório de configurações adicionais do agent Zabbix.

vi template_db_mysql.conf

3. Copie o conteúdo do arquivo template_db_mysql.conf (localizado no repositório do Zabbix) para o arquivo template_db_mysql.conf que você criou e salve.

4. Reinicie o agent Zabbix para atualizar sua configuração.

systemctl restart zabbix-agent

Depois de configurar os parâmetros de usuário do agent Zabbix, você pode prosseguir para configurar as credenciais que permitirão que o agent Zabbix acesse o servidor MySQL.

5. Navegue até o diretório inicial do agent Zabbix (se não existir em seu sistema, você precisa criá-lo; padrão: /var/lib/zabbix).

cd /var/lib/zabbix

6. Crie um arquivo .my.cnf no diretório inicial do agent Zabbix.

vi .my.cnf

7. Copie o seguinte conteúdo para o arquivo .my.cnf (substitua <password> pela senha do usuário "zbx_monitor").

[client]
       user='zbx_monitor'
       password='<password>'

Configure o frontend do Zabbix e teste sua configuração

Para configurar o frontend do Zabbix, siga as instruções na seção Configure o frontend do Zabbix com os seguintes ajustes:

  • No campo Templates, digite ou selecione o template "MySQL by Zabbix agent" que será vinculado ao host.
  • Não é necessário configurar Macros.

Depois de configurar o frontend do Zabbix, você pode visualizar as métricas coletadas e configurar alertas de problemas.

Para testar sua configuração, siga as instruções na seção Teste sua configuração com os seguintes ajustes:

  • Na seção Macros herdadas e do host da configuração do host do servidor MySQL, clique em Alterar ao lado do valor da macro {$MYSQL.PORT} e defina uma porta diferente (por exemplo, "6033").

Monitorar o MySQL com ODBC

Para monitorar um servidor MySQL com ODBC, você precisa baixar e instalar o Zabbix server e o Zabbix frontend.

Depois de instalar com sucesso os componentes necessários do Zabbix, você precisa criar um usuário MySQL conforme descrito na seção Criar usuário MySQL.

Após criar o usuário MySQL, é necessário configurar o ODBC. Isso inclui instalar uma das implementações de API ODBC de código aberto mais utilizadas - unixODBC - e um driver unixODBC, além de editar o arquivo de configuração do driver ODBC.

Configurar ODBC

1. Instale o unixODBC. A maneira recomendada de instalar o unixODBC é usar os repositórios de pacotes padrão do sistema operacional Linux.

apt install unixodbc

2. Instale o driver de banco de dados unixODBC do MariaDB. Embora você tenha um banco de dados MySQL, o driver unixODBC do MariaDB é usado por questões de compatibilidade.

apt install odbc-mariadb

3. Verifique a localização dos arquivos de configuração do ODBC odbcinst.ini e odbc.ini.

odbcinst -j

O resultado da execução deste comando deve ser semelhante ao seguinte.

unixODBC 2.3.9
       DRIVERS............: /etc/odbcinst.ini
       SYSTEM DATA SOURCES: /etc/odbc.ini
       FILE DATA SOURCES..: /etc/ODBCDataSources
       ...

4. Para configurar o driver ODBC para monitorar um banco de dados MySQL, você precisa do nome do driver, que está localizado no arquivo odbcinst.ini. No exemplo a seguir do arquivo odbcinst.ini, o nome do driver é "MariaDB Unicode".

[MariaDB Unicode]
       Driver=libmaodbc.so
       Description=MariaDB Connector/ODBC(Unicode)
       Threading=0
       UsageCount=1

5. Copie o seguinte conteúdo para o arquivo odbc.ini (substitua <password> pela senha do usuário "zbx_monitor"). Este guia usa "127.0.0.1" (localhost) como o endereço do servidor MySQL para monitorar um servidor MySQL que está instalado na mesma máquina que o driver ODBC. Observe o nome da fonte de dados (DSN) "test", que será necessário ao configurar o frontend do Zabbix.

[test]
       Driver=MariaDB Unicode
       Server=127.0.0.1
       User=zbx_monitor
       Password=<password>
       Port=3306
       Database=zabbix

Configure o frontend do Zabbix e teste sua configuração

Para configurar o frontend do Zabbix, siga as instruções na seção Configure o frontend do Zabbix com os seguintes ajustes:

  • No campo Templates, digite ou selecione o template "MySQL by ODBC" que será vinculado ao host.
  • Não é necessário configurar Interfaces.
  • O valor da macro {$MYSQL.DSN} na seção Macros herdadas e do host da configuração do host do servidor MySQL deve ser definido para o nome do DSN do arquivo odbc.ini.

Depois de configurar o frontend do Zabbix, você pode visualizar as métricas coletadas, configurar alertas de problemas e testar sua configuração.

Veja também

  • Criando um item - como começar a monitorar métricas adicionais.
  • Escalonamentos de problemas - como criar cenários de alerta em várias etapas (por exemplo, primeiro enviar mensagem para o administrador do sistema, depois, se um problema não for resolvido em 45 minutos, enviar mensagem para o gerente do data center).
  • Monitoramento ODBC - como configurar ODBC em outras distribuições Linux e como começar a monitorar métricas adicionais relacionadas ao banco de dados com ODBC.
  • Template MySQL por Zabbix agent - informações adicionais sobre o template MySQL por Zabbix agent.
  • Template MySQL por Zabbix agent 2 - informações adicionais sobre o template MySQL por Zabbix agent 2.
  • Template MySQL por ODBC - informações adicionais sobre o template MySQL por ODBC.