Zabbix 发现 JSON 值

Zabbix 发现 JSON 值

我有多个 Zabbix 代理(Windows 代理),我需要通过本地主机 JSON URL 检查每个代理上的软件许可证详细信息。

在每个代理上,我们都可以查看本地网址上的许可证信息,如下所示http://localhost/license/GetAllActiveLicenses 此 URL 以 JSON 格式显示详细信息,如下所示:

{"GetAllActiveLicenseResult":
    {"Licenses":[
        {"LicenseName":"ImageServer","Enabled":true,"Remaining":"383 Day","StringExpireDate":"27-4-2020 00:00:00"},
        {"LicenseName":"WebReview","Enabled":true,"Remaining":"383 Day","StringExpireDate":"27-4-2020 00:00:00"},
        {"LicenseName":"Portal","Enabled":true,"Remaining":"774 Day","StringExpireDate":"23-5-2021 00:00:00"}
    ]}
}

我需要创建一个发现规则来读取每个许可证字段。

答案1

该网站并非旨在为您编写解决方案,但我们可以研究解决此问题的可能方法。

  • 如果你有 Zabbix 4.2 或更高版本,你可以使用LLD 规则中的预处理将此 JSON 转换为Zabbix LLD JSON(确保它是一个有效的 JSON 后,请参阅问题的评论)。
  • 如果您有旧版本,您可能需要一个脚本来执行该转换。

相关内容