
#:先配置MySQL的主从
#:安装Percona Monitoring Plugins (地址:https://www.percona.com/downloads/)#:我安在从库,监控哪个就安哪个上面
root@ubuntu:~# wget https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/debian/artful/x86_64/percona-zabbix-templates_1.1.8-1.artful_all.deb
root@ubuntu:~# dpkg -i percona-zabbix-templates_1.1.8-1.artful_all.deb
#:根据安装教程安装(地址:https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html#installation-instructions)
#:安装PHP5.6 和php-mysql注意版本:
root@ubuntu:~# sudo apt-get install -y software-properties-common
root@ubuntu:~# sudo add-apt-repository ppa:ondrej/php
root@ubuntu:~# sudo apt-get update
root@ubuntu:~# sudo apt-get install -y php5.6 php5.6-mysql
root@ubuntu:~# apt install zabbix-agent
#:修改agent配置文件,并重启
root@ubuntu:~# systemctl restart zabbix-agent.service
#:重启后再web页面添加上这台主机
#:将perconna生成的userparameter生成的目录拷贝到agent下面 root@ubuntu:/etc/zabbix# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.conf.d/ #:设置用哪个用户监控MySQL
root@ubuntu:~# vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root';
$mysql_pass = ''; #:我的没有密码 #:现在本机测试 root@ubuntu:/var/lib/zabbix/percona/scripts# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
40 #在server端测试,显示为空,应为zabbix权限不够,需要设置一下sudolers root@ubuntu:~# /apps/zabbix_server/bin/zabbix_get -s 192.168.7.112 -p 10050 -k "MySQL.Key-read-requests" (此处值为空) #:设置使用root启动 root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# vim /etc/zabbix/zabbix_agentd.conf
AllowRoot=1
User=root root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# vim /lib/systemd/system/zabbix-agent.service
User=root
Group=root #:这样就可以获取到值了 #:导出模板(这个已经有的不支持了,导入课件里面的模板)
root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# cd /var/lib/zabbix/percona/templates/
将xml结尾的文件导出来
在web端导入模板---因课件模板是被动模式,改成主动模式,间隔时间等
#:配置监控MySQL主从同步是不是yes,和延迟时间的脚本 root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# vim mysql_monitor.sh
#!/bin/bash
#Date:2016/11/11
#Author: Zhangshijie Seconds_Behind_Master(){
NUM=`mysql -uroot -hlocalhost -e "show slave status\G;" | grep "Seconds_Behind_Master:" | awk -F: '{print $2}'`
echo $NUM
} master_slave_check(){
NUM1=`mysql -uroot -hlocalhost -e "show slave status\G;" | grep "Slave_IO_Running" | awk -F: '{print $2}' | sed 's/^[ \t]*//g'`
#echo $NUM1
NUM2=`mysql -uroot -hlocalhost -e "show slave status\G;" | grep "Slave_SQL_Running:" | awk -F: '{print $2}' | sed 's/^[ \t]*//g'`
#echo $NUM2
if test $NUM1 == "Yes" && test $NUM2 == "Yes";then
echo 50
else
echo 100
fi
} main(){
case $1 in
Seconds_Behind_Master)
Seconds_Behind_Master;
;;
master_slave_check)
master_slave_check
;;
esac
}
main $1 #:修改属主属组,权限
root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# chown zabbix.zabbix mysql_monitor.sh
root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# chmod a+x mysql_monitor.sh #:在写一个主动配置文件,配置userparameter root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# vim linux37.conf
UserParameter=mysql_monitor[*],/etc/zabbix/zabbix_agentd.conf.d/mysql_monitor.sh "$1" #;重启服务
oot@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# systemctl restart zabbix-agent.service #:在server端测试一下 root@ubuntu:~# /apps/zabbix_server/bin/zabbix_get -s 192.168.7.112 -p 10050 -k "mysql_monitor[master_slave_check]"
50 #:测试通过后,开始创建模板,创建监控项,创建触发器,创建图形