zabbix api | 获取所有hostid、ip、组名

获取zabbix 所有的hostid

from login import *

#定义模糊获取主机hostid函数
def getHostsId(url,auth):
    host_id = []
    values = {'jsonrpc': '2.0',
              'method': 'host.get',
              'params': {
                  'output': [ "hostid" ],
              },
              'auth': auth,
              'id': '1'
              }
    output = requestJson(url,values)
    for host in output[0:]:
        host_id.append(host['hostid'])
    return host_id
if __name__ == '__main__':
    auth = authenticate(url, username, password)
    HostsIds=getHostsId(url,auth)
    print HostsIds

返回结果:
[u'10084', u'10155', u'10163',.....]

获取zabbix 所有的hostip

from login import *

#定义模糊获取主机ip信息的函数
def getHostsip(url,auth):
    hostsip=[]
    values = {'jsonrpc': '2.0',
              'method': 'host.get',
              'params': {
                  'output': [ "hostid"],
                  'selectInterfaces': [ "ip" ],
              },
              'auth': auth,
              'id': '10'
              }
    output = requestJson(url,values)
    #return output
    for hosts in output[0:]:
        hostsip.append(hosts['interfaces'])
    return hostsip
if __name__ == '__main__':
    auth = authenticate(url, username, password)
    Hostsips=getHostsip(url,auth)
    print Hostsips

返回结果:
[[{u'ip': u'********'}, {u'ip': u'******'}],.....}]]

获取zabbix 所有的主机群组名称

from login import *

#定义模糊获取主机群组名称的函数
def getgropeList(url,auth):
    grope_name = []
    values = {'jsonrpc': '2.0',
              'method': 'hostgroup.get',
              'params': {
                  'output': [ "name" ],
              },
              'auth': auth,
              'id': '12'
              }
    output = requestJson(url,values)
    for grope in output[0:]:
        grope_name.append(grope['name'])
    return grope_name
if __name__ == '__main__':
    auth = authenticate(url, username, password)
    gropeList=getgropeList(url,auth)
    print gropeList

返回结果:
[u'admin-app', u'api-app',.....]

你可能感兴趣的:(zabbix api | 获取所有hostid、ip、组名)