#!/usr/bin/python
# encoding: utf-8
#filename: host_template_add.py
#author: gaohaixiang
#writetime:20190713
import zabbix_base_api # zabbix-API-自定义库
import time
z_api_con = zabbix_base_api.zabbix_base_api(url='http://192.168.73.9/api_jsonrpc.php')
def getHostid(method,ip,authid):
data = {
"output": ["hostid", "host"],
"filter": {
"ip": ip
},
"selectInterfaces": ["ip"],
"selectParentTemplates": ["name"]
}
responses = z_api_con.json_data(method, data, authid)
return responses
def TemplateMassadd(method,hostid,authid):
data = {
"templates":[{"templateid":"20798"}], #zabbixserver的web页面上查找想要加的模板ID
"hosts":[{"hostid":hostid}]
}
responses = z_api_con.json_data(method, data, authid)
return responses
def main_all(authid):
file = open("iplsit.txt", "r")
ff = open("host-template-add.txt", "a+")
lists = file.readlines()
for list in lists:
ip = list.strip("\n")
hostid_result = getHostid("host.get", ip, authid)["result"]
if hostid_result:
hostid = hostid_result[0]["hostid"]
templatemassadd = TemplateMassadd("template.massadd", hostid, authid)
ff.writelines(ip+"\n")
print(templatemassadd)
ff.close()
file.close()
if __name__ == "__main__":
starttime = time.time()
print ("Process is running...")
authid = z_api_con.authid('gaohaixiang', 'gaohaixiang')
main_all(authid)
z_api_con.login_out(authid)
endtime = time.time()
print (endtime-starttime)
主机新加模板
最新推荐文章于 2023-02-01 12:30:12 发布