Как правильно настроить Discovery Rule и Item Prototypes в Zabbix 4.0?

Привет разбираюсь с Zabbix 4.0. Нашел много информации по настройке LLD в документации и из внешних источников. Но везде рассматривают либо типичные примеры, которые я и так могу посмотреть в предустановленных шаблонах, либо вообще что-то достаточно отстраненное и люди просто не отвечают корректно.
Мой сценарий:
1. Объекты мониторинга располагаются за NAT, и обязательно используется активный агент.
2. Я использую пользовательский параметр:
UserParameter=script.memory,powershell C:\Zabbix\Deploy\Example\x64\satellite.ps1 hardware memory

3. Тестирую с zabbix_get:
{
    "data": [
        {
           "{#SPEED}": 1600,
           "{#DEVICE}": "ChannelA-DIMM0",
           "{#CAPACITY}": 8589934592
        },
        {
           "{#SPEED}": 1600,
           "{#DEVICE}": "ChannelB-DIMM0",
           "{#CAPACITY}": 8589934592
        }
    ]
}

4. Далее я хочу создать правило обнаружения которое позволит по прототипам создавать подобные метрики:
1) Имя=Speed for {#DEVICE}, Значение=1600
и
2) Имя={#DEVICE} capacity, Значение=8589934592.
5. В правиле задаю ключ: script.memory, и указываю фильтры {#SPEED} AND {#DEVICE} AND {#CAPACITY}.
Вопрос: как настроить прототипы для элементов данных, какого они должны быть типа, правильно ли я настраиваю правило?
  • Вопрос задан
  • 157 просмотров
Пригласить эксперта
Ответы на вопрос 1
@nobodysu
Так как вы хотите конечно можно сделать (почти), но это неправильное использование LLD.
Дело в том что LLD не предназначен для передачи значений элементов данных через json.

Схема такая:
- Сервер каким-либо образом узнаёт о json'e
- В течении 60ти секунд он создаёт элементы данных на хосте из прототипов для каждого элемента json'a
например, со следующим json'ом
{
    "data": [
        {
            "{#BANKNUM}": "0"
        },
        {
            "{#BANKNUM}": "2"
        }
    ]
}

эти прототипы превратятся в следующие элементы данных.
- Далее сервер должен получить значения для этих элементов данных одним из способов (скорее всего траппером).

Вот моя сырая репа - может пригодиться.
https://github.com/nobodysu/zabbix-hardware
Тип дискавери на активный наверное поменять придётся. Решение не в лоб, дабы не дёргать команду два раза, что его немного усложняет для понимания.

Также имейте в виду, что в новых заббиксах присутствует тип сбора данных Dependent Items, который может хорошо подходить для подобного типа задач:
https://www.zabbix.com/documentation/4.0/manual/co...
https://habr.com/post/419221/
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы