Как сделать зависимый элемент данных в Zabbix LLD (многоуровневый JSON)?

Как в Zabbix в низкоуровневом обнаружении правильно создать зависимый элемент и считать данные из JSON?

Вот пример структуры:

{
    "host": "MR4",
    "data": [
      {
        "{#PROC}": "VIP1_iP11",
        "data": [
            {
              "{#CENCNs}": "CENCN1"
            },
            {
              "{#CENCNs}": "CENCN2"
            }
        ]
      },
      {
        "{#PROC}": "VIP2_iP12"
      }
    ]
  }

Первый уровень ({#PROC}: VIP1_iP11, VIP2_iP12) отрабатывает хорошо.

Фото1, фото2
kLJ0BzaMsTo.jpg?size=1314x393&quality=95&sign=21f70516432a696726d624f9721bab86&type=album
gHVg1MUxYwE.jpg?size=1307x589&quality=95&sign=cd98d3d147a9004c135828095b585160&type=album

Но как создать зависимый элемент данных в «Прототипы элементов данных» - чёт не пойму. Там наверно что-то в «Предобработке» надо указывать. Что я там только не пробовал указывать - зависимый элемент не отрабатывается.

Помогите пожалуйста кто разбирается в этом!
  • Вопрос задан
  • 522 просмотра
Пригласить эксперта
Ответы на вопрос 1
vesper-bot
@vesper-bot
Любитель файрволлов
Разнесите запросы LLD autodiscovery на два разных, в одном возвращаете объекты верхнего уровня {#PROC} и только их, во втором по идентификатору объекта PROC возвращаете список {#CENCN}. Далее, вместе с прототипом найденного объекта PROC пишете прототип автообнаружения LLD, в котором указываете запрос номер два для поиска и прототип элемента {#CENCN} из его результатов.

Под зависимыми объектами в Zabbix понимается несколько другой объект - например, если есть запрос на полное состояние объекта, возвращающий данные в JSON, этот JSON заббикс умеет хранить как текст, и по его значению можно создавать зависимые объекты с использованием значения состояния как исходное и JSON-преобразование вида $.path[index].subpath требуемой конфигурации для вытаскивания значения из этого JSON. Кроме того, можно преобразовывать значения вторым (следующим) препроцессором, например, из номера состояния делать его расшифровку, а-ля 2 - "running".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы