zabbix 監控 mysql

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

創建新模板,因爲我剛剛創建過所以新的羣組那纔是×××的提醒
zabbix 監控 mysql
有了,第一個那個就是
zabbix 監控 mysql
進入我們剛剛創建的模板點擊右上角的創建應用集
zabbix 監控 mysql
zabbix 監控 mysql
zabbix 監控 mysql
配置監控項(點擊監控項---創建監控項) #此處很重要,我們定義的變量就是從這的鍵值那裏導入的
zabbix 監控 mysql
zabbix 監控 mysql
添加觸發器(觸發器---創建觸發器)
zabbix 監控 mysql
zabbix 監控 mysql
添加圖形(圖形---創建圖形)
zabbix 監控 mysql
添加mysql從主機並未主機添加次監控項
zabbix 監控 mysql
點擊當前界面的模板去給他配置模板
zabbix 監控 mysql

zabbix 監控 mysql
zabbix 監控 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監控

模板---導入
zabbix 監控 mysql
選擇mysql主機---模板---添加Template App MySQL(此爲我們剛剛添加的模板)
zabbix 監控 mysql

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章