我有多个 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 后,请参阅问题的评论)。
- 如果您有旧版本,您可能需要一个脚本来执行该转换。