Zabbix實(shí)現(xiàn)自動(dòng)發(fā)現(xiàn)并監(jiān)控MySQL

這篇文章主要講解了“Zabbix實(shí)現(xiàn)自動(dòng)發(fā)現(xiàn)并監(jiān)控MySQL”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Zabbix實(shí)現(xiàn)自動(dòng)發(fā)現(xiàn)并監(jiān)控MySQL”吧!

創(chuàng)新互聯(lián)公司專(zhuān)注于中江網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供中江營(yíng)銷(xiāo)型網(wǎng)站建設(shè),中江網(wǎng)站制作、中江網(wǎng)頁(yè)設(shè)計(jì)、中江網(wǎng)站官網(wǎng)定制、重慶小程序開(kāi)發(fā)服務(wù),打造中江網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供中江網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。

一、方案需求及思路

因跑MySQL服務(wù)的服務(wù)器比較多,并且每臺(tái)服務(wù)器可能會(huì)運(yùn)行多個(gè)不同端口的數(shù)據(jù)庫(kù),如果單獨(dú)手動(dòng)一臺(tái)一臺(tái)去修改agent.conf,web添加監(jiān)控,這樣太麻煩,費(fèi)時(shí)費(fèi)力。此時(shí)有兩種方案;其一:在每臺(tái)跑mysql的服務(wù)器上部署一個(gè)自動(dòng)發(fā)現(xiàn)腳本,修改agent.conf 并自定義KEY;其二:統(tǒng)一由一臺(tái)服務(wù)器來(lái)監(jiān)控所有服務(wù)器上所有運(yùn)行的mysql服務(wù)。發(fā)現(xiàn)好像方案二比較更簡(jiǎn)便些。

方案二思路:

假設(shè)有A、B、C、D、E五臺(tái)服務(wù)器,上面都跑有mysql,并且每臺(tái)都跑有2+個(gè)mysql,在此假定由A服務(wù)器來(lái)監(jiān)控所有服務(wù)器上mysql的狀態(tài)。此時(shí)需要先把五臺(tái)服務(wù)器的IP及其上mysql服務(wù)所占用的port 記錄下來(lái),統(tǒng)一寫(xiě)到一個(gè)文件里:eg:

192.168.12.14  3306 192.168.12.14  3307 192.168.12.15  3308 192.168.12.15  3380 ……

把該文件放到zabbix 目錄下的某一個(gè)目錄,并賦權(quán)限,再寫(xiě)一個(gè)json的腳本來(lái)調(diào)取此文件,并且需要在執(zhí)行腳本文件的時(shí)候來(lái)進(jìn)行IP傳值并輸出該IP上所有的port。

添加自定義key。其中需要定義一個(gè)自動(dòng)發(fā)現(xiàn)的key,然后定義一個(gè)根據(jù)IP查詢(xún)此服務(wù)器上所有端口的mysql狀態(tài)的key。重啟zabbix_agentd,通過(guò)zabbix_get來(lái)獲取參數(shù)看看是否正常。

配置web界面。在web配置界面中,創(chuàng)建一個(gè)主機(jī),該主機(jī)的ip指向A服務(wù)器的IP,切該服務(wù)器的[HOST.NAME] 指向所要監(jiān)控mysql的IP,([HOST.NAME]一般指的是”Visable name”),把監(jiān)控mysql的服務(wù)器都指向一個(gè)組,然后調(diào)用自動(dòng)發(fā)現(xiàn)mysql模版。之后在創(chuàng)建剩下的幾臺(tái)服務(wù)器即可。

此方案也不是一個(gè)很好的方案,但相對(duì)來(lái)說(shuō)還是不錯(cuò)的,以后若有新增加的mysql服務(wù)器,只需要修改寫(xiě)有IP和PORT的列表文件即可,不需要重啟agent。

二、配置Agent:

1、編輯mysqld文件

# cat  /usr/local/zabbix/bin/mysqld 172.16.8.250  3306 172.16.8.250  3309 172.16.8.252  3306 172.16.8.252  3307

注:本文均在8.250上實(shí)現(xiàn)監(jiān)控252上的數(shù)據(jù)庫(kù)及本地250的數(shù)據(jù)庫(kù)

2、mysql賦權(quán)限

分別將四個(gè)數(shù)據(jù)庫(kù)都賦給172.16.8.250主機(jī)以用戶(hù)zabbix,密碼111的訪問(wèn),show global status權(quán)限。

