Zabbix
Zabbix 自動刪除無法訪問的主機
我需要在 zabbix 中自動刪除我無法訪問/關閉的主機。所有主機都使用活動代理進行監控,因此在我的情況下,網路發現自動刪除並不方便/有用。
我編寫了一個小的 python 腳本來使用 zabbix-api 從 zabbix 中刪除/刪除主機。但是我想要實現的目標如下:
**1 :**如果主機超過 2 小時不可達,則查找所有主機
**2:**標記他們的狀態並更新要刪除的主機列表
3:24小時循環後刪除所有這些主機。
如果萬一第 2 步是不可能的,我現在對第 1 步和第 3 步非常滿意。
我無法找到 zabbix 的正確 api 響應來辨識停機或無法訪問超過一個小時或 xyz 時間的主機。
我使用觸發值從 zabbix 中刪除主機,檢查以下程式碼是否也適用於您:
from zabbix_api import ZabbixAPI, Already_Exists z = ZabbixAPI(server="https://zabbix.example.com/zabbix") z.login("exampleuser", "exampleuser") for trigger in z.trigger.get({"output": [ "triggerid", "description", "priority" ], "filter": { "value": 1 }, "sortfield": "priority", "sortorder": "DESC"}): if trigger["description"] == 'Zabbix agent on {HOST.NAME} is unreachable for 5 minutes': trigmsg = z.trigger.get({"triggerids": trigger["triggerid"], "selectHosts": "extend"}) for tm in trigmsg: for l in tm['hosts']: print l['name'], l['hostid'] print "Will kill host " + l['hostid'] + " " + l['host'] + trigger["description"] z.host.delete( [int(l['hostid'])] )