1.mysql主从复制监控
在从库上创建脚本文件夹
[root@mysql-1 zabbix]# mkdir /etc/zabbix/scripts
[root@mysql-1 zabbix]# cd /etc/zabbix/scripts
在从库上创建脚本,此处注意/app/mysql5.7/.config的权限和双主为600 和 zabbix.zabbix
[root@mysql-1 scripts]# cat mysql_slave_status.sh
/usr/bin/mysql --defaults-extra-file=/app/mysql5.7/.config -P2297 -e 'show slave status\G' |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes
在从库上修改权限和双主
[root@mysql-1 scripts]# chmod +x mysql_slave_status.sh
[root@mysql-1 scripts]# chown zabbix.zabbix mysql_slave_status.sh
[root@mysql-1 scripts]# ll
total 4
rwxr-xr-x 1 zabbix zabbix 166 Oct 15 09:23 mysql_slave_status.sh
在从库上创建监控配置文件及键值
[root@mysql-1 scripts]# cd /etc/zabbix/zabbix_agentd.d/
[root@mysql-1 zabbix_agentd.d]# cat mysql_slave_status.conf
UserParameter=mysql.slavestatus,/etc/zabbix/scripts/mysql_slave_status.sh
在zabbix-server上进行拉取测试
[root@zabbix mysql5.7]# zabbix_get -s 192.168.9.102 -k "mysql.slavestatus" -p 10050
2
创建新模板,因为我刚刚创建过所以新的群组那才是×××的提醒
有了,第一个那个就是
进入我们刚刚创建的模板点击右上角的创建应用集
配置监控项(点击监控项---创建监控项) #此处很重要,我们定义的变量就是从这的键值那里导入的
添加触发器(触发器---创建触发器)
添加图形(图形---创建图形)
添加mysql从主机并未主机添加次监控项
点击当前界面的模板去给他配置模板
2.mysql监测
创建脚本文件夹
[root@za-my ~]# mkdir /etc/zabbix/scripts
[root@za-my zabbix]# cd /etc/zabbix/scripts
创建config,此处注意/app/mysql5.7/.config的权限和双主为600 和 zabbix.zabbix
[root@za-my ~]# cat /app/mysql5.7/.config
[client] #此处必须为[client]
user=root
password=000000
创建脚本
[root@za-my ~]# cd /etc/zabbix/scripts/
[root@za-my scripts]# vim check_mysql.sh
#!/bin/bash
# author:pan
MySQL_HOST="localhost"
MySQL_PORT="2297"
MySQL_CONN="/usr/bin/mysqladmin --defaults-extra-file=/app/mysql5.7/.config -h${MySQL_HOST} -P${MySQL_PORT}"
if [ $# -ne "1" ];then
echo "arg error!"
fi
case $1 in
Uptime)
result=`${MySQL_CONN} status | cut -f2 -d":" | cut -f1 -d "T"`
echo $result
;;
Com_update)
result=`${MySQL_CONN} extended-status | grep -w "Com_update" | cut -d"|" -f3`
echo $result
;;
Slow_querles)
result=`${MySQL_CONN} status | cut -f5 -d":" | cut -f1 -d"O"`
echo $result
;;
Com_select)
result=`${MySQL_CONN} extended-status | grep -w "Com_select" | cut -d "|" -f3`
echo $result
;;
Com_rollback)
result=`${MySQL_CONN} extended-status | grep -w "Com_rollback" | cut -d"|" -f3`
echo $result
;;
Questions)
result=`${MySQL_CONN} status | cut -f4 -d":" | cut -f1 -d"S"`
echo $result
;;
Com_insert)
result=`${MySQL_CONN} extended-status | grep -w "Com_insert" | cut -d"|" -f3`
echo $result
;;
Com_delete)
result=`${MySQL_CONN} extended-status | grep -w "Com_delete" | cut -d"|" -f3`
echo $result
;;
Com_commit)
result=`${MySQL_CONN} extended-status | grep -w "Com_commit" | cut -d"|" -f3`
echo $result
;;
Bytes_sent)
result=`${MySQL_CONN} extended-status | grep -w "Bytes_sent" | cut -d"|" -f3`
echo $result
;;
Bytes_received)
result=`${MySQL_CONN} extended-status | grep -w "Bytes_received" | cut -d"|" -f3`
echo $result
;;
Com_begin)
result=`${MySQL_CONN} extended-status | grep -w "Com_begin" | cut -d"|" -f3`
echo $result
;;
*)
echo "Usage:$0(Uptime|Com_update|Slow_querles|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"
;;
esac
修改权限和双主
[root@za-my scripts]# chmod +x check_mysql.sh
[root@za-my scripts]# chown zabbix.zabbix check_mysql.sh
[root@za-my scripts]# ll
total 4
-rwxr-xr-x 1 zabbix zabbix 1982 Oct 21 23:06 check_mysql.sh
在从库上创建监控配置文件及键值
[root@za-my scripts]# cd /etc/zabbix/zabbix_agentd.d/
[root@za-my zabbix_agentd.d]# cat mysql_status.conf
UserParameter=mysql.status[*],/etc/zabbix/scripts/check_mysql.sh $1
UserParameter=mysql.ping,/usr/bin/mysqladmin --defaults-extra-file=/app/mysql5.7/.config -hlocalhost -P2297 ping | grep -c alive
UserParameter=mysql.version,/usr/bin/mysql -V
删除旧键值模版,要不然启动会出现问题,冲突
[root@za-my zabbix_agentd.d]# rm -f userparameter_mysql.conf
重启agent
[root@za-my zabbix_agentd.d]# systemctl restart zabbix-agent
在zabbix-server上进行拉取测试
[root@zabbix ~]# zabbix_get -s 192.168.9.113 -p 10050 -k "mysql.status[Uptime]"
1556
导入模板,并添加mysql监控
模板---导入
选择mysql主机---模板---添加Template App MySQL(此为我们刚刚添加的模板)
来源:51CTO
作者:运维小白菜
链接:https://blog.51cto.com/13893093/2307333