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(此爲我們剛剛添加的模板)