#!/usr/bin/python
# encoding: utf-8
#filename: host_create.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 hostCreate(method,ip,authid):
data = {
"host": ip,
"proxy_hostid": 16980, #主机所走的代理
"interfaces": [
{
"type": 1,
"main": 1,
"useip": 1,
"ip": ip,
"dns": "",
"port": "10050"
},
# { #网络设备,SNMP
# "type": 2,
# "main": 1,
# "useip": 1,
# "ip": ip,
# "dns": "",
# "port": "161"
# }
],
"groups": [
{
"groupid": 2 #主机所在的组
}
],
"templates": [
{
"templateid": 15918 #主机需要添加的模板
}
]
}
responses = z_api_con.json_data(method, data, authid)
return responses
def main_all(authid):
file = open("iplist.txt", "r")
add_file = open("host-create.txt","a+")
lists = file.readlines()
print (lists)
iplist = []
for list in lists:
ip = list.strip("\n")
#判断主机是否存在,存在将hostid和ip写入文件,不存在则创建,将IP写入文件
hostget = getHostid("host.get",ip,authid)["result"]
#print(hostget)
if hostget:
hostid = hostget[0]["hostid"]
host = hostget[0]["host"]
add_file.writelines(hostid+"\t"+host+"\n")
else:
hostcreate = hostCreate("host.create",ip,authid)
print(hostcreate)
add_file.writelines(ip+"\n")
add_file.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)
python创建zabbix主机
最新推荐文章于 2022-09-25 17:56:12 发布