Mysql自定義監(jiān)控
成都創(chuàng)新互聯(lián)專注于企業(yè)成都全網營銷推廣、網站重做改版、秀山土家族苗族網站定制設計、自適應品牌網站建設、H5網站設計、商城開發(fā)、集團公司官網建設、成都外貿網站制作、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為秀山土家族苗族等各大城市提供網站開發(fā)制作服務。需求:公司需要做mysql的數(shù)據監(jiān)控,對mysql的狀態(tài),流量進行監(jiān)控。
分析:zabbix自動就有Template App MySQL模版,我們只要添加mysql監(jiān)控腳本就可以實現(xiàn)自定義監(jiān)控。
配置如下:
zabbix的服務端搭建,這里不再演示,我這里的zabbixserver已經配置好的了,直接進入mysql監(jiān)控構建。
mysql模板是 zabbix系統(tǒng)提供的,進入 zabbix web 后臺,配置-->主機群組-->點擊“創(chuàng)建主機群組”-->選擇template群組,選擇模板“TemplateApp MySQL,Templdate OS Linux”,TemplateApp Zabbix Agen;TemplateApp MySQL依賴于模板TemplateApp Zabbix Agent所以也要添加。如圖1、圖2所示:
圖1
圖2
2、部署agent客戶端,使用ansible一健安裝,詳細可以參考我安裝過程https://blog.51cto.com/xiaozhagn/1975084
3、建立主機,添加zabbix戶端主機,添加模板。
配置-->主機-->點擊創(chuàng)建主機--> 創(chuàng)建zabbix客戶機(我這里是node2.1)-->選擇模板選項,選擇模板“Template App MySQL”、“Templdate OS Linux”,“TemplateApp Zabbix Agent“,最后點擊左邊的“添加”按鈕,最后點擊“更新”完成創(chuàng)建。如圖3、圖4所示:
圖3
圖4
4,開啟mysql性能監(jiān)控。
這里可以采用zabbix自帶的mysql模版,但是也需要在mysql服務器上準備獲取mysql status的腳本chk_mysql.sh,zabbix通過調用這個腳本來獲取mysql的運行信息。
在配置zabbix客戶端文件zabbix_agentd.conf里面添加mysql監(jiān)控信息:
[root@node2 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
#添加以下內容
UserParameter=mysql.version,mysql -V UserParameter=mysql.status[*],/usr/local/zabbix/scripts/chk_mysql.sh $1 #這個是放腳本的路徑 UserParameter=mysql.ping,netstat -ntpl |grep 3306 |grep mysql |wc |awk '{print $1}'5、進入數(shù)據庫添加mysql帳號,(我這里的數(shù)據庫是用yum裝的)
MariaDB [(none)]> GRANT PROCESS,SUPER,REPLICATION CLIENT ON *.* TO zabbix@'127.0.0.1' IDENTIFIED BY 'xiaozhang';6、接下來準備mysql的運行信息監(jiān)控,需要準備新的mysql監(jiān)控腳本chk_mysql.sh。(名稱要與在zabbix客戶端添加的腳本路徑的名稱一致)
[root@node2 scripts]# mkdir /usr/local/zabbix/scripts/
[root@node2 scripts]# cat /usr/local/zabbix/scripts/chk_mysql.sh
#!/bin/sh # ------------------------------------------------------------------------------- # FileName: check_mysql.sh # Date: 2018/1/10 # Author: xiaozhang # Email: 847536944@qq.com MYSQL_SOCK="/var/lib/mysql/mysql.sock" MYSQL_USER='zabbix' MYSQL_PWD='xiaozhang' MYSQL_HOST='127.0.0.1' MYSQL_PORT='3306' ARGS=1 if [ $# -ne "$ARGS" ];then echo "Please input one arguement:" fi case $1 in Uptime) result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f2 -d":"|cut -f1 -d"T"` echo $result ;; Com_update) result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_update"|cut -d"|" -f3` echo $result ;; Slow_queries) result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK status |cut -f5 -d":"|cut -f1 -d"O"` echo $result ;; Com_select) result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_select"|cut -d"|" -f3` echo $result ;; Com_rollback) result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_rollback"|cut -d"|" -f3` echo $result ;; Questions) result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f4 -d":"|cut -f1 -d"S"` echo $result ;; Com_insert) result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_insert"|cut -d"|" -f3` echo $result ;; Com_delete) result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_delete"|cut -d"|" -f3` echo $result ;; Com_commit) result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_commit"|cut -d"|" -f3` echo $result ;; Bytes_sent) result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_sent" |cut -d"|" -f3` echo $result ;; Bytes_received) result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_received" |cut -d"|" -f3` echo $result ;; Com_begin) result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -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)" ;; esac7、添加chec_mysql腳本權限:
[root@node2 ~]#chmod u+x /usr/local/zabbix/scripts/chk_mysql.sh [root@node2 ~]#chown -R zabbix.zabbix /usr/local/zabbix/scripts/chk_mysql.sh8、重啟agent,在zabbix服務器上面檢查基本mysql服務器信息是否能正常獲取到。
重啟客戶端
[root@node2 ~]# /etc/init.d/zabbix_agentd restart
服務測試,獲取mysql監(jiān)控數(shù)據
[root@node1 ~]# zabbix_get -s 172.25.0.30 -p10050 -k "system.cpu.load[all,avg15]"; 0.050000 [root@node1 ~]# zabbix_get -s 172.25.0.30 -p10050 -k mysql.status[Com_update] 0 [root@node1 ~]# zabbix_get -s 172.25.0.30 -p10050 -k mysql.status[Com_insert] 09、監(jiān)控mysql性能圖添加
監(jiān)控腳本運行正常后,就會在zabbix-server的“監(jiān)控中”的下面的“圖形“里面看到mysql的監(jiān)控性能視圖,選擇選擇主機node2.1(zabbix_agent),圖形選擇MySQL operations可以看到性能監(jiān)控視圖,如圖5所示:
圖5
10、zabbix自帶模版默認有2個性能圖,當然也可以新建其他圖,只需要找到主機所在,創(chuàng)建圖形就可以了,如圖6、圖7所示:
圖6
圖7
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
新聞標題:基于zabbix的Mysql自定義監(jiān)控-創(chuàng)新互聯(lián)
URL網址:http://jinyejixie.com/article42/ccspec.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供自適應網站、網站制作、App設計、面包屑導航、虛擬主機、網站排名
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容