[comment]: # ({188108fa-226b9489})
# 1 Примеры триггеров

На этой странице собрана коллекция примеров триггеров. 

Примеры отсортированы по вариантам использования:

-   [Недоступный узел сети](#detect-unavailable-host)
-   [Недоступный прокси](#detect-unavailable-proxy)
-   [Недоступный SMTP-кластер](#detect-unavailable-smtp-cluster)
-   [Недостижимый узел сети](#detect-unreachable-host)
-   [Неожиданная перезагрузка](#detect-unexpected-reboot)
-   [Изменения в важных файлах](#detect-changes-in-important-files)
-   [Изменения в DNS-запросе](#detect-changes-in-dns-query)
-   [Несоответствие программного обеспечения на разных узлах сети](#detect-non-matching-software-on-different-hosts)
-   [Несинхронизированные часы](#detect-unsynchronized-clocks)
-   [Устаревший агент](#detect-outdated-agent)
-   [Нестабильный интерфейс](#detect-flapping-interface)
-   [Высокий входящий трафик](#detect-high-incoming-traffic)
-   [Мало места на диске](#detect-low-disk-space)
-   [Мало места на диске (динамический порог)](#detect-low-disk-space-dynamic-threshold)
-   [Высокая загрузка CPU](#detect-high-cpu-load)
-   [Сравнение загрузки CPU](#compare-cpu-loads)
-   [Долгосрочное сравнение загрузки CPU](#compare-cpu-loads)
-   [Строка, содержащая специальные символы](#detect-string-containing-special-characters)

[comment]: # ({/188108fa-226b9489})

[comment]: # ({2116104b-1b661572})
##### Обнаружение недоступного узла сети

```default
max(/host/zabbix[host,agent,available],5m)=0
```
Этот триггер срабатывает, если Zabbix агент на узле сети недоступен в течение 5 минут.<br>
Функция: [`max`](/manual/config/triggers/expression/aggregate#max)<br>
Элемент данных: [`zabbix[host,agent,available]`](/manual/config/items/itemtypes/internal#host.available)

Альтернатива:

```default
nodata(/host/agent.ping,5m)=1
```

Этот триггер срабатывает, если от Zabbix агента не поступали данные в течение 5 минут.<br>
Функция: [`nodata`](/manual/config/triggers/expression/history#nodata)<br>
Элемент данных: [`agent.ping`](/manual/config/items/itemtypes/zabbix_agent#agent.ping)

[comment]: # ({/2116104b-1b661572})

[comment]: # ({fedc75b0-de5361b9})
##### Обнаружение недоступного прокси

```default
fuzzytime(/host/zabbix[proxy,{$PROXY_NAME},lastaccess],1m)=0
```

Этот триггер срабатывает, если данные прокси Zabbix отстают от времени сервера Zabbix на 1 минуту.<br>
Функция: [`fuzzytime`](/manual/config/triggers/expression/history#fuzzytime)<br>
Элемент данных: [`zabbix[proxy,{$PROXY_NAME},lastaccess]`](/manual/config/items/itemtypes/internal#proxy)

[comment]: # ({/fedc75b0-de5361b9})

[comment]: # ({a2a7ab26-7956e04e})
##### Обнаружение недоступного кластера SMTP

```default
last(/smtp1.example.com/net.tcp.service[smtp])=0 and last(/smtp2.example.com/net.tcp.service[smtp])=0
```

Этот триггер срабатывает, если оба SMTP-сервера недоступны.<br>
Функция: [`last`](/manual/config/triggers/expression/history#last)<br>
Элемент данных: [`net.tcp.service`](/manual/config/items/itemtypes/simple_checks#nettcpservice)

[comment]: # ({/a2a7ab26-7956e04e})

[comment]: # ({c2c339fa-567b88a9})
##### Обнаружение недоступного узла сети

```default
count(/host/icmpping,30m,,"0")>5
```

Этот триггер срабатывает, если узел сети недоступен по ping более 5 раз за последние 30 минут.<br>
Функция: [`count`](/manual/config/triggers/expression/history#count)<br>
Элемент данных: [`icmpping`](/manual/config/items/itemtypes/simple_checks#icmpping)

[comment]: # ({/c2c339fa-567b88a9})

[comment]: # ({e9862861-b356d712})
##### Обнаружение неожиданной перезагрузки

```default
change(/host/system.uptime)<0
```

Этот триггер срабатывает, если обнаружено отрицательное изменение значения времени работы системы (что указывает на перезагрузку).<br>
Функция: [`change`](/manual/config/triggers/expression/history#change)<br>
Элемент данных: [`system.uptime`](/manual/config/items/itemtypes/zabbix_agent#system.uptime)

[comment]: # ({/e9862861-b356d712})

[comment]: # ({1ee22f8b-49592749})
##### Обнаружение изменений в важных файлах

```default
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` и т. д.<br>
Функция: [`last`](/manual/config/triggers/expression/history#last)<br>
Элемент данных: [`vfs.file.cksum`](/manual/config/items/itemtypes/zabbix_agent#vfs.file.cksum)

[comment]: # ({/1ee22f8b-49592749})

[comment]: # ({7df0f916-c2b4949f})
##### Обнаружение изменений в DNS-запросе

```default
last(/Zabbix server/net.dns.record[192.0.2.1,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1])<>"{$WEBSITE_NAME}           {$DNS_RESOURCE_RECORD_TYPE}       0 mail.{$WEBSITE_NAME}"
```

Обратите внимание на кавычки вокруг второго операнда.

Этот триггер срабатывает, если результат запроса не равен тому, что он обычно возвращает:

```default
example.com           MX       0 mail.example.com
```

Функция: [`last`](/manual/config/triggers/expression/history#last)<br>
Элемент данных: [`net.dns.record[192.0.2.1,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1]`](/manual/config/items/itemtypes/zabbix_agent#net.dns.record), с макросами, определенными следующим образом:

```default
{$WEBSITE_NAME} = example.com
{$DNS_RESOURCE_RECORD_TYPE} = MX
```

[comment]: # ({/7df0f916-c2b4949f})

[comment]: # ({0fc019ff-adfc6b9d})
##### Обнаружение несовпадающего программного обеспечения на разных узлах сети

```default
last(/host/vfs.file.contents[/etc/os-release])<>last(/host2/vfs.file.contents[/etc/os-release])
```

Этот триггер срабатывает, если версия Ubuntu отличается на разных узлах сети. Обратите внимание, что операндами здесь являются функции, которые возвращают строки.<br>
Функция: [`last`](/manual/config/triggers/expression/history#last)<br>
Элемент данных: [`vfs.file.contents`](/manual/config/items/itemtypes/zabbix_agent#vfs.file.contents)

[comment]: # ({/0fc019ff-adfc6b9d})

[comment]: # ({101c1203-0e6bfc51})
##### Обнаружение несинхронизированных часов

```default
fuzzytime(/host/system.localtime,10s)=0
```

Триггер срабатывает, если локальное время клиента и время сервера Zabbix отличаются более чем на 10 секунд.<br>
Функция: [`fuzzytime`](/manual/config/triggers/expression/history#fuzzytime)<br>
Элемент данных: [`system.localtime`](/manual/config/items/itemtypes/zabbix_agent#system.localtime)

Обратите внимание, что [`system.localtime`](/manual/config/items/itemtypes/zabbix_agent#systemlocaltime) должен быть настроен как [пассивная проверка](/manual/appendix/items/activepassive#passive-checks) для агента Zabbix; в Zabbix agent 2 он может быть настроен как активная проверка.

[comment]: # ({/101c1203-0e6bfc51})

[comment]: # ({108d71c4-62cfb014})
##### Обнаружение устаревшего агента

```default
find(/host/agent.version,,"like","beta")=1
```

Этот триггер срабатывает, если Zabbix агент имеет бета-версию. Zabbix агент необходимо обновить.<br>
Функция: [`find`](/manual/config/triggers/expression/history#find)<br>
Элемент данных: [`agent.version`](/manual/config/items/itemtypes/zabbix_agent#agent.version)

[comment]: # ({/108d71c4-62cfb014})

[comment]: # ({b4fdf283-3f25a585})
##### Обнаружение нестабильного интерфейса

```default
changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5 
```

Этот триггер срабатывает, если рабочее состояние (up/down/unknown) `eth0` изменилось более 5 раз в течение часа.<br>
Функция: [`changecount`](/manual/config/triggers/expression/history#changecount)<br>
Элемент данных: [`vfs.file.contents`](/manual/config/items/itemtypes/zabbix_agent#vfs.file.contents)

[comment]: # ({/b4fdf283-3f25a585})

[comment]: # ({984a4c2f-46e72843})
##### Обнаружение высокого входящего трафика

```default
min(/host/net.if.in[eth0,bytes],5m)>100K
```

Этот триггер срабатывает, если количество полученных байтов на `eth0` за последние пять минут всегда было больше 100 килобайт. Вероятно, кто-то загружает большой файл.<br>
Функция: [`min`](/manual/config/triggers/expression/aggregate#min)<br>
Элемент данных: [`net.if.in[eth0,bytes]`](/manual/config/items/itemtypes/zabbix_agent#net.if.in)

[comment]: # ({/984a4c2f-46e72843})

[comment]: # ({2e223320-bddf0717})
##### Обнаружение нехватки места на диске

```default
max(/host/vfs.fs.size[/,free],5m)<10G
```

Триггер срабатывает, если свободное место на диске стабильно (в течение 5 минут) ниже 10 ГБ.

Вы также можете определить выражение восстановления:

```default
min(/host/vfs.fs.size[/,free],10m)>40G
```

Проблема **устраняется** только тогда, когда свободное место на диске стабильно (в течение 10 минут) превышает 40 ГБ.<br>
Функция: [`min`](/manual/config/triggers/expression/aggregate#min)<br>
Элемент данных: [`vfs.fs.size`](/manual/config/items/itemtypes/zabbix_agent#vfs.fs.size)

[comment]: # ({/2e223320-bddf0717})

[comment]: # ({e2a732dc-bb0f5278})
##### Обнаружение нехватки места на диске (динамический порог)

```default
last(/template/hrStorageFree[{#SNMPVALUE}])<last(/template/hrStorageSize[{#SNMPVALUE}])*0.1
```

Триггер срабатывает, если свободное пространство хранилища (в единицах выделения) падает ниже 10 процентов. Обратите внимание на использование значения другого элемента данных для получения адаптивного порога триггера, применимого к обнаруженным хранилищам различного размера.
Функция: [`last`](/manual/config/triggers/expression/history#last)<br>

[comment]: # ({/e2a732dc-bb0f5278})

[comment]: # ({643d3a74-17b607dc})
##### Обнаружение высокой загрузки CPU

```default
last(/host/system.cpu.load[all,avg1])>5
```

Триггер срабатывает, когда средняя загрузка процессора превышает 5 в течение одной минуты.

Варианты:

```default
min(/host/system.cpu.load[all,avg1],5m)>2 and time()<060000
```
```default
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)

```default
(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
```

Этот триггер срабатывает, если загрузка процессора слишком высока как минимум на двух из трех узлов сети.<br>
Функции: [`last`](/manual/config/triggers/expression/history#last), [`min`](/manual/config/triggers/expression/aggregate#min), [`dayofweek`](/manual/config/triggers/expression/time#dayofweek), [`time`](/manual/config/triggers/expression/time#time)<br>
Элемент данных: [`system.cpu.load`](/manual/config/items/itemtypes/zabbix_agent#system.cpu.load)

[comment]: # ({/643d3a74-17b607dc})

[comment]: # ({49f3b448-47b2e2fd})
##### Сравнение загрузки CPU

```default
avg(/Zabbix server/system.cpu.load,1h)/avg(/Zabbix server/system.cpu.load,1h:now-1d)>2
```

Триггер срабатывает, если средняя загрузка сегодня более чем в два раза превышает среднюю загрузку за тот же час вчера (с использованием сдвига времени `now-1d`).<br>
Функция: [`avg`](/manual/config/triggers/expression/aggregate#avg)<br>
Элемент данных: [`system.cpu.load`](/manual/config/items/itemtypes/zabbix_agent#system.cpu.load)

[comment]: # ({/49f3b448-47b2e2fd})

[comment]: # ({e83bf5a3-6906462b})
##### Сравнение долгосрочной загрузки CPU

```default
trendavg(/host/system.cpu.load,1M:now/M)>1.1*trendavg(/host/system.cpu.load,1M:now/M-1M)
```

Этот триггер срабатывает, если загрузка CPU на узле сети за последний месяц увеличилась более чем на 10%<br>
Функция: [`trendavg`](/manual/config/triggers/expression/trends#trendavg)<br>
Элемент данных: [`system.cpu.load`](/manual/config/items/itemtypes/zabbix_agent#system.cpu.load)

Вы также можете использовать поле [Имя события](/manual/config/triggers/trigger#configuration) в настройках триггера, чтобы сформировать осмысленное сообщение оповещения, например, чтобы получить что-то вроде

`"Загрузка сервера Exchange увеличилась на 24% в июле (0.69) по сравнению с июнем (0.56)"`

имя события должно быть определено как:

```default
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)})
```

Для такого рода проблемы также полезно разрешить ручное закрытие в настройках триггера.

[comment]: # ({/e83bf5a3-6906462b})

[comment]: # ({4ae4641e-60fad4fc})
##### Обнаружение строки, содержащей специальные символы

```default
last(/host/vfs.file.contents[/tmp/hello])={$HELLO_MACRO}
```

Триггер срабатывает, если содержимое `/tmp/hello` равно строке, определенной в `{$HELLO_MACRO}`:

```default
{$HELLO_MACRO} = \" //hello ?\"
```

В качестве альтернативы можно сравнить со строкой напрямую:

```default
last(/Zabbix server/vfs.file.contents[/tmp/hello])="\\\" //hello ?\\\""
```

Обратите внимание, как специальные символы (`\\` и `"`) экранируются, когда строка сравнивается напрямую.

Функция: [`last`](/manual/config/triggers/expression/history#last)<br>
Элемент данных: [`vfs.file.contents`](/manual/config/items/itemtypes/zabbix_agent#vfs.file.contents)

[comment]: # ({/4ae4641e-60fad4fc})

[comment]: # ({baa6a112-contribute})
::: note-contribute
Есть пример выражения триггера, который может быть полезен другим?<br>
Отправьте свой пример (включая само выражение и контекст) с помощью нашей [формы предложений](#report-example), чтобы передать его разработчикам Zabbix.
:::

[comment]: # ({/baa6a112-contribute})
