Назад | Перейти на главную страницу

Zabbix service.discovery несколько шаблонов для отдельных элементов и триггеров

service.discovery в Zabbix возвращает массив JSON всех текущих запущенных служб (на основе фильтров) для каждого хоста.

Я хотел бы создать иерархию шаблонов, в которой у меня есть родительский шаблон, содержащий службу LLD service.discovery, а затем добавить этот шаблон в дочерние шаблоны, которые будут извлекать соответствующие данные, которые им нужны для их конкретной роли, Skype, MySQL, антивирус и так далее.

Мой родительский шаблон находит все службы с состоянием automatic or automatic delayed через глобальное регулярное выражение ^(automatic|automatic delayed)$ [Result is TRUE] и активируется в соответствии с правилом обнаружения (фильтрами) как {#SERVICE.STARTUPNAME} через макрос шаблона.

Но при создании своих дочерних шаблонов я натолкнулся на кирпичную стену при попытке создать элементы и триггеры, например, для Skype.

Я экспериментировал с макросами, предварительной обработкой (по пункту) и всем остальным, что мог придумать, много читая документацию Zabbix, но без решения.

Вопрос Мой дочерний шаблон видит правило service.discovery из родительского шаблона, как и ожидалось, как я могу извлечь все службы для Skype из объекта JSON и создать элементы обнаружения?

Проблема В zabbix невозможно настроить более одного активного LLD service.discovery на каждый хост одновременно.

  1. Создайте шаблон, содержащий service.discovery
  2. Создайте одно или несколько глобальных регулярных выражений для служб, которые вы хотите найти.

2.1 ^ (Service1 | Service2 | Service3) [Результат ИСТИНА]

2.2 ^ (автоматически | автоматически с задержкой) $ [Результат ИСТИНА]

  1. Добавьте их как выражения фильтра под правилом service.discovery

3.1 Тип расчета = «И» и «соответствует» для выражения.

  1. Создать прототип объекта обнаружения

4.1 Имя: {# SERVICE.DISPLAYNAME} ({# SERVICE.NAME}) - {# SERVICE.STATENAME}

4.2 Ключ: service.info [{# SERVICE.NAME}, состояние]

4.3 Показать значение: состояние службы Windows

  1. Создайте новый шаблон, например Skype, и свяжите первый шаблон с шаблоном Skype. Это заставляет второй шаблон унаследовать правило service.discovery
  2. В шаблоне Skype создайте новый макрос {$ SKYPE} = ^ Skype
  3. Тип оценки = 'И / ИЛИ' и 'Соответствует' для выражения
  4. Активируйте шаблон скайпа для хоста

Zabbix 4.0