利用zabbix
#!/usr/bin/python#-*- coding:utf8 -*-
from zabbix_api import ZabbixAPI
server = "http://172.16.206.130/zabbix"
username = "Admin"
password = "zabbix"
zapi = ZabbixAPI(server=server, path="", log_level=0)
zapi.login(username, password)
#通过主机名获取hostid和interfaceid
def get_hostinfo():
host_info=zapi.host.get({"selectInterfaces":["interfaceid"],"filter":{"host":["Zabbix server"]}})
hostid = host_info['hostid']
interfaceid =host_info['interfaces']['interfaceid']
return (hostid,interfaceid)
###创建item
def create_item():
###判断主机上item是否存在,返回值为True或者False
item_exist = zapi.item.exists({"host": "Zabbix server", "key_": "proc.num[,,,/etc/nginx/nginx.conf]"})
if not item_exist:
a = get_hostinfo()
hostid = a
interfaceid = a
create_item=zapi.item.create(
{
"name":"nginx service monitor",
"key_":"proc.num[,,,/etc/nginx/nginx.conf]",
"hostid":hostid,
"type":7,
"value_type":3,
"interfaceid":interfaceid,
"date_type":0,
"delay":60,
"history":7,
"trends":90,
"status":0
}
)
return "item create success"
else:
return "item exists"
if __name__ == "__main__":
result=create_item()
print result
脚本思路:
在主机上创建item必须获取主机的hostid,interfaceid,而这两个值必须通过zabbix API提供的host.get方法获取到。然后定义一个函数get_hostinfo,该函数返回这两个hostid和interfaceid。再定义一个创建item的函数create_item,这个函数中先调用get_hostinfo函数,获取到hostid,interfaceid。先判断主机上item是存在,如果不存在,则执行create_item函数,来创建item。
页:
[1]