@Zabbix监控平台调用API接口导出主机及报表

编程入门 行业动态 更新时间:2024-10-11 09:29:54

@Zabbix监控平台调用API接口导出主机及<a href=https://www.elefans.com/category/jswz/34/1769426.html style=报表"/>

@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接口导出主机及报表

本文发布于:2024-03-10 16:36:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1728482.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:报表   接口   主机   平台   Zabbix

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!