zabbix 添加mysql监控_zabbix 添加MySQL监控

下载官方RPM包:

[root@localhost ~]# rpm -ivh https://www.percona.com/downloads/percona-monitoring-plugins/1.1.6/percona-zabbix-templates-1.1.6-1.noarch.rpm

获取https://www.percona.com/downloads/percona-monitoring-plugins/1.1.6/percona-zabbix-templates-1.1.6-1.noarch.rpm

准备中...                          ################################# [100%]

软件包 percona-zabbix-templates-1.1.6-1.noarch 已经安装

安装后会生成以下几个文件:

[root@localhost ~]# rpm -ql percona-zabbix-templates

/var/lib/zabbix/percona

/var/lib/zabbix/percona/scripts

/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh

/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php

/var/lib/zabbix/percona/templates

/var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf

/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml

get_mysql_stats_wrapper.sh 会调用 ss_get_mysql_stats.php这个脚本,实际收集数据的是php脚本,还需要安装php-mysql这个扩展。

userparameter_percona_mysql.conf    是key的配置文件

zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml    是监控模板

复制监控脚本到scrpits目录下(根据自己的环境):

[root@localhost ~]# cp /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh /usr/local/zabbix/scripts/

[root@localhost ~]# cp /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php  /usr/local/zabbix/scripts/

[root@localhost ~]# chmod +x /usr/local/zabbix/scripts/get_mysql_stats_wrapper.sh

复制key配置文件到zabbix_agentd.conf.d目录下

[root@localhost ~]# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/

注意 userparameter_percona_mysql.conf 里要指定正确的 get_mysql_stats_wrapper.sh 脚本的绝对路径。

重启zabbix-agentd

[root@localhost ~]# service zabbix-agentd restart

创建数据库监控账号

mysql> GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';FLUSH PRIVILEGES;

根据自己的实际环境稍微修改一下脚本

[root@localhost scripts]# vim get_mysql_stats_wrapper.sh

CMD="/usr/bin/php -q $DIR/ss_get_mysql_stats.php --host $HOST --items gg"    #实际环境php绝对路径

RES=`HOME=~zabbix mysql -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`        #HOME=~zabbix mysql -实际mysql绝对路径,我的是/usr/local/mysql/bin/mysql -uzabbix -pzabbix

[root@localhost scripts]# vim ss_get_mysql_stats.php

$mysql_user = 'zabbix';    #用户名

$mysql_pass = 'zabbix';    #密码

$mysql_port = 3306;        #端口

测试脚本

[root@localhost scripts]# php ss_get_mysql_stats.php --host localhost --items gg

ERROR: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)[root@hp20 scripts]#

因为php脚本会去这个目录找socket文件(没找到php脚本在哪定义socket....),而我的socket在/tmp下,可以做个软连接过去.这里还有一个小坑,就是如果手动测试这个php脚本,会创建/tmp/localhost-mysql_cacti_stats.txt 文件,且文件是当前登陆用户权限。测试完后记得删除这个文件,或者改为zabbix用户

[root@localhost scripts]# mkdir -p /var/lib/mysql/

[root@localhost scripts]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

[root@localhost scripts]# chown -R mysql:mysql /var/lib/mysql/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值