ZABBIX結合自動發現機制實現站點/hs頁面健康監控

ZABBIX結合自動發現機制實現站點/hs頁面健康監控

需求:爲了防止業務假死,我們需要對服務hs頁面進行監控

前提:項目標準化程序較高,已經規劃/hs頁面的使用

說明:ZABBIX本身也有web監控項,但是不夠靈活,每次配置一個域名都需要一連串配置纔可以,在微服務站點多切變化頻繁時管理將會十分低效

通過自動發現監控的邏輯:

1、zabbix通過腳本或者其他形式首先發現識別json域名列表進行引用

2、當zabbix自動發現完成,將發現的值配置爲變量,將變量配置爲item中

要點:自動發現需要對發現的內容json化,以便於ZABBIX識別。

亮出配置文件:

UserParameter=webhs.discovery,/bin/cat /etc/zabbix/scripts/domain.list  ##用於獲取域名列表
UserParameter=webhs[*],/bin/bash /etc/zabbix/scripts/webhs.sh $1    ##用於探測域名是否正常

準備需要被監控的站點json文件:

## 這裏的json文件請務必保證格式,建議編寫後在http://json.cn/進行測試
## 獲取域名的形式可以通過腳本調CMDB接口獲得,也可以自己編寫json文件,通過cat命令調用,但輸出請嚴格保證json
## json文件位置與配置文件中cat調用的相對應

[root@mgt-elastalert-server1 scripts]# cat domain.list 
{
    "data": [
        {"{#DOMAIN}":"userinfo.prod.xxxx.com"},
        {"{#DOMAIN}":"gateway.xxxx.com"},
        {"{#DOMAIN}":"shenjing.xxxx.com"},
        {"{#DOMAIN}":"gatewayadmin.prod.xxxx.com"},
        ...省略很多,大概一百多個
        {"{#DOMAIN}":"ppdquery.prod.xxxx.com"}
]
}

測試zabbix-server是否可以正常拿到域名列表信息

[root@mgt-zabbix-server1 ~]# zabbix_get -s 10.3.2.105 -k webhs.discovery
{
    "data": [
        {"{#DOMAIN}":"userinfo.prod.tarsapi.com"},
        {"{#DOMAIN}":"gateway.tarsplus.com"},
        {"{#DOMAIN}":"shenjing.tarsplus.com"},
        {"{#DOMAIN}":"gatewayadmin.prod.tarsapi.com"},
        ...省略很多,大概一百多個
        {"{#DOMAIN}":"ppdquery.prod.xxxx.com"}
]
}

準備檢測域名健康狀態的腳本

域名列表可以拿到後配置檢測健康狀態的腳本。原理就是zabbix拿到域名,然後將域名通過位置變量傳遞給檢測腳本執行得到返回值(失敗返回1,成功返回0),zabbix服務器根據返回值制定觸發器

[root@mgt-elastalert-server1 scripts]# vim webhs.sh ## 保證zabbix有可執行x權限
#!/bin/bash

result=`curl -I -m 10 -o /dev/null -s -w %{http_code} ${1}/hs`   ##${1}位置變量
if [ $result -eq 200 ];then
    echo "0"
elif [ $result -eq 302 ];then
    echo "0"
elif [ $result -eq 301 ];then
    echo "0"
else
    echo "1"
fi

配置ZABBIX平臺方面

一切準備就緒,新建ZABBIX模板(Templates)並配置自動發現(Discovery)

配置發現域名列表

ZABBIX結合自動發現機制實現站點/hs頁面健康監控

ZABBIX結合自動發現機制實現站點/hs頁面健康監控

配置自動發現item

ZABBIX結合自動發現機制實現站點/hs頁面健康監控

配置自動發現的trigger

ZABBIX結合自動發現機制實現站點/hs頁面健康監控

配置完畢後將模板套用到準備了webhs.sh和domain.list文件的客戶端機器上即可,兩分鐘後會發現已經自動發現並監控了

ZABBIX結合自動發現機制實現站點/hs頁面健康監控

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章