標籤:zabbix mysql
利用zabbix即時監控MySQL的效能,達到對MySQL的各方面效能把控;
zabbix預設會帶有對MySQL的監控模板(Template App MySQL),只是不能直接使用,需要在被監控機進行一些設定;
一、需要寫一個指令碼放在被監控機上,這個也就是與自訂監控差不多,只是模板用zabbix內建的;
cat zabbix_mysql_status.sh
#!/bin/sh #Create by feixiangdada 2015.12.17 MYSQL_SOCK="/tmp/mysql.sock" ARGS=1 if [ $# -ne "$ARGS" ];then echo "Please input one arguement:" fi case $1 in Uptime) result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK status|cut -f2 -d":"|cut -f1 -d"T"` echo $result ;; Com_update) result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Com_update"|cut -d"|" -f3` echo $result ;; Slow_queries) result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK status |cut -f5 -d":"|cut -f1 -d"O"` echo $result ;; Com_select) result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Com_select"|cut -d"|" -f3` echo $result ;; Com_rollback) result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Com_rollback"|cut -d"|" -f3` echo $result ;; Questions) result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK status|cut -f4 -d":"|cut -f1 -d"S"` echo $result ;; Com_insert) result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Com_insert"|cut -d"|" -f3` echo $result ;; Com_delete) result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Com_delete"|cut -d"|" -f3` echo $result ;; Com_commit) result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Com_commit"|cut -d"|" -f3` echo $result ;; Bytes_sent) result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Bytes_sent" |cut -d"|" -f3` echo $result ;; Bytes_received) result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Bytes_received" |cut -d"|" -f3` echo $result ;; Com_begin) result=`/usr/local/mysql/bin/mysqladmin -S $MYSQL_SOCK extended-status |grep -w "Com_begin"|cut -d"|" -f3` echo $result ;; *) echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions)" ;; esac
此指令碼中需要注意的是:
1. mysql.sock的路徑,根據自己的路徑進行修改;
2. 對my.cnf進行配置:
在 my.cnf 中加入下面的即可:
[mysqladmin]host=localhostuser=zabbix #使用者修改成自己的password=zabbix #密碼需要對上使用者
修改後需要重啟MySQL(若是5.5以下可以忽略這步)
二、 對被控制機上的 zabbix_agentd.conf 添加如下內容:
UserParameter=mysql.version,mysql -VUserParameter=mysql.ping,mysqladmin -uzabbix -pzabbix -S /tmp/mysql.sock ping | grep -c aliveUserParameter=mysql.status[*],/usr/local/zabbix/share/zabbix/alertscripts/mysql_status.sh $1 $2
重啟 zabbix_agentd服務:
service zabbix_agentd restart
三、 在zabbix的監控上添加MySQL的模板(Template App MySQL)即可;
如下:
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/78/00/wKiom1ZzdLrTXUcfAAaQDd9tvSk558.jpg" style="float:none;" title="zabbix.jpg" alt="wKiom1ZzdLrTXUcfAAaQDd9tvSk558.jpg" />
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/77/FF/wKioL1ZzdMiSXh48AAKnDEsFjw8162.png" style="float:none;" title="zabbix2.png" alt="wKioL1ZzdMiSXh48AAKnDEsFjw8162.png" />
本文出自 “淺淺的淡淡” 部落格,請務必保留此出處http://cuixiang.blog.51cto.com/8204722/1725906
zabbix監控MySQL