Чтобы отслеживать время последнего активного состояния хоста в Zabbix при использовании ICMP опросов, вы можете создать вычисляемый элемент (calculation item) для этой цели. Вот шаги, которые помогут вам настроить это:
### Шаг 1: Создание элемента для записи последнего времени
Вам нужно создать новый элемент данных (item), который будет записывать время последнего успешного пинга. Для этого выполните следующие действия:
1. Перейдите в конфигурацию вашего хоста в Zabbix.
2. В разделе "Items" нажмите "Create item".
3. Задайте имя, например, "Last online time".
4. В поле "Type" выберите "Calculated".
5. Установите "Key", например `last.online`.
6. В качестве "Calculating expression" используйте следующую формулу:
```plaintext
now()
```
Это будет возвращать текущее время, когда ICMP пинг успешен.
### Шаг 2: Добавление триггера
Теперь вам нужно создать триггер, который будет срабатывать, когда последний успешный опрос завершится. Это можно сделать следующим образом:
1. Перейдите в раздел "Triggers" и нажмите "Create trigger".
2. Задайте имя, например, "Host is down".
3. В поле "Expression" введите:
```plaintext
{your.host:key.icmp.ping.last()}=0
```
Это выражение проверяет, был ли последний ICMP пинг успешным. Если нет, триггер сработает.
4. В разделе "Operations" вы можете настроить уведомления, если хост не доступен.
### Шаг 3: Отображение времени последнего активного состояния
Для максимально понятного отображения, вы можете создать еще один элемент:
1. Создайте элемент с типом "Zabbix trapper".
2. При каждом успешном ICMP опросе отправляйте значение времени в этот элемент. Это можно сделать с помощью простой пользовательской скриптовой автоматизации, которая отправляет значение `now()` в этот элемент, когда ICMP пинг успешен.
### Пример скрипта для отправки времени:
Вы можете использовать `zabbix_sender` для отправки значения времени в Zabbix сервер:
```bash
zabbix_sender -z ZABBIX_SERVER -s "your.host" -k "last.online" -o "$(date +%s)"
```
### Заключение
Теперь при каждом успешном ICMP опросе ваш элемент "Last online time" будет обновляться текущим временем, что позволит вам отслеживать, когда хост в последний раз был доступен. Разумеется, вы можете дополнительно настроить графики, чтобы визуализировать эти данные на панелях Zabbix.