zabbix增加手机端4个url地址的返回值
由同事提供4個需要監(jiān)控的url地址
GET類型:
http://10.15.24.61:809/UserCenterService.svc/getAccountInfo/563/9638
POST類型:
http://10.15.24.61:809/ProductService/userInvestVarietyYjsList/4/0/563/1/9638/1.0
http://10.15.24.61:809/ProductService/userInvestVarietyYjsList/3/0/563/1/9638/1.0
http://10.15.24.61:809/ProductService/userInvestVarietyYjsList/2/0/563/1/9638/1.0
url的返回值
以下操作,統(tǒng)一是在10.25.4.7服務(wù)器上操作。由于curl的是SLB IP地址,下面的操作,其實在任何1臺CentOS服務(wù)器都可以進行。
其中,通過執(zhí)行curl命令,獲取的返回值,GET類型正確的結(jié)果如下:
[root@iZ23kdZ?~]#?curl?http://10.15.24.61:809/UserCenterService.svc/getAccountInfo/563/9638 "{\"state\":\"1\",\"data\":{\"AccountInfo\":{\"Uid\":\"563\",\"Recieving\":\"0\",\"Collect\":\"0\",\"Reading\":\"0\",\"Recommends\":\"0\",\"Bankcards\":\"0\",\"userName\":\"加加林\",\"IsQuickReg\":\"0\",\"UNameComplete\":\"0\",\"PwdComplete\":\"0\",\"IsOwner\":\"1\",\"IsRecommended\":\"1\",\"IsBindBankCard\":\"1\",\"MyBanks\":[{\"CardPadRightNum\":\"7471\",\"CardStatus\":\"2\"}],\"Email\":\"1550348062@qq.com\",\"EmailVerify\":\"\",\"isVip\":0}},\"errorInfo\":\"\",\"versionCode\":\"\"}"POST類型的正確結(jié)果如下:
[root@iZ23kdZ?~]#?curl?-d?-XPOST?http://10.15.24.61:809/ProductService/userInvestVarietyYjsList/4/0/563/1/9638/1.0 "{\"state\":\"1\",\"data\":{\"productlist\":null,\"rowCount\":0,\"ProSource\":4},\"errorInfo\":\"\",\"versionCode\":\"\"}"3個POST類型的url返回結(jié)果是一致的。
其中,以上4個url的返回結(jié)果,只需要關(guān)注返回值前面的“state”值后面為“1”,就說明接口是正常的。
因此,后面的監(jiān)控都是圍繞這個結(jié)果進行。
awk命令獲取url返回值
GET類型:
[root@iZ23kdZ?~]#?curl?http://10.15.24.61:809/UserCenterService.svc/getAccountInfo/563/9638??2>/dev/null|grep?state|cut?-d":"?-f?2|cut?-d?"\""?-f?2|cut?-d?"\\"?-f?1 1POST類型:
[root@iZ23kdZ?~]#?curl?-d-XPOST?http://10.15.24.61:809/ProductService/userInvestVarietyYjsList/4/0/563/1/9638/1.02>/dev/null|grep?state|cut?-d?":"?-f?2|cut?-d?"\""-f?2|cut?-d?"\\"?-f?1 1雖然同樣是curl命令,但是,不同類型,參數(shù)不太一樣。
只要這條命令的返回值不是1,就讓zabbix報警。
?
確認(rèn)自定義監(jiān)控腳本的位置
創(chuàng)建自定義監(jiān)控項,需要確認(rèn)自定義監(jiān)控腳本的位置。有的使用者會把自定義監(jiān)控命令直接寫到配置文件里,但是,推薦把監(jiān)控腳本放在配置文件的include目錄里。
[root@iZ23kdZ?~]#?head?-12?/etc/zabbix/zabbix_agentd.conf LogFile=/tmp/zabbix_agentd.log Server=10.25.4.8 #ServerActive=10.25.4.6 ServerActive=10.25.4.8 Hostname=10.25.4.8 #Hostname=iZ23kdZ RefreshActiveChecks=300 BufferSend=5 BufferSize=1000 MaxLinesPerSecond=200 Timeout=10 Include=/etc/zabbix/zabbix_agentd.d/*.conf就是上面最后1行配置文件指定的目錄。注意,監(jiān)控腳本的后綴要求必須是.conf,否則,zabbix不會識別。
?
相關(guān)自定義監(jiān)控腳本
[root@iZ23kdZ?~]#?ll?-tr?/etc/zabbix/zabbix_agentd.d/curl* -rw-r--r--?1?root?root?215Jun?23?14:20?/etc/zabbix/zabbix_agentd.d/curl_post_1.conf -rw-r--r--?1?root?root?215Jun?23?15:23?/etc/zabbix/zabbix_agentd.d/curl_post_2.conf -rw-r--r--?1?root?root?215Jun?23?15:28?/etc/zabbix/zabbix_agentd.d/curl_post_3.conf -rw-r--r--?1?root?root?190?Jun?23?16:11?/etc/zabbix/zabbix_agentd.d/curl_get.conf如下是自定義的監(jiān)控腳本,curl_post_3.conf沒有列出,和前2個幾乎一樣。
[root@iZ23kdZ?~]#?cat?/etc/zabbix/zabbix_agentd.d/curl_get.conf? UserParameter=curl_get,/usr/bin/curl?http://10.15.24.61:809/UserCenterService.svc/getAccountInfo/563/9638??2>/dev/null|grep?state|cut?-d":"?-f?2|cut?-d?"\""?-f?2|cut?-d?"\\"?-f?1 [root@iZ23kdZ?~]#?cat?/etc/zabbix/zabbix_agentd.d/curl_post_1.conf? UserParameter=curl_post_1,/usr/bin/curl?-d?-XPOST?http://10.15.24.61:809/ProductService/userInvestVarietyYjsList/4/0/563/1/9638/1.02>/dev/null|grep?state|cut?-d?":"?-f?2|cut?-d?"\""-f?2|cut?-d?"\\"?-f?1 [root@iZ23kdZ?~]#?cat?/etc/zabbix/zabbix_agentd.d/curl_post_2.conf? UserParameter=curl_post_2,/usr/bin/curl?-d?-XPOST?http://10.15.24.61:809/ProductService/userInvestVarietyYjsList/3/0/563/1/9638/1.02>/dev/null|grep?state|cut?-d?":"?-f?2|cut?-d?"\""-f?2|cut?-d?"\\"?-f?1自定義腳本重啟zabbix agent服務(wù)才能生效
#檢查zabbix agent服務(wù)進程
[root@iZ23kdZ?~]#?ps?-ef|grep?zabbix|grep?-v?"zabbix_server" root??????7847?26915??0?16:57?pts/0????00:00:00?grep?--color=auto?zabbix root?????18956????1??0?16:12??????????00:00:00?zabbix_agentd?-c/etc/zabbix/zabbix_agentd.conf root?????18957?18956??0?16:12??????????00:00:00?zabbix_agentd:?collector?[idle1?sec] root?????18958?18956??0?16:12??????????00:00:00?zabbix_agentd:?listener?#1[waiting?for?connection] root?????18959?18956??0?16:12??????????00:00:00?zabbix_agentd:?listener?#2[waiting?for?connection] root?????18960?18956??0?16:12?????????00:00:00?zabbix_agentd:listener?#3?[waiting?for?connection] root?????18961?18956??0?16:12??????????00:00:00?zabbix_agentd:?active?checks#1?[idle?1?sec]#殺死zabbix agent服務(wù)
[root@iZ23kdZ?~]#?pkill?-f?/etc/zabbix/zabbix_agentd.conf#查看進程結(jié)果
[root@iZ23kdZ?~]#?ps?-ef|grep?zabbix|grep?-v?"zabbix_server" root?????7934?26915??0?16:57?pts/0????00:00:00?grep?--color=auto?zabbix#啟動zabbix agent服務(wù)
[root@iZ23kdZ?~]#zabbix_agentd?-c?/etc/zabbix/zabbix_agentd.conf#查看啟動服務(wù)結(jié)果
[root@iZ23kdZ?~]#?ps?-ef|grep?zabbix|grep?-v?"zabbix_server" root??????7941????1??0?16:57??????????00:00:00?zabbix_agentd?-c/etc/zabbix/zabbix_agentd.conf root??????7942?7941??0?16:57??????????00:00:00?zabbix_agentd:?collector?[idle1?sec] root??????7943?7941??0?16:57??????????00:00:00?zabbix_agentd:?listener?#1[waiting?for?connection] root??????7944?7941??0?16:57??????????00:00:00?zabbix_agentd:?listener?#2[waiting?for?connection] root??????7945?7941??0?16:57??????????00:00:00?zabbix_agentd:?listener?#3[waiting?for?connection] root??????7946?7941??0?16:57??????????00:00:00?zabbix_agentd:?active?checks#1?[idle?1?sec] root?????7967?26915??0?16:58?pts/0????00:00:00?grep?--color=auto?zabbix請按照文檔的殺死進程和啟動服務(wù)的命令來執(zhí)行,否則,后果自負(fù)。
?
zabbix_get命令測試結(jié)果
[root@iZ23kdZ?~]#?zabbix_get?-s?10.25.4.8?-p?10050?-k?"curl_post_1" 1 [root@iZ23kdZ?~]#?zabbix_get?-s?10.25.4.8?-p?10050?-k?"curl_get" 1現(xiàn)在,就可以去zabbix的web頁面添加監(jiān)控項了。
增加Item項
依次點擊“Configuration”→“Host”
在頁面下面找到“10.253.4.8”服務(wù),點擊“Items”
4個監(jiān)控項已經(jīng)添加
4個監(jiān)控項的任意1個,點擊查看的結(jié)果:
只有4個位置需要修改。其中,“Key”值就是“zabbix_get -s 10.25.4.7 -p 10050 -k "curl_get"”命令最后的參數(shù)“-k”的值。
“Name”值建議和“Key”值保持一致。
“Description”的值是由前面提到的同事提供,就是這個4個url的中文說明。
“Applications”值是因為前面創(chuàng)建過這個監(jiān)控組。
再列出1個作為參考:
觸發(fā)值的創(chuàng)建
在zabbix的WEB界面,很多位置都可以找到這個觸發(fā)值,只要是同一臺需要監(jiān)控的服務(wù)器。
“Triggers”創(chuàng)建后的列表:
每個“Triggers”項基本一致:
“Expression”框里的表達(dá)式,需要點擊右邊的“Add”按紐:
在彈出的對話框點擊“Item”右邊的“Select”按紐:
找到對應(yīng)的監(jiān)控項,點擊確認(rèn)。
在返回的對話框里,點擊“Function”項,選中“Last (most recent) T value is NOT N”項。
最后的“N”項,輸入“1”。
點擊“Insert”按紐完成表達(dá)式的創(chuàng)建。
在“Trigger”配置頁面里,Severity項的意思是報警級別。
截圖中最下面的“Clone”按紐,可以通過它來創(chuàng)建參數(shù)相近的觸發(fā)值。前面的Items監(jiān)控項,也有這樣的按紐。
圖形的創(chuàng)建
點擊“Graphs”按紐,注意是不是對應(yīng)的服務(wù)器。
我把4個監(jiān)控項的圖形頁面放在了一起,其實,分開也可以。
細(xì)節(jié)如下:
“Graph type”是圖形類型,一般選擇默認(rèn)。
每1個監(jiān)控項是通過“Add”按紐來添加。
點擊“Preview”可以看到預(yù)覽圖。
注意:所有修改,必須點擊“Update”按紐才能生效。
目前已經(jīng)把4個url地址的監(jiān)控分開配置圖形:
curl_get配置:
curl_post_1配置:
curl_post_2配置:
最后1個也差不多。
?
現(xiàn)在,要把4張圖放在一個界面顯示:
依次點擊“Monitoring”→“Screens”
點擊“Create screen”按紐
配置的內(nèi)容如下:
“Columns”:縱列數(shù)
“Rows”:排數(shù)
點擊“Add”按紐后,在列表里點擊剛創(chuàng)建的“curl_4”
點擊右上角的“Edit screen”按紐
在彈出的頁面里點擊左上角的“Change”按紐。
在彈出的頁面里,點擊“Graph”選項的“Select”按紐
在彈出的對話框里,選擇“curl_get”
“Resource”就是“Graph”即可。
“Dynamic item”的意思是“動態(tài)獲取”,應(yīng)該勾選。
點擊“Add”按紐完成添加。
其它3個添加方法相同。
回到zabbix主界面,找到左側(cè)的“Favorite screens”,點擊“Action”按紐,在彈出的快捷菜單點擊“Add”
在彈出的對話框選中剛才創(chuàng)建的“curl_4”,點擊“Select”按紐
最后的結(jié)果:
這樣,就可以在zabbix主界面通過點擊“Favorite screens”添加的screens,同時展示4個url的監(jiān)控狀態(tài)。
補充1:screen顯示報錯可能是有地方?jīng)]有選擇正確
今天(2017年6月27日)無意間發(fā)現(xiàn)圖中的問題:
細(xì)節(jié)圖
此現(xiàn)象,是因為右上角的監(jiān)控主機選擇的其它服務(wù)器。
自定義的監(jiān)控腳本在那臺服務(wù)器上,就選擇那臺存放自定義監(jiān)控腳本的服務(wù)器即可解決。
參考文檔
https://www.abcdocker.com/abcdocker/1453——Zabbix 3.0 部署監(jiān)控 [二]
轉(zhuǎn)載于:https://blog.51cto.com/gagarin/1942089
總結(jié)
以上是生活随笔為你收集整理的zabbix增加手机端4个url地址的返回值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Swift iOS : 内存管理
- 下一篇: php脚本超时 结束执行代码