Zabbix MySQL数据库监控简介
通过 Zabbix 监控 MySQL 数据库,可以获取有关数据库性能、运行状况和资源使用情况的详细信息,帮助及时发现和解决问题。
Zabbix官方提供了一个名为MySQL by Zabbix agent
的监控模板,该模板专为 Zabbix 通过 Zabbix 代理轻松部署 MySQL 监控而设计,不需要任何外部脚本。
zabbix agent 配置
zabbix环境信息
节点 | IP | OS | Role |
---|---|---|---|
zabbix-server | 192.168.72.31 | Ubuntu 22.04 | zabbix-server |
db-server01 | 192.168.72.33 | Ubuntu 22.04 | mysql/zabbix-agent |
zabbix 版本: v7.0.0
前置要求:在mysql数据库服务器上安装 Zabbix 代理和 MySQL 客户端。如有必要,请将 mysql
和 mysqladmin
实用程序的路径添加到全局环境变量 PATH。
apt update -y
apt install -y mysql-server
将带有用户参数的 template_db_mysql.conf
文件复制到 Zabbix Agent配置文件夹中(默认为 /etc/zabbix/zabbix_agentd.d/ )。不要忘记重新启动 Zabbix 代理。
下载Agent配置文件
下载地址:https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql_agent
wget https://git.zabbix.com/projects/ZBX/repos/zabbix/raw/templates/db/mysql_agent/template_db_mysql.conf
cp template_db_mysql.conf /etc/zabbix/zabbix_agentd.d/
查看文件内容
root@db-server01:~# cat /etc/zabbix/zabbix_agentd.d/template_db_mysql.conf
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"
root@web-server:~#
重启zabbix-agent服务
systemctl restart zabbix-agent
在被监控数据库服务器中创建将用于监控的 MySQL 用户( <password>
由您自行决定)。例如:
root@db-server01:~# mysql -uroot -p
mysql> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY 'Zabbix@123456';
mysql> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
在 Linux 发行版的 Zabbix 代理的主目录(默认为 /var/lib/zabbix)中创建 .my.cnf
配置文件,或windows c:\
下创建my.cnf
:
mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
chown zabbix:zabbix /var/lib/zabbix
cat >/var/lib/zabbix/.my.cnf<<EOF
[client]
protocol=tcp
user='zbx_monitor'
password='Zabbix@123456'
EOF
配置zabbix-web
导航到数据采集 -> 主机->创建主机
模板选择官方提供的MySQL by Zabbix agent。
选择监测->最新数据,查看收集的数据库监控指标