- Change ses.scenario.failed triggers: last() -> avg(#3) for reliable detection - Remove ses.scenario.ok trigger (duplicates scenario.failed > 0) - Fix preprocessing: parameters with parameter child elements for Zabbix 6.0 - Remove UUID dashes (32 hex chars) for Zabbix 6.0 compatibility - Fix template_groups -> groups format for Zabbix 6.0 - Fix strlen() -> length() for Zabbix 6.0 trigger compatibility - All templates now have 6 triggers each
236 lines
12 KiB
XML
236 lines
12 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<zabbix_export>
|
||
<version>6.4</version>
|
||
<template_groups>
|
||
<template_group>
|
||
<uuid>07e4cdf99f034fe199f05186adfe30b2</uuid>
|
||
<name>Templates</name>
|
||
</template_group>
|
||
</template_groups>
|
||
<templates>
|
||
<template>
|
||
<uuid>eaffa798691645f6b82eb720b3976251</uuid>
|
||
<template>SES Monitor</template>
|
||
<name>SES Monitor</name>
|
||
<description>Шаблон для мониторинга диалоговой сценарной машины SES.
|
||
Метрики отправляются watchdog-демоном ses-monitor через zabbix_sender (trapper).
|
||
|
||
Проверяет: доступность API, лицензию, выполнение сценариев.
|
||
|
||
Сценарии задаются в YAML-файлах (config/scenarios/). Все сценарии
|
||
агрегируются в фиксированные метрики — шаблон универсален и не зависит
|
||
от количества или состава сценариев.</description>
|
||
|
||
<groups>
|
||
<group>
|
||
<name>Templates</name>
|
||
</group>
|
||
</groups>
|
||
|
||
<macros>
|
||
<macro>
|
||
<macro>{$SES_API_TIMEOUT_MS}</macro>
|
||
<value>5000</value>
|
||
<description>Порог медленного ответа API (миллисекунды)</description>
|
||
</macro>
|
||
</macros>
|
||
|
||
<items>
|
||
|
||
<item>
|
||
<uuid>1b1b94f0c99342b7a18ce8c1bedca545</uuid>
|
||
<name>SES: API доступность</name>
|
||
<type>TRAP</type>
|
||
<key>ses.api.liveness</key>
|
||
<delay>0</delay>
|
||
<history>7d</history>
|
||
<trends>30d</trends>
|
||
<value_type>UNSIGNED</value_type>
|
||
<description>0 — API недоступен, 1 — работает. Проверяется GET /ses/hostname.</description>
|
||
<triggers>
|
||
<trigger>
|
||
<uuid>a55f63b525fa40a5b3ff47e608ca3402</uuid>
|
||
<expression>last(/SES Monitor/ses.api.liveness)=0</expression>
|
||
<name>SES API недоступен на {HOST.NAME}</name>
|
||
<priority>HIGH</priority>
|
||
<manual_close>YES</manual_close>
|
||
</trigger>
|
||
</triggers>
|
||
</item>
|
||
|
||
<item>
|
||
<uuid>e050ded4f44946b1bb3a91cdf1fb7033</uuid>
|
||
<name>SES: время ответа API</name>
|
||
<type>TRAP</type>
|
||
<key>ses.api.response_time</key>
|
||
<delay>0</delay>
|
||
<history>7d</history>
|
||
<trends>30d</trends>
|
||
<value_type>FLOAT</value_type>
|
||
<units>ms</units>
|
||
<description>Время ответа GET /ses/hostname в миллисекундах.</description>
|
||
<triggers>
|
||
<trigger>
|
||
<uuid>175ec134062344e19c1cbb8e0e783805</uuid>
|
||
<expression>last(/SES Monitor/ses.api.response_time)>{$SES_API_TIMEOUT_MS}</expression>
|
||
<name>SES: медленный ответ API (>{$SES_API_TIMEOUT_MS} мс)</name>
|
||
<priority>WARNING</priority>
|
||
<manual_close>YES</manual_close>
|
||
</trigger>
|
||
</triggers>
|
||
</item>
|
||
|
||
<item>
|
||
<uuid>a9c57b199b994a7eb5988dadfd7d99ec</uuid>
|
||
<name>SES: статус лицензии</name>
|
||
<type>TRAP</type>
|
||
<key>ses.license.ok</key>
|
||
<delay>0</delay>
|
||
<history>7d</history>
|
||
<trends>30d</trends>
|
||
<value_type>UNSIGNED</value_type>
|
||
<description>0 — проблема с лицензией, 1 — в порядке.</description>
|
||
<triggers>
|
||
<trigger>
|
||
<uuid>204a5e48885b4b8eb179c41d6e238a28</uuid>
|
||
<expression>last(/SES Monitor/ses.license.ok)=0</expression>
|
||
<name>SES: проблема с лицензией на {HOST.NAME}</name>
|
||
<priority>HIGH</priority>
|
||
<manual_close>YES</manual_close>
|
||
</trigger>
|
||
</triggers>
|
||
</item>
|
||
|
||
<item>
|
||
<uuid>55389b8a8df94180a16a65d803812ca7</uuid>
|
||
<name>SES: дней до окончания лицензии</name>
|
||
<type>TRAP</type>
|
||
<key>ses.license.days_remaining</key>
|
||
<delay>0</delay>
|
||
<history>7d</history>
|
||
<trends>30d</trends>
|
||
<value_type>FLOAT</value_type>
|
||
<units>d</units>
|
||
<description>Количество дней до окончания лицензии SES. -1 = бессрочная.</description>
|
||
<triggers>
|
||
<trigger>
|
||
<uuid>82479a2d-72d3-4935-905e-5aa5ac2c24e3</uuid>
|
||
<expression>last(/SES Monitor/ses.license.days_remaining)>0 and last(/SES Monitor/ses.license.days_remaining)<30</expression>
|
||
<name>SES: лицензия истекает через (<30 дней) на {HOST.NAME}</name>
|
||
<priority>WARNING</priority>
|
||
<manual_close>YES</manual_close>
|
||
</trigger>
|
||
</triggers>
|
||
</item>
|
||
|
||
<item>
|
||
<uuid>85dd1639455048dfa9a10ece3672072d</uuid>
|
||
<name>SES: количество сценариев (роботов)</name>
|
||
<type>TRAP</type>
|
||
<key>ses.robots.count</key>
|
||
<delay>0</delay>
|
||
<history>7d</history>
|
||
<trends>30d</trends>
|
||
<value_type>UNSIGNED</value_type>
|
||
<description>Общее количество зарегистрированных сценариев (роботов).
|
||
Изменение значения может сигнализировать о проблемах конфигурации.</description>
|
||
</item>
|
||
|
||
<item>
|
||
<uuid>6a8c0db40224428597ec74f3e1676b0c</uuid>
|
||
<name>SES: тестовые сценарии — все успешны</name>
|
||
<type>TRAP</type>
|
||
<key>ses.scenario.ok</key>
|
||
<delay>0</delay>
|
||
<history>7d</history>
|
||
<trends>30d</trends>
|
||
<value_type>UNSIGNED</value_type>
|
||
<description>1 — все сценарии прошли, 0 — есть упавшие.</description>
|
||
|
||
</item>
|
||
|
||
<item>
|
||
<uuid>1cc5ee304244475bbc9bada151b722ab</uuid>
|
||
<name>SES: тестовые сценарии — всего</name>
|
||
<type>TRAP</type>
|
||
<key>ses.scenario.total</key>
|
||
<delay>0</delay>
|
||
<history>7d</history>
|
||
<trends>30d</trends>
|
||
<value_type>UNSIGNED</value_type>
|
||
<description>Количество активных сценариев мониторинга.</description>
|
||
</item>
|
||
|
||
<item>
|
||
<uuid>9659535283ea4b26972ea7f4388759a1</uuid>
|
||
<name>SES: тестовые сценарии — упало</name>
|
||
<type>TRAP</type>
|
||
<key>ses.scenario.failed</key>
|
||
<delay>0</delay>
|
||
<history>7d</history>
|
||
<trends>30d</trends>
|
||
<value_type>UNSIGNED</value_type>
|
||
<description>Количество упавших сценариев за последний цикл.</description>
|
||
<triggers>
|
||
<trigger>
|
||
<uuid>b5a9deae3de74d68b3a92617541bf0c8</uuid>
|
||
<expression>avg(/SES Monitor/ses.scenario.failed,#3)>0</expression>
|
||
<name>SES: тестовые сценарии мониторинга падают на {HOST.NAME}</name>
|
||
<priority>WARNING</priority>
|
||
<manual_close>YES</manual_close>
|
||
</trigger>
|
||
</triggers>
|
||
</item>
|
||
|
||
<item>
|
||
<uuid>6e7d1816d830492fbe05fc7d5adaea5d</uuid>
|
||
<name>SES: тестовые сценарии — среднее время</name>
|
||
<type>TRAP</type>
|
||
<key>ses.scenario.avg_time</key>
|
||
<delay>0</delay>
|
||
<history>7d</history>
|
||
<trends>30d</trends>
|
||
<value_type>FLOAT</value_type>
|
||
<units>ms</units>
|
||
<description>Среднее время выполнения сценария (миллисекунды).</description>
|
||
</item>
|
||
|
||
<item>
|
||
<uuid>0a2334ec323c4b3786f59f94b65a2b43</uuid>
|
||
<name>SES: тестовые сценарии — макс. время</name>
|
||
<type>TRAP</type>
|
||
<key>ses.scenario.max_time</key>
|
||
<delay>0</delay>
|
||
<history>7d</history>
|
||
<trends>30d</trends>
|
||
<value_type>FLOAT</value_type>
|
||
<units>ms</units>
|
||
<description>Максимальное время выполнения сценария (миллисекунды).</description>
|
||
</item>
|
||
|
||
<item>
|
||
<uuid>66e5b08b9d3f45d295df6ef9f90fca32</uuid>
|
||
<name>SES: тестовые сценарии — ошибка</name>
|
||
<type>TRAP</type>
|
||
<key>ses.scenario.error</key>
|
||
<delay>0</delay>
|
||
<history>7d</history>
|
||
<trends>0</trends>
|
||
<value_type>TEXT</value_type>
|
||
<description>Текст ошибки: "N сценариев упали". Пустая строка если всё хорошо.</description>
|
||
<triggers>
|
||
<trigger>
|
||
<uuid>71bad15f-2b6e-4130-8567-4fd88f419bb5</uuid>
|
||
<expression>last(/SES Monitor/ses.scenario.error) <> ''</expression>
|
||
<name>SES: критическая ошибка выполнения сценариев на {HOST.NAME}</name>
|
||
<priority>DISASTER</priority>
|
||
<manual_close>YES</manual_close>
|
||
</trigger>
|
||
</triggers>
|
||
</item>
|
||
|
||
</items>
|
||
</template>
|
||
</templates>
|
||
</zabbix_export>
|