zabbix 自動發現/zabbix自動發現規則


zabbix通過自動發現規則,根據腳本自動動態的定義監控的key,再根據key獲取值

discovery.py動態獲取key

#!/usr/bin/env python
import json
import sys


def get_ip():
    a={
    "data":[
       {"{#IP}":"127.0.0.4"},
       {"{#IP}":"127.0.0.5"},
       {"{#IP}":"127.0.0.6"}
        ]
    }

    print json.dumps(a,sort_keys=True, indent=2)

get_ip()

腳本模擬動態獲取訪問最多的ip,並通過zabbix自動發現把ip作為key。這個腳本數出來的格式必須是json格式,用於zabbix去識別發現,而且里面的鍵要是data。

#!/usr/bin/env python

import sys

a={"127.0.0.4":1,"127.0.0.5":2,"127.0.0.6":3}
ip=sys.argv[1]
print a[ip]

此腳本模擬根據key獲取value

配置zabbix的配置文件

UserParameter=discovery_gsd_ip_num,/opt/script/discovery.py 
UserParameter=gsd_ip_num[*],/opt/script/get.py $1

 

zabbix頁面添加自動發現規則

 

 

添加監控原型

zabbix 定義了一個變量 {#IP} = ip 也就是我們在任何一個腳本里面都可以將這個變量加傳遞進去!

注意,這是在模板的自動發現規則里面的監控項原型定義的監控項 並不是 模板里面的監控項 兩者是不同的,當你把監控項原型定義之后,他會自動發現里面的規則,然后幫助我們自動在監控項里面添加

 

然后查看監控項,可以看到我們定義的動態的key已經生成,失效的key到期會自動刪除

查看最新數據,也可以看到已經獲取到數據

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM