zabbix 添加mysql监控总结
一、背景
因为业务需求,需要对服务器所部署的mysql进行监控,以监控mysql性能及时处理问题。
二、步骤
1.此项目基于zabbix所完成,因此需要搭建zabbix监控,此处使用线上zabbix,要是有问题可自己搭建zabbix,详情见链接。
https://www.centos.bz/2017/11/centos-7%E5%AE%89%E8%A3%85zabbix-3-4/。
1
2.下载并安装percona-zabbix-templates。
rpm -ivh https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.7/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.7-2.noarch.rpm
1
3.安装php及php-mysql。
yum -y install php-cli php-mysql
1
4.创建MySQL监控账号。
mysql> GRANT USAGE,PROCESS,REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO zabbix@localhost IDENTIFIED BY ‘zabbix’;
1
备注:此处localhost(主机名)和zabbix密码自定义修改。
5.修改php脚本中的账号密码。
vi /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php$mysql_user = ‘zabbix’; # MySQL用户名$mysql_pass = ‘zabbix’; # MySQL密码$mysql_port = 3306; # MySQL服务端口$mysql_socket = ‘/tmp/mysql.sock’; # 默认为NULL,若需要指定socket文件需修改该参数值
1
2
3
4
5
6
6.测试脚本,执行未报错且输出为一串数字则表面测试通过
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg5146
1
2
3
7.配置/etc/zabbix/.my.cnf,添加用户名密码
vi ~zabbix/.my.cnf [client] user = zabbix password = zabbix
1
2
3
4
5
8.测试脚本,执行未报错且输出为0或1则表面测试通过.
sudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave0
1
2
3
备注:若遇到以下报错信息,请修改脚本中的mysql命令为mysql命令的绝对路径或者使用环境变量。报错信息:
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh: line 19: mysql: command not found
编辑/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh RES=`HOME=~zabbix mysql 改为 RES=`HOME=~zabbix /usr/local/mysql/bin/mysql
1
2
3
9.复制zabbix agent配置文件(这里的zabbix agent配置文件的目录为/etc/zabbix/zabbix_agentd.d/)
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
1
10.重启zabbix agent。
systemctl restart zabbix-agent
1
11.测试完成后会生成/tmp/$hostname-mysql_cacti_stats.txt缓存文件,需要删除该文件,才能进行正常监控,否则监控会报错。
rm -f /tmp/$hostname-mysql_cacti_stats.txt
1