3 Обнаружение проблем с помощью триггеров
Обнаружение проблем в Zabbix основано на триггерах.
Триггер описывает условие проблемы, позволяя Zabbix реагировать, если проблема возникает.
Полный процесс обнаружения проблем выглядит так:
-
Убедитесь, что у вас есть элемент данных, собирающий данные.
-
Определите триггер для этого элемента данных. Без триггера Zabbix просто собирает данные, но никогда на них не реагирует.
-
Наблюдайте за обнаруженными проблемами:
-
Получайте уведомления, выполняйте удаленные команды (если они определены).
Обратите внимание, что официальные шаблоны Zabbix содержат предопределенные триггеры. См. руководство по применению шаблона для мониторинга Linux.
Что такое "триггер"?
Триггер описывает условие проблемы с помощью выражения триггера.
Условие проблемы, когда оно возникает в реальной жизни, означает, что триггер "срабатывает" (в Zabbix создаётся проблема).
Условие проблемы может основываться на последнем значении, среднем значении, обнаруженной строке и многих других функциях. Триггеры нельзя создавать для элементов данных, возвращающих значения с типом данных binary или JSON.
Простое выражение триггера вычисляет функцию (например, max() для максимального значения) для данных, указанных в скобках (обычно это элемент данных и временное окно), а затем сравнивает результат вычисления с пороговым значением.
Например:
max(/host/vfs.fs.size[/,free],5m)<10G
Этот триггер срабатывает, если свободное место на диске, измеряемое в течение 5 минут, постоянно было ниже 10 ГБ.
Триггер может иметь следующие состояния:
| Состояние триггера | Описание | В Zabbix |
|---|---|---|
| OK | Выражение триггера вычислено как "0" (или FALSE) | Проблема не создана Проблема устранена (если существовала) |
| Проблема | Выражение триггера вычислено как "1" (или TRUE) | Проблема создана |
Иногда вычисление выражения триггера по какой-либо причине невозможно. См. Неизвестное состояние выражения.
Другие ресурсы:
Частота вычисления
Триггер пересчитывается каждый раз, когда сервер Zabbix получает новое значение, которое является частью выражения.
При получении нового значения пересчитывается каждая функция, включенная в выражение (а не только та, которая получила новое значение).
Кроме того, триггер пересчитывается каждые 30 секунд (процессом history syncer), если выражение содержит одно из следующего:
- функции даты и времени
- функцию nodata()
Триггеры, содержащие только trend функции, вычисляются один раз за наименьший период времени в выражении. Хотя многие функции триггеров используют данные истории значений элемента данных, trend-функции используют данные трендов.