如何调用Zabbix API获取主机信息

news/2024/7/20 22:53:52 标签: zabbix, ios

自Zabbix 1.8版本被引进以后,Zabbix API开始扮演着越来越重要的角色,它可以为批量操作、第三方软件集成以及其他应用提供可编程接口。
在运维实践中,Zabbix API还有更多巧妙的应用。
面对规模庞大的监控设备,可能会出现某台机器发生故障但却没有报警的情况,个中缘由可能是这台机器的Zabbix客户端因为某种原因没有被服务端监控到。
解决这个问题也非常简单。为了避免某些机器未被系统监控和纳管,最简单的方案是通过调用Zabbix API获取所有被监控的主机列表,然后与运维资产数据库进行比对即可。具体操作如下:

#!/usr/bin/evn python

import requests
import json

ZABIX_ADD = 'http://10.0.1.29/zabbix'
url = ZABIX_ADD + '/api_jsonrpc.php'

# user.login
payload = {
    "jsonrpc" : "2.0",
    "method" : "user.login",
    "params" : {
        'user' : 'Admin',
        'password' :'',
        },
    "auth" : None,
    "id" : 0,
}

headers = {
    'content-type' : 'application/json',
}

req = requests.post(url, json=payload, headers=headers)
auth = req.json()

# host.get
payload = {
    "jsonrpc" : "2.0",
    "method" : "host.get",
    "params" : {
        'output' : [
            'hostid',
            'name'
        ],
    },
    "auth" : auth['result'],
    "id" : 2,
}

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

for host in res2['result'] :
    with open('host.txt', 'a+') as f:
        f.write(host['name'] + '\n')

在这里插入图片描述
以上脚本一共分为两个部分。第一部分是用户登录;第二部分用户登录后获取主机列表,最后写到一个文件中。整个脚本运行的结果是生成一个所有被监控的IP列表,通过这个列表就可以实现跟资产库信息进行对比,从而发现未被监控的主机。
以上就是这一期的技术分享。
大家好,我是乐乐,关注我,学习更多Zabbix使用小技巧,如在Zabbix使用过程中碰到问题,还可以到乐维社区进行留言提问。


http://www.niftyadmin.cn/n/5010815.html

相关文章

PHP表单token验证防CSRF攻击

在PHP中,表单token是一种安全机制,用于防止跨站请求伪造(CSRF)攻击。 CSRF攻击是一种利用用户身份在未经授权的情况下执行非法操作的攻击方式。 表单token的原理是在表单中生成一个随机的token,并将其存储在服务器端…

离线数仓同步数据3

业务数据_增量表数据同步 1)Flume配置概述2)Flume配置实操3)通道测试4)编写Flume启停脚本 1)Flume配置概述 Flume需要将Kafka中topic_db主题的数据传输到HDFS,故其需选用KafkaSource以及HDFSSink&#xff…

讯飞开放平台--星火认知大模型--开发技术文档--js实例代码结合vue使用

阿丹: 不断接收新鲜事物,才能更快成长!!!! demo代码认知: 讯飞开放平台--星火认知大模型--开发技术文档--js实例代码详解_一单成的博客-CSDN博客 效果演示: 只是一个简单效果…

解决Microsoft Edge无法正常运行的有效方案分享!

Microsoft Edge打不开或不能加载网页是用户在Windows 10、Android、Mac和iOS设备上的网络浏览器上遇到的许多错误之一。其他Microsoft Edge问题可能包括浏览器窗口和选项卡冻结、网站崩溃、互联网连接错误消息以及丢失Microsoft Edge书签、收藏夹、密码和收藏。 Microsoft Edg…

KylinOS-Server定制制作属于自己的ISO镜像文件

1、准备: 镜像文件:Kylin-Server-10-SP1-Release-Build20-20210518-x86_64.iso 然后安装在服务器上(用来定制ISO的服务器) 根据自己的需求选择安装,我这里选择的是GUI安装 2、安装制作ISO的工具 yum -y install createrepo mkisofs isomd5sum rsync squashfs-tools …

Java: 复制文件最快方法

利用Java复制文件到处都可以用到,这里总结了一个类供大家参考。里面总共有两个方法: public static boolean copyFile(String srcFileName, String destFileName,boolean overlay); public static boolean copyDirectory(String srcDirName, String dest…

如何查看APK的MD5签名及无法显示MD5签名的解决办法

https://blog.asroads.com/post/3358e0c4.html 之前的文章内已经介绍了不少的关于Android环境下出Apk 包遇到的各种填坑操作,以及一些设置小技巧,但坑是未知的,今天又踩一个坑,这次的问题是和电脑环境有关的。于是下面记录一下。 …

AFL++模糊测试

一、AFL 这里我们主要使用AFL Fuzzing 测试IOT的二进制文件,当我们解压提取一个固件时,能够获得大量的IOT二进制应用 ,如果要进行漏洞挖掘则需要将二进制文件进行逆向分析,然后查找危险函数以及输入接口,对于一个大型的…