报表"/>
@Zabbix监控平台调用API接口导出主机及报表
文章目录
- 1.zabbix监控平台主机确认
- 2.Python环境配置
- 3.Python编写调用api脚本
- 4.使用zabbix的api接口调用zabbix监控主机
- 5.使用Py脚本进行zabbix报表导出
1.zabbix监控平台主机确认
当前已有监控主机11台
http://server_ip/zabbix/api_jsonrpc.php: zabbix的api接口
使用grafana展示也是调用api接口获取数据展示图形
2.Python环境配置
【python3环境配置】
3.Python编写调用api脚本
Python语言编写调用脚本
python 调用zabbix api实现查询主机信息,输出所有主机ip及hostid
#获取zabbix上所有主机的IP和主机名
#coding:utf-8
import requests
import json
import csv
import timedef get_token():data = {"jsonrpc": "2.0","method": "user.login","params": {"user": username,"password": password},"id": 0}r = requests.get(zaurl, headers=header, data=json.dumps(data))auth = json.loads(r.text)return auth["result"]def getHosts(token):data = {"jsonrpc": "2.0","method": "host.get","params": {"output": ["hostid","host"],"selectInterfaces": ["interfaceid","ip"]},"id": 2,"auth": token,}request = requests.post(zaurl, headers=header, data=json.dumps(data))dict = json.loads(request.content)print (dict['result'])return dict['result']if __name__ == "__main__":zaurl="http://192.168.1.150/zabbix/api_jsonrpc.php"header = {"Content-Type": "application/json"}username = "Admin"password = "zabbix"token = get_token()hostlist = getHosts(token)datafile = "zabbix_host_improt.cvs"fdata = open(datafile,'w')for i in hostlist:hostid = i['hostid']hostip = i['host']fdata.write(hostip + ' ' + hostid + '\n')fdata.close()
导出主机信息
shell> cat zabbix_host_improt.cvs
Zabbix server 10084
192.168.1.50 10435
aecf4d56-ddcd-7eef-b4ee-814af6201ef4 10440
564de793-f192-f439-f242-34e6a043f5dc 10441
sql server 10442
sql server1 10443
mssql02 10444
Test00 10462
Test01 10463
DESKTOP-GNKABFC 10464
nightingale 10465
4.使用zabbix的api接口调用zabbix监控主机
将zabbix_base.py脚本与zabbix_ip.py脚本放在同一个目录下,直接执行zabbix_ip.py即可,具体脚本如下所示
[root@server ~]# mkdir zabbix_host
[root@server ~]# cd zabbix_host
[root@server ~/zabbix_host]# vim zabbix_base.py
[root@server ~/zabbix_host]# vim zabbix_ip.py
[root@server ~/zabbix_host]# python3 zabbix_ip.py #执行以下脚本即可
11 #导出zabbix上的主机数量
[root@server ~/zabbix_host]# cat zabbix_ip_improt.cvs #查看导出数据
127.0.0.1 Zabbix server
192.168.1.50 192.168.1.50
192.168.1.50 aecf4d56-ddcd-7eef-b4ee-814af6201ef4
192.168.1.50 564de793-f192-f439-f242-34e6a043f5dcsql server
192.168.1.5 sql server1
127.0.0.1 mssql02
114.114.114.114 Test00
114.114.114.115 Test01
192.168.1.1 DESKTOP-GNKABFC
192.168
更多推荐
@Zabbix监控平台调用API接口导出主机及报表
发布评论