下文給大家?guī)鞿abbix是怎么樣監(jiān)控MySQL、MongoDB的,希望能夠給大家在實際運用中帶來一定的幫助,MYSQL涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用創(chuàng)新互聯(lián)在行業(yè)內(nèi)累計的經(jīng)驗來做一個解答。
專注于為中小企業(yè)提供網(wǎng)站制作、成都做網(wǎng)站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)鎮(zhèn)安免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
公司的監(jiān)控換成了zabbix,除了對系統(tǒng)的基本監(jiān)控外,也想對mysql、mongodb進行監(jiān)控,以在需要的時候直接查看mysql、mongodb的一些狀態(tài);因此研究了zabbix怎么監(jiān)控mysql和mongodb;記錄下這些筆記。
zabbix的安裝和基本配置這里就不詳說;直接進入怎么去監(jiān)控mysql、mongodb;(在這過程中我大部分是參考的網(wǎng)上文章,本篇文章頁僅供自己作為筆記使用,如果因此帶給原文博主帶來影響請諒解并且請給留言,我會立即刪除本篇文章。)
-------------------------------------------------------------------------------------------
在zabbix中自帶有mysql的模板,但是默認會不支持的,因為他本身獲取不到模板中定義key的值,因此我們需要通過插件來幫助zabbix;zabbix的插件其實就是腳本,也就是說我們需要寫一個腳本來幫助zabbix獲取這些key的值;
首先在mysql中授權(quán),因為zabbix實際是通過mysql用戶查看mysql的一些信息;
mysql>grant all on mysql.* to zabbix@localhost identified by 'zabbix123456';
mysql>flush privileges;
其次在zabbix_agentd.conf 中添加插件
vim /usr/local/zabbix_agentd/etc/zabbix_agentd.conf
UserParameter=mysql.version,mysql -V
UserParameter=mysql.ping,mysqladmin -uzabbix -pzabbix123456 -S /var/lib/mysql/mysql.sock ping | grep -c alive
UserParameter=mysql.status[*],/usr/local/zabbix/script/checkmysqlperformance.sh $1
zabbix監(jiān)控mysql的插件腳本已經(jīng)上傳到附件:獲取mysql信息腳本
重啟zabbix_agentd
killall zabbix_agentd
/usr/local/zabbix_agentd/sbin/zabbix_agentd start
查看agentd是否啟動成功
ps axuf | grep zabbix_agentd
在zabbix中查看主機的mysql項目狀態(tài),如果變?yōu)橐褑⒂脿顟B(tài)則稍等就能在圖形中看到數(shù)據(jù)
至此,zabbix對mysql的監(jiān)控就已經(jīng)完成了,如果你還需要監(jiān)控其他東西可以自己添加插件就行;
-------------------------------------------------------------------------------------------
zabbix 監(jiān)控mongodb
zabbix中默認沒有監(jiān)控mongodb的模板,這樣就需要自己添加模板了,添加模板我這里就以一個項目為例;
添加mongodb模板(創(chuàng)建模板在點擊模板后的右上角)
組態(tài)-->模板-->創(chuàng)建模板-->mongodb monitor
添加監(jiān)控項目(創(chuàng)建監(jiān)控項在點擊項目后的右上角)
組態(tài)-->模板-->項目-->創(chuàng)建監(jiān)控項-->MongoDB.Status[connections,available]
最關鍵是的是填寫鍵值
然后添加你想要的其他監(jiān)控項,下面是我所有的監(jiān)控項
監(jiān)控項添加完畢之后還需要添加圖形、觸發(fā)器等,這些在這里就不詳述;
上面監(jiān)控mongodb的模板添加好之后就該添加zabbix插件了,讓他來支持mongodb的監(jiān)控
zabbix監(jiān)控mongodb的模板已經(jīng)上傳到附件:zabbix_mongodb模板
在zabbix_agentd.conf中添加插件
vim /usr/local/zabbix_agentd/etc/zabbix_agentd.conf
UserParameter=MongoDB.Status[*],/usr/local/zabbix_agentd/script/mongdbmonitor.sh $1 $2
UserParameter=MongoDB.ping,ps axuf | grep mongod | grep -v "grep " | wc -l
mongdbmonitor.sh腳本內(nèi)容
vim /usr/local/zabbix_agentd/script/mongdbmonitor.sh
#! /bin/bash
/bin/echo "db.serverStatus().$1" | /usr/local/mongodb/bin/mongo admin | grep -w "$2" | awk -F ':|,' '{print $2}'| sed 's/ //'
重啟zabbix_agentd
killall zabbix_agentd
/usr/local/zabbix_agentd/sbin/zabbix_agentd start
查看agentd是否啟動成功
ps axuf | grep zabbix_agentd
然后稍等會兒查看主機的mongodb監(jiān)控狀態(tài),主機的狀態(tài)應該都變?yōu)橐褑?/p>
至此,zabbix對mongodb的監(jiān)控已經(jīng)配置完成,這樣就可以看到mongodb的一些信息,供分析和監(jiān)控查看;
看了以上關于Zabbix是怎么樣監(jiān)控mysql、mongodb的,如果大家還有什么地方需要了解的可以在創(chuàng)新互聯(lián)行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術工程師解答的,創(chuàng)新互聯(lián)技術工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗了。