python脚本实现检索zabbix组

编写脚本,检索组


从zabbix官方文档中使用hostgroup.get 方法获取主机组请求

官方文档地址如下:

https://www.zabbix.com/documentation/3.4/zh/manual/api/reference/hostgroup/get



import requests

# python中的dict类型要转换为json格式的数据需要用到json库

import json

#要访问的网址

url='http://192.168.1.10/api_jsonrpc.php'

#请求头部信息

headers={'Content-Type':'application/json-rpc'}

#data是从官方文档处获得的

data={

# API使用的JSON-RPC协议的版本; Zabbix API实现JSON-RPC版本2.0

    "jsonrpc":"2.0",

    #调用的API方法

    "method":"hostgroup.get",

    #params将被传递给API方法的参数

    "params":{

        "output":"extend",

    },

    #之前获取到的令牌

    "auth":"e62a813d9df8f08c336f9fac5a74e519",

    #请求的任意标识符

    "id":1

}

#使用requests发送请求,访问指定网站,向url发送data请求,r收到的返回响应为json格式

#将data转成json格式

r = requests.post(url, headers=headers, data=json.dumps(data))

ginfo = r.json()

#打印主机信息

print(ginfo['result'])

for item in ginfo['result']:

    #打印主机组id和名称

    print(item['groupid'],item['name'])


脚本运行结果

[{'groupid': '1', 'name': 'Templates', 'internal': '0', 'flags': '0'}, {'groupid': '2', 'name': 'Linux servers', 'internal': '0', 'flags': '0'}, {'groupid': '4', 'name': 'Zabbix servers', 'internal': '0', 'flags': '0'}, {'groupid': '5', 'name': 'Discovered hosts', 'internal': '1', 'flags': '0'}, {'groupid': '6', 'name': 'Virtual machines', 'internal': '0', 'flags': '0'}, {'groupid': '7', 'name': 'Hypervisors', 'internal': '0', 'flags': '0'}, {'groupid': '8', 'name': 'Templates/Modules', 'internal': '0', 'flags': '0'}, {'groupid': '9', 'name': 'Templates/Network Devices', 'internal': '0', 'flags': '0'}, {'groupid': '10', 'name': 'Templates/Operating Systems', 'internal': '0', 'flags': '0'}, {'groupid': '11', 'name': 'Templates/Servers Hardware', 'internal': '0', 'flags': '0'}, {'groupid': '12', 'name': 'Templates/Applications', 'internal': '0', 'flags': '0'}, {'groupid': '13', 'name': 'Templates/Databases', 'internal': '0', 'flags': '0'}, {'groupid': '14', 'name': 'Templates/Virtualization', 'internal': '0', 'flags': '0'}]

1 Templates

2 Linux servers

4 Zabbix servers

5 Discovered hosts

6 Virtual machines

7 Hypervisors

8 Templates/Modules

9 Templates/Network Devices

10 Templates/Operating Systems

11 Templates/Servers Hardware

12 Templates/Applications

13 Templates/Databases

14 Templates/Virtualization

获取了主机名称及id

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容