python通过zabbix api获取主机
zabbix强大地方在于有强大的api,zabbix的api可以拿到zabbix大部分数据,目前我所需的数据基本可以通过api获取,以下是通过zabbixapi获取的主机信息python代码,其他数据也如此类推,api使用方法可参见官网文档:
#!/usr/bin/envpython #-*-coding:utf-8-*- importjson importurllib2 fromurllib2importURLError fromloginimportzabbix_login t=zabbix_login() defhostid_get(): data=json.dumps( { "jsonrpc":"2.0", "method":"host.get", "params":{ "output":"extend", "groupids":14, "filter":{"flags":"4"}, }, "auth":t.user_login(), "id":1, }) request=urllib2.Request(t.url,data) forkeyint.header: request.add_header(key,t.header[key]) try: result=urllib2.urlopen(request) exceptURLErrorase: ifhasattr(e,'reason'): print'zabbixserverisfaile' print'Reason:',e.reason elifhasattr(e,'code'): print'zabbixservernotrequest.' print'Errorcode:',e.code else: response=json.loads(result.read()) result.close() hostid=[] hostname=[] forhostinresponse['result']: hostid.append(host['hostid']) hostname.append(host['name']) returnhostid,hostname if__name__=="__main__": a,b=hostid_get() i=0 n=len(b) foriinrange(n): printa[i],b[i]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。