Я пытаюсь создать правило обнаружения для мониторинга корпоративного приложения, и мой скрипт возвращает следующий JSON.
{
"data": [{
"{#NODENAME}": "node1",
"{#NODEINTERFACE}": ["eth0", "eth1"]
},
{
"{#NODENAME}": "node2",
"{#NODEINTERFACE}": ["eth2", "eth3"]
}
]
}
В интерфейсе Zabbix я создал обнаружение со следующими параметрами:
Название:: Узлы обнаружения и интерфейсы
Тип: Zabbix агент
Ключ app.discovery
И во ВКЛАДКЕ «Фильтры»:
Тип расчета: И / или
Ожидаемое поведение Zabbix - создание следующих ключей:
Формат ключей:
app.getinfo["{#NODENAME}","{#NODEINTERFACE}]
То есть для каждый NODENAME Создайте N ключи по одному на каждый интерфейс
Ключи открытия:
app.getInfo["node1","eth0"]
app.getInfo["node1","eth1"]
app.getInfo["node2","eth2"]
app.getInfo["node2","eth3"]
Поведение получило:
Если Тип расчета является И / или, Zabbix не создать предметы
И если Тип расчета является Или, Zabbix создать один элемент для каждого NODENAME и игнорировать / не распознавать NODEINTERFACE
Я сомневаюсь, как создать правило обнаружения. Для каждого NODENAME создайте N элементов с информацией NODEINTERFACE.
Во-первых, вероятно, неверен ключ прототипа - кавычки не закрываются в app.getinfo["{#NODENAME}","{#NODEINTERFACE}]
.
Во-вторых, ваш JSON должен быть таким:
{
"data": [
{
"{#NODENAME}": "node1",
"{#NODEINTERFACE}": "eth0"
},
{
"{#NODENAME}": "node1",
"{#NODEINTERFACE}": "eth1"
},
{
"{#NODENAME}": "node2",
"{#NODEINTERFACE}": "eth2"
}
{
"{#NODENAME}": "node2",
"{#NODEINTERFACE}": "eth3"
}
]
}
Обратите внимание, как каждая запись должна содержать один набор значений, которые вы хотите представить в созданных объектах.