[英]get host list from zabbix api with python
請幫助我,提供一些想法或代碼))我列出了所有主機,並列出了zabbix服務器中存在的所有密鑰。 因此,當我選擇所需的密鑰時,如何顯示具有該密鑰的服務器? 在我的示例中,如何獲取具有關鍵vmware的列表主機? 謝謝我的例子:
data = {
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": "extend"
},
"auth": authId,
"id": 2
}
request = requests.post(path, data=json.dumps(data), headers={'content-type':'application/json-rpc'})
result = []
request_res = request.json()['result']
for item in request_res:
result.append(item['hostid'])
data = {
"jsonrpc": "2.0",
"method": "item.get",
"params": {
"output": "extend",
"hostids": hosts_list,
"sortfield": "name"
},
"auth": authId,
"id": 1
}
request = requests.post(path, data=json.dumps(data), headers={'content-type':'application/json-rpc'})
request_res = request.json()['result']
keys_list = []
for items in request_res:
keys_list.append(items['key_'])
keys_list = dict.fromkeys(keys_list).keys()
data = {
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"filter":{
"key_" : "vmware"
},
"output": "extend",
},
"auth": authId,
"id": 2
}
request = requests.post(path, data=json.dumps(data), headers={'content-type':'application/json-rpc'})
request_res = request.json()['result']
print request_res
1.)使用vmware鍵選擇項目ID
"method": "item.get",
"params": {
"output": ["itemid"],
"search":{
"key_" : "vmware"
}
}
2.)然后選擇具有這些項目ID的主機
"method": "host.get",
"params": {
"output": "extend",
"itemids": [<itemsids from previous step>]
},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.