對於zabbix 咱們並不陌生 他是開源的監控系統,如今的一部分企業都在用zabbix,今天給你們分享的是企業級監控zabbix的自動發現規則,有了它咱們自定義健康的時候根據宏值可讓他自動發現對應的value 從而省去咱們一部分的重複代碼 .
現需求 須要自定義一個監控腳本,目的是取各服務器三線ip地址 進行向另外一端源服務器進行ping rtt和loss的請求進行判斷是否存在丟包行爲。json
1:不一樣業務,對應不一樣的模板,咱們須要現建立一個模板,用於咱們這個特殊的業務服務器
2:建立完成後,點擊咱們建立好的模板的右邊自動發現規則,右上角建立發現規則:
ide
其中的鍵值就是咱們自定義的腳本,這個腳本會在下面給你們呈現,這個腳本的目的就是取到三線的ip傳遞到另外一個腳本進行ping rtt值和loss率,注意:這個腳本數出來的格式必須是json格式,用於zabbix去識別發現,並且裏面的鍵要是data,下面會給你們看實例測試
3:到被監控主機的其中一臺的script下定義剛纔自動發現規則定義的鍵值的腳本:
3d
其中UserParamter就是我zabbix 定義腳本位置的地方,最上面chk_kuaishou_delay[*] 就是我上面建立規則的對應鍵值,下面就是我腳本輸出的結果,你們能夠看到
這是一個字典,最外面是data,data對面的value是每個相同的key{#IPADDRES} 對面不一樣的value 固然蓋上的就是個人三線ip,這就是zabbix能自動發現的格式,而
key{#IPADDRES}也是固定的格式 這個格式須要待會咱們在zabbix頁面上指定,這樣的話 就會爲咱們省去很多的功夫 他會判斷出 ipaddres是對面3個ip地址,從而達到咱們要求的I效果
4:編寫腳本,將zabbix自動發現的value傳進去從而達到自動發現value去get值:blog
腳本以下第二個腳本就是咱們的正式監控項以及觸發器,咱們須要把上面的{#IPADDRES}的valu(ip) 傳遞到下面的腳本進行測試,固然這個整個過程咱們只須要把第二個腳本寫出來至於參數怎麼辦 徹底不須要咱們去考慮,由於後面咱們會在頁面上定義,定義{#IPADDRES}的宏值他會自動去找着這個宏對應的三個ip而後咱們再把腳本填進去就能夠了
5:定義宏值,添加監控項原型,觸發器類型,以及額外的圖形:
點擊自動發現規則裏面的過濾器,注意,這時候咱們上面定義的{#PADDRES}就起到做用了,有的朋友會有疑問,他怎麼去自動發現的,這就體現出來了,當咱們定義玩這個腳本以後,將key寫到過濾器裏面,這樣他就會把對應過濾器對應的value值取出來,最後的結果也就是 zabbix 定義了一個變量 {#PADDRES} = ip 也就是咱們在任何一個腳本里面均可以將這個變量加傳遞進去!
ip
而後咱們點擊監控項原型,將咱們要執行的腳本添加進去,裏面傳遞進來的就是咱們的宏(變量),注意,我要強調一下,這是在模板的自動發現規則裏面的監控項原型定義的監控項 並非 模板裏面的監控項 二者是不一樣的,當你把監控項原型定義以後,他會自動發現裏面的規則,而後幫助咱們自動在監控項裏面添加get
下一步,咱們將觸發器類型也要定義一下
原型
而後咱們的要求是既能報警也要將圖形的彙總趨勢展示出來 這時候 咱們須要點擊圖形原型 將兩個監控項傳遞進來it
而後點擊更新,這時候咱們的自動發現規則就完成了,如何確認已經成功了呢?,你們知道我只在模板的自動發現規則建立了監控項原型 並無在主機上建立監控項,當咱們成功地時候 會在主機的監控項自動給咱們建立監控項,圖形也會展示出來,下面請看圖
這個就是自動發現給咱們建立的監控項 其中 6個監控項 分別對應 移動聯通電信,兩個腳本 因此出現2*3 圖形也是給咱們展示出3線的圖形丟包rtt狀況 以上就是這些 有問題歡迎諮詢 QQ1301927919