3、編輯discovery_mysql.sh

# cat  /usr/local/zabbix/bin/discovery_mysql.sh #!/bin/bash #mysql low-level discovery #Script_name discovery_mysql.sh res=`cat /usr/local/zabbix/bin/mysqld|grep $1|grep -v "^#"|awk '{print $2}'` port=($res) printf '{\n' printf '\t"data":[\n' for key in ${!port[@]} do if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];then printf '\t {\n' printf "\t\t\t\"{#MYSQLPORT}\":\"${port[${key}]}\"},\n" else [[ "${key}" -eq "((${#port[@]}-1))" ]] printf '\t {\n' printf "\t\t\t\"{#MYSQLPORT}\":\"${port[${key}]}\"}\n" fi done printf '\t ]\n' printf '}\n'

賦執(zhí)行權(quán)限:

# chmod  +x  /usr/local/zabbix/bin/discovery_mysql.sh

測(cè)試執(zhí)行效果:

# sh  /usr/local/zabbix/bin/discovery_mysql.sh 172.16.8.250 { "data":[ { "{#MYSQLPORT}":"3306"}, { "{#MYSQLPORT}":"3309"} ] }

把上述結(jié)果粘貼到j(luò)son檢測(cè)網(wǎng)站,查看結(jié)果是否正確 http://jsonlint.com/

4、修改agentd.conf

開(kāi)啟include選項(xiàng)

Include=/usr/local/zabbix/etc/zabbix_agentd/

添加mysql自動(dòng)發(fā)現(xiàn)規(guī)則,自定義key

# cat  /usr/local/zabbix/etc/zabbix_agentd/mysql_discovery.conf #### $1 ==IP  $2 == PORT  $3==COMMAND UserParameter=zabbix_low_discovery[*],/bin/bash /usr/local/zabbix/bin/discovery.sh $1 UserParameter=mysql_stats[*],mysql -uzabbix -p111 -P$2 -h$1 -e "show global status"|grep "\<$3\>"|cut  -f2 UserParameter=mysql.alive[*],mysqladmin -uzabbix -p111 -h$1 -P$2 ping|grep -c alive

5、測(cè)試:

重啟zabbix_agentd,在zabbix server中通過(guò)zabbix_get測(cè)試zabbix mysql自動(dòng)發(fā)現(xiàn)規(guī)則是否正確。

注:172.16.8.250是zabbix server,agent地址為127.0.0.1,請(qǐng)根據(jù)自己情況修改下面命令。

# zabbix_get  -s 127.0.0.1  -k  zabbix_log_discovery[172.16.8.250] { "data":[ { "{#MYSQLPORT}":"3306"}, { "{#MYSQLPORT}":"3309"} ] } # zabbix_get  -s 127.0.0.1  -k mysql_stats[172.16.8.250,3306,Uptime]

可正確取得數(shù)據(jù)便為正確,

轉(zhuǎn)載請(qǐng)注明原文出處:http://www.minunix.com/2014/04/zabbix_low_discovery_mysql_01/

三、Zabbix  WEB 添加主機(jī)

1、導(dǎo)入模版discovery_mysql.xml

2、添加主機(jī):

Zabbix實(shí)現(xiàn)自動(dòng)發(fā)現(xiàn)并監(jiān)控MySQL

鏈接模版:

Zabbix實(shí)現(xiàn)自動(dòng)發(fā)現(xiàn)并監(jiān)控MySQL

注:因模版定義的更新時(shí)間為3600s,如需快速看到效果,可先修改模版自定義規(guī)則的“Interval”更新時(shí)間改為60,之后便可再”last data”中看到數(shù)據(jù)。

監(jiān)控172.16.8.252,只需要?jiǎng)?chuàng)建主機(jī),將visable name 的值172.16.8.250 改為172.16.8.252即可。

感謝各位的閱讀,以上就是“Zabbix實(shí)現(xiàn)自動(dòng)發(fā)現(xiàn)并監(jiān)控MySQL”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Zabbix實(shí)現(xiàn)自動(dòng)發(fā)現(xiàn)并監(jiān)控MySQL這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

分享題目:Zabbix實(shí)現(xiàn)自動(dòng)發(fā)現(xiàn)并監(jiān)控MySQL
標(biāo)題鏈接:http://muchs.cn/article28/ihspjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、響應(yīng)式網(wǎng)站、搜索引擎優(yōu)化、動(dòng)態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作