#!/bin/env python3 #coding:utf-8 import json import os import requests url = "http://127.0.0.1/zabbix/api_jsonrpc.php" headers = { 'Content-Type': 'application/json-rpc' } def tokenget(): data = { "jsonrpc": "2.0", "method": "user.login", "params": { "user": "zabbix管理員用戶名", "password": "密碼" }, "auth": None, "id": 0 } json_data = json.dumps(data) req = requests.post(url,data=json_data,headers=headers) js_req = req.json() return js_req['result'] def hostsget(token): data = { "jsonrpc": "2.0", "method": "host.get", "params": { "output":["hostid","name"] }, "auth": token, "id": 0 } json_data = json.dumps(data) req = requests.post(url,data=json_data,headers=headers) js_req = req.json() return js_req['result'] def hostsdel(token,hosts): data = { "jsonrpc": "2.0", "method": "host.delete", "params": hosts, "auth": token, "id": 1 } json_data = json.dumps(data) req = requests.post(url,data=json_data,headers=headers) js_req = req.json() return js_req def charse(): path = 'host.txt' #要刪除的主機條目數據文件路徑(此處文件內容爲主機名稱),也可修改爲運行時指定,此處不贅述 f = open(path,'r') return f.read() f.close() if __name__=='__main__': hostsid = [] token = tokenget() hostlist = hostsget(token) unhosts = charse() for hostinfo in hostlist: if hostinfo['name'] in unhosts: hostsid.append(hostinfo['hostid']) print(hostsdel(token,hostsid)) #注:本腳本實際使用環境版本爲 zabbix3.4,如無法使用,請查看官方文檔
ZABBIX調用API批量刪除監控條目python3腳本
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.