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

时间:2017-08-31 07:31:46

标签: python api zabbix

我正在尝试使用Zabbix API获取路由器的序列号。我使用以下代码:

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中的每个主机以及主机对象中的每个项目属性。我想要的是打印一个属于主机库存对象属性的值。另外,我想限制我的代码只获取与该IP地址174.145.27.15相关的序列号。据我所知,这段代码应该这样做。

以下是Zabbix API官方参考的示例语法。

按主机广告资源搜索

在主机清单“操作系统”字段中检索包含“Linux”的主机。

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": [
            "host"
        ],
        "selectInventory": [
            "os"
        ],
        "searchInventory": {
            "os": "Linux"
        }
    },
    "id": 2,
    "auth": "7f9e00124c75e8f25facd5c093f3e9a0"
}

以下是官方API文档的链接,您可以在其中看到主机主机广告资源

的属性

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

我真的迷失在这里,无法通过Google搜索找到任何帮助。另外,我真的不明白“id”的意思是什么:2 因为无论价值是多少,我都会得到相同的结果。

0 个答案:

没有答案