Como Monitorar o MySQL Usando Zabbix
Olá pessoal, tudo bem por aí? Continuando nossa saga de monitoramento, hoje vou mostrar Como Monitorar o MySQL Usando Zabbix!
Antes ainda de começar, queria falar que estamos também no Youtube falando de monitoramento, então se você quiser dar uma conferida no conteúdo deixo nossos vídeos aqui abaixo:
Antes de tudo, aqui estou assumindo que você está com todo ambiente instalado (Zabbix Server e Zabbix Agent) e precisa monitorar um Banco de Dados MySQL. Caso você não tenha esse ambiente sugiro que você veja os seguintes artigos:
- Instalação do Zabbix Server 6 no Ubuntu 20.04
- Como Instalar o Zabbix Agent [PASSIVO] no Ubuntu 20.04 LTS
- Como monitorar o Nginx usando Zabbix Agent
Criando Usuário no Banco de Dados
Agora, como de costume, vamos dar uma olhada na documentação oficial e vamos seguir o que está lá, na parte de Template DB MySQL.
Em primeiro lugar, temos que fazer é criar um usuário no nosso banco de dados que vai ter permissão para coletar métricas do MySQL, e quem usará esse usuário é o Zabbix Agent:
mysql> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY 'coffops@2022';
Query OK, 0 rows affected (0.02 sec)
mysql> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Em seguida, precisar criar o arquivo de configuração que o Zabbix Agent vai ler as informações de usuários e senha. Dentro da pasta /var/lib/zabbix crie o arquivo .my.cnf com as seguintes configurações:
[client]
user='zbx_monitor'
password='coffops@2022'
Configurando arquivo template_db_mysql.conf no Zabbix Agent
Além disso, agora precisamos copiar o arquivo que precisamos colocar dentro de /etc/zabbix/zabbix_agent.d com o nome de template_db_mysql.conf
Esse arquivo está disponível aqui!
#template_db_mysql.conf created by Zabbix for "Template DB MySQL" and Zabbix 4.2
#For OS Linux: You need create .my.cnf in zabbix-agent home directory (/var/lib/zabbix by default)
#For OS Windows: You need add PATH to mysql and mysqladmin and create my.cnf in %WINDIR%\my.cnf,C:\my.cnf,BASEDIR\my.cnf https://dev.mysql.com/doc/refman/5.7/en/option-files.html
#The file must have three strings:
#[client]
#user='zbx_monitor'
#password='<password>'
#
UserParameter=mysql.ping[*], mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*], mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*], mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*], mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*], mysql -h"$1" -P"$2" -sN -e "SELECT COALESCE(SUM(DATA_LENGTH + INDEX_LENGTH),0) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"
Antes de mais nada, precisamos reiniciar o serviço do Zabbix usando systemct restart zabbix-agent para nosso agente ler as novas configurações que temos.
Adicionando Template para Monitoramento
Agora precisamos ir na interface do nosso Zabbix Server e adicionar o template para que o nosso servidor comece a solicitar as informações do nosso MySQL, veja:
Bom, agora ir no Menu direito em “Latest data” conseguimos ver que nosso Zabbix Agent já está coletando as informações do nosso MySQL:
Em conclusão, agora temos nosso Zabbix Server coletando métricas do nosso MySQL. Espero que eu tenha ajudado a entender Como Monitorar o MySQL Usando Zabbix nesse artigo.
Nesse sentido, você pode gostar de: Como Instalar o Zabbix Agent [PASSIVO] no Ubuntu 20.04 LTS