簡體   English   中英

使用python從zabbix api獲取主機列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM