1、zabbix-5.4控制台关联默认mysql模板
如果数据库地址或端口有变化可修改主机配置找到宏
2、配置zabbix-agent的msyql依赖配置文件
cat template_db_mysql.conf
#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"
将template_db_mysql.conf复制到具有Zabbix代理配置的文件夹中(默认情况下为/etc/Zabbix/Zabbix_agented.d/)。别忘了重新启动Zabbix代理。
3、创建一个MySQL用户进行监控
CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
有关更多信息,请参阅MySQL文档https://dev.mysql.com/doc/refman/8.0/en/grant.html
4、在Linux版Zabbix代理的主目录中创建.my.cnf(默认情况下为/var/lib/Zabbix)。该文件必须有三个字符串:
mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
chown zabbix:zabbix /var/lib/zabbix
touch /var/lib/zabbix/.my.cnf
cat .my.cnf
[client]
user='zbx_monitor'
password='<password>'
重启zabbix-agent
systemctl edit zabbix-agent.service
5、查看监控数据