获取zabbix上所有主机的IP和主机名 - Go语言中文社区

获取zabbix上所有主机的IP和主机名


 1 #coding:utf-8
 2 #获取zabbix上所有主机的IP和主机名
 3 import requests
 4 import json
 5 import csv
 6 import time
 7 
 8 
 9 def get_token():
10     data = {
11         "jsonrpc": "2.0",
12         "method": "user.login",
13         "params": {
14             "user": username,
15             "password": password
16         },
17         "id": 0
18     }
19     r = requests.get(zaurl, headers=header, data=json.dumps(data))
20     auth = json.loads(r.text)
21     return auth["result"]
22 
23 def getHosts(token):
24     data = {
25         "jsonrpc": "2.0",
26         "method": "host.get",
27         "params": {
28             "output": [
29                 "hostid",
30                 "host"
31             ],
32             "selectInterfaces": [
33                 "interfaceid",
34                 "ip"
35             ]
36         },
37         "id": 2,
38         "auth": token,
39 
40     }
41 
42     request = requests.post(zaurl, headers=header, data=json.dumps(data))
43     dict = json.loads(request.content)
44 #    print (dict['result'])
45     return dict['result']
46 
47 
48 if __name__ == "__main__":
49     zaurl="http://xx.xx.xx.xx/zabbix/api_jsonrpc.php"
50     header = {"Content-Type": "application/json"}
51     username = "xx"
52     password = "xx"
53 
54     token = get_token()
55     hostlist = getHosts(token)
56     datafile = "zabbix.txt"
57     fdata = open(datafile,'w')
58     for i in hostlist:
59         hostid = i['hostid']
60         hostip = i['host']
61         fdata.write(hostip + ' ' + hostid + 'n')
62     fdata.close()

 

版权声明:本文来源博客园,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.cnblogs.com/gy99/p/11763070.html
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-11-07 22:03:15
  • 阅读 ( 1031 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