一.zabbix agentd的安装
groupadd zabbixuseradd -g zabbix -G zabbix -s /sbin/nologin -d /dev/null zabbixtar zxvf zabbix-2.2.2.tar.gzcd zabbix-2.2.2./configure --prefix=/data/zabbix --sysconfdir=/data/zabbix/conf --enable-agentmake && make installcp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/chmod 755 /etc/init.d/zabbix_agentd vim /etc/init.d/zabbix_agentd 修改BASEDIR=/data/zabbixvim /data/zabbix/conf/zabbix_agentd.confLogFile=/data/zabbix/log/zabbix_agentd.log //日志的路径Server=zabbix.test.com //这里是zabbix server的地址ServerActive=zabbix.test.com:10051 //同上Hostname=Node1 mkdir -p /data/zabbix/log/chown zabbix.zabbix /data/zabbix/logservice zabbix_agentd startchkconfig --level 345 zabbix_agentd on查看是否正常netstat -an |grep 10050
二.监控MySQL的复制
原理:利用在slave上运行show slave status获取Slave_IO_Running和Slave_SQL_Running的值
1.在mysql上新建监控用户
grant replication client on *.* to 'zabbix'@'localhost' identified by 'zabbix';flush privileges;
2.在/data/zabbix/sbin下新建check_mysql_replication.sh脚本
#!/bin/bashmysql -uzabbix -pzabbix -e "show slave status\G" |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes
给上述文件授权
chmod +x /data/zabbix/sbin/check_mysql_replication.sh
3.修改/data/zabbix/conf/zabbix_agentd
.conf
文件
UnsafeUserParameters=1UserParameter=mysql.replication,/data/zabbix/sbin/check_mysql_replication.sh
4.重启下zabbix_agemtd服务
service zabbix_agentd restart
三.配置zabbix server
1.在zabbix server上测试,这里zabbix server是安装在/webserver/zabbix,则运行
/webserver/zabbix/bin/zabbix_get -s 192.168.100.223 -k "mysql.replication"
如果上面返回的是2,那么是正常(1.mysql的复制正常 2.zabbix_agentd是配置正常),代表Slave_IO_Running和Slave_SQL_Running两个状态都是Yes,这里192.168.100.223是我的slave的IP地址
2.添加监控项目
点击“configuration”,接着点击"Host",然后找到要监控的Slave,点击它的"Items".
2.点击“create items”
3.填写监控项目内容
4.创建Triggers,就是创建mysql.replication到什么时候报警
这个时候我们在Slave机器上,在mysql环境下运行stop slave;