zabbix經過自動發現規則,根據腳本自動動態的定義監控的key,再根據key獲取值python
discovery.py動態獲取keyjson
#!/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。spa
#!/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獲取valuecode
配置zabbix的配置文件blog
UserParameter=discovery_gsd_ip_num,/opt/script/discovery.py
UserParameter=gsd_ip_num[*],/opt/script/get.py $1
zabbix頁面添加自動發現規則ip
添加監控原型get
zabbix 定義了一個變量 {#IP} = ip 也就是咱們在任何一個腳本里面均可以將這個變量加傳遞進去!原型
注意,這是在模板的自動發現規則裏面的監控項原型定義的監控項 並非 模板裏面的監控項 二者是不一樣的,當你把監控項原型定義以後,他會自動發現裏面的規則,而後幫助咱們自動在監控項裏面添加模板
而後查看監控項,能夠看到咱們定義的動態的key已經生成,失效的key到期會自動刪除class
查看最新數據,也能夠看到已經獲取到數據