- 1 Примеры триггеров
- Обнаружение недоступного узла сети
- Обнаружение недоступного прокси
- Обнаружение недоступного кластера SMTP
- Обнаружение недоступного узла сети
- Обнаружение неожиданной перезагрузки
- Обнаружение изменений в важных файлах
- Обнаружение изменений в DNS-запросе
- Обнаружение несовпадающего программного обеспечения на разных узлах сети
- Обнаружение несинхронизированных часов
- Обнаружение устаревшего агента
- Обнаружение нестабильного интерфейса
- Обнаружение высокого входящего трафика
- Обнаружение нехватки места на диске
- Обнаружение нехватки места на диске (динамический порог)
- Обнаружение высокой загрузки CPU
- Сравнение загрузки CPU
- Сравнение долгосрочной загрузки CPU
- Обнаружение строки, содержащей специальные символы
1 Примеры триггеров
На этой странице собрана коллекция примеров триггеров.
Примеры отсортированы по вариантам использования:
- Недоступный узел сети
- Недоступный прокси
- Недоступный SMTP-кластер
- Недостижимый узел сети
- Неожиданная перезагрузка
- Изменения в важных файлах
- Изменения в DNS-запросе
- Несоответствие программного обеспечения на разных узлах сети
- Несинхронизированные часы
- Устаревший агент
- Нестабильный интерфейс
- Высокий входящий трафик
- Мало места на диске
- Мало места на диске (динамический порог)
- Высокая загрузка CPU
- Сравнение загрузки CPU
- Долгосрочное сравнение загрузки CPU
- Строка, содержащая специальные символы
Обнаружение недоступного узла сети
max(/host/zabbix[host,agent,available],5m)=0
Этот триггер срабатывает, если Zabbix агент на узле сети недоступен в течение 5 минут.
Функция: max
Элемент данных: zabbix[host,agent,available]
Альтернатива:
nodata(/host/agent.ping,5m)=1
Этот триггер срабатывает, если от Zabbix агента не поступали данные в течение 5 минут.
Функция: nodata
Элемент данных: agent.ping
Обнаружение недоступного прокси
fuzzytime(/host/zabbix[proxy,{$PROXY_NAME},lastaccess],1m)=0
Этот триггер срабатывает, если данные прокси Zabbix отстают от времени сервера Zabbix на 1 минуту.
Функция: fuzzytime
Элемент данных: zabbix[proxy,{$PROXY_NAME},lastaccess]
Обнаружение недоступного кластера SMTP
last(/smtp1.example.com/net.tcp.service[smtp])=0 and last(/smtp2.example.com/net.tcp.service[smtp])=0
Этот триггер срабатывает, если оба SMTP-сервера недоступны.
Функция: last
Элемент данных: net.tcp.service
Обнаружение недоступного узла сети
count(/host/icmpping,30m,,"0")>5
Этот триггер срабатывает, если узел сети недоступен по ping более 5 раз за последние 30 минут.
Функция: count
Элемент данных: icmpping
Обнаружение неожиданной перезагрузки
change(/host/system.uptime)<0
Этот триггер срабатывает, если обнаружено отрицательное изменение значения времени работы системы (что указывает на перезагрузку).
Функция: change
Элемент данных: system.uptime
Обнаружение изменений в важных файлах
last(/host/vfs.file.cksum[/etc/passwd],#1)<>last(/host/vfs.file.cksum[/etc/passwd],#2)
Этот триггер срабатывает, если файл /etc/passwd был изменен. Выражение истинно, когда предыдущая контрольная сумма /etc/passwd отличается от самой последней. Подобные выражения могут быть полезны для мониторинга изменений в важных файлах, таких как /etc/passwd, /etc/inetd.conf, /kernel и т. д.
Функция: last
Элемент данных: vfs.file.cksum
Обнаружение изменений в DNS-запросе
last(/Zabbix server/net.dns.record[192.0.2.0,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1])<>"{$WEBSITE_NAME} {$DNS_RESOURCE_RECORD_TYPE} 0 mail.{$WEBSITE_NAME}"
Обратите внимание на кавычки вокруг второго операнда.
Этот триггер срабатывает, если результат запроса не равен тому, что он обычно возвращает:
example.com MX 0 mail.example.com
Функция: last
Элемент данных: net.dns.record[192.0.2.0,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1], с определёнными макросами:
{$WEBSITE_NAME} = example.com
{$DNS_RESOURCE_RECORD_TYPE} = MX
Обнаружение несовпадающего программного обеспечения на разных узлах сети
last(/host/vfs.file.contents[/etc/os-release])<>last(/host2/vfs.file.contents[/etc/os-release])
Этот триггер срабатывает, если версия Ubuntu отличается на разных узлах сети. Обратите внимание, что операндами здесь являются функции, которые возвращают строки.
Функция: last
Элемент данных: vfs.file.contents
Обнаружение несинхронизированных часов
fuzzytime(/host/system.localtime,10s)=0
Триггер срабатывает, если локальное время клиента и время сервера Zabbix отличаются более чем на 10 секунд.
Функция: fuzzytime
Элемент данных: system.localtime
Обратите внимание, что system.localtime должен быть настроен как пассивная проверка для агента Zabbix; в Zabbix agent 2 он может быть настроен как активная проверка.
Обнаружение устаревшего агента
find(/host/agent.version,,"like","beta")=1
Этот триггер срабатывает, если Zabbix агент имеет бета-версию. Zabbix агент необходимо обновить.
Функция: find
Элемент данных: agent.version
Обнаружение нестабильного интерфейса
changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5
Этот триггер срабатывает, если рабочее состояние (up/down/unknown) eth0 изменилось более 5 раз в течение часа.
Функция: changecount
Элемент данных: vfs.file.contents
Обнаружение высокого входящего трафика
min(/host/net.if.in[eth0,bytes],5m)>100K
Этот триггер срабатывает, если количество полученных байтов на eth0 за последние пять минут всегда было больше 100 килобайт. Вероятно, кто-то загружает большой файл.
Функция: min
Элемент данных: net.if.in[eth0,bytes]
Обнаружение нехватки места на диске
max(/host/vfs.fs.size[/,free],5m)<10G
Триггер срабатывает, если свободное место на диске стабильно (в течение 5 минут) ниже 10 ГБ.
Вы также можете определить выражение восстановления:
min(/host/vfs.fs.size[/,free],10m)>40G
Проблема устраняется только тогда, когда свободное место на диске стабильно (в течение 10 минут) превышает 40 ГБ.
Функция: min
Элемент данных: vfs.fs.size
Обнаружение нехватки места на диске (динамический порог)
last(/template/hrStorageFree[{#SNMPVALUE}])<last(/template/hrStorageSize[{#SNMPVALUE}])*0.1
Триггер срабатывает, если свободное пространство хранилища (в единицах выделения) падает ниже 10 процентов. Обратите внимание на использование значения другого элемента данных для получения адаптивного порога триггера, применимого к обнаруженным хранилищам различного размера.
Функция: last
Обнаружение высокой загрузки CPU
last(/host/system.cpu.load[all,avg1])>5
Триггер срабатывает, когда средняя загрузка процессора превышает 5 в течение одной минуты.
Варианты:
min(/host/system.cpu.load[all,avg1],5m)>2 and time()<060000
min(/host/system.cpu.load[all,avg1],5m)>2 and not (dayofweek()=7 and time()>230000) and not (dayofweek()=1 and time()<010000)
Такие триггеры анализируют данные за 5 минут и срабатывают, только если загрузка CPU ни разу не опускается ниже 2. Дополнительно эти триггеры срабатывают:
- только в ночное время (00:00-06:00)
- в любое время, кроме 2 часов при смене недели (воскресенье, 23:00 - понедельник, 01:00)
(last(/host/system.cpu.load[all,avg1])>5) + (last(/host2/system.cpu.load[all,avg1])>5) + (last(/host3/system.cpu.load[all,avg1])>5)>=2
Этот триггер срабатывает, если загрузка процессора слишком высока как минимум на двух из трех узлов сети.
Функции: last, min, dayofweek, time
Элемент данных: system.cpu.load
Сравнение загрузки CPU
avg(/Zabbix server/system.cpu.load,1h)/avg(/Zabbix server/system.cpu.load,1h:now-1d)>2
Триггер срабатывает, если средняя загрузка сегодня более чем в два раза превышает среднюю загрузку за тот же час вчера (с использованием сдвига времени now-1d).
Функция: avg
Элемент данных: system.cpu.load
Сравнение долгосрочной загрузки CPU
trendavg(/host/system.cpu.load,1M:now/M)>1.1*trendavg(/host/system.cpu.load,1M:now/M-1M)
Этот триггер срабатывает, если загрузка CPU на узле сети за последний месяц увеличилась более чем на 10%
Функция: trendavg
Элемент данных: system.cpu.load
Вы также можете использовать поле Имя события в настройках триггера, чтобы сформировать осмысленное сообщение оповещения, например, чтобы получить что-то вроде
"Загрузка сервера Exchange увеличилась на 24% в июле (0.69) по сравнению с июнем (0.56)"
имя события должно быть определено как:
Load of {HOST.HOST} server increased by {{?100*trendavg(//system.cpu.load,1M:now/M)/trendavg(//system.cpu.load,1M:now/M-1M)}.fmtnum(0)}% in {{TIME}.fmttime(%B,-1M)} ({{?trendavg(//system.cpu.load,1M:now/M)}.fmtnum(2)}) comparing to {{TIME}.fmttime(%B,-2M)} ({{?trendavg(//system.cpu.load,1M:now/M-1M)}.fmtnum(2)})
Для такого рода проблемы также полезно разрешить ручное закрытие в настройках триггера.
Обнаружение строки, содержащей специальные символы
last(/host/vfs.file.contents[/tmp/hello])={$HELLO_MACRO}
Триггер срабатывает, если содержимое /tmp/hello равно строке, определенной в {$HELLO_MACRO}:
{$HELLO_MACRO} = \" //hello ?\"
В качестве альтернативы можно сравнить со строкой напрямую:
last(/Zabbix server/vfs.file.contents[/tmp/hello])="\\\" //hello ?\\\""
Обратите внимание, как специальные символы (\\ и ") экранируются, когда строка сравнивается напрямую.
Функция: last
Элемент данных: vfs.file.contents
Есть пример выражения триггера, который может быть полезен другим?
Отправьте свой пример (включая само выражение и контекст) с помощью нашей формы предложений, чтобы передать его разработчикам Zabbix.