使用Zabbix API(python)从主机清单中获取序列号

2024-09-28 20:41:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用zabbixapi获取路由器的序列号。我使用以下代码:

from pyzabbix import ZabbixAPI

username = "myuser"
password = "mypasswd"
servername = "https://10.10.1.1/zabbix/api_jsonrpc.php"

zapi = ZabbixAPI(servername)
zapi.session.verify = False
zapi.login(username, password)

payload = {
                "jsonrpc": "2.0",
                "method": "host.get",
                "params": {
                        "output": [
                                "host"
                        ],
                        "selectInventory": [
                                "serialno_a"
                        ],
                        "searchInventory": {
                                "oob_ip": "174.145.27.15"
                        }
                },
                "id": 2
        }


hosts = zapi.host.get(payload)
print(hosts)

因此,这段代码将打印Zabbix中的每个主机,以及host对象中的每个项属性。我想要的是打印一个值,它是主机库存对象中的属性。另外,我想限制我的代码只获取与174.145.27.15 IP地址相关联的序列号。据我所知,这段代码应该能做到这一点。在

下面是来自zabbixapi官方参考的示例语法。在

按主机库存数据搜索

在主机资源清册“OS”字段中检索包含“Linux”的主机。

^{pr2}$

下面是官方API文档的链接,在这里您可以看到主机主机库存的属性

https://www.zabbix.com/documentation/3.0/manual/api/reference/host/object

我真的迷路了,在谷歌上找不到任何帮助。另外,我也不太明白这个id:2的意义,因为不管值是多少,我得到的结果都是一样的。在


Tags: 代码httpsapihost属性库存usernamepassword