В Zabbix активные проверки (active checks) работают несколько иначе, чем пассивные. В случае активных проверок Zabbix агент отправляет данные напрямую на сервер, а не ждет, пока сервер их запросит. Давайте разберёмся, как правильно настроить активные проверки и как убедиться, что они работают.
### Настройка активного агента Zabbix
1. **Конфигурация агента:**
- Откройте конфигурационный файл агента Zabbix, обычно это `/etc/zabbix/zabbix_agentd.conf`.
- Убедитесь, что у вас установлены параметры:
```plaintext
Server=<IP_адрес_сервера_Zabbix>
Hostname=<имя_хоста_в_Zabbix>
```
- Убедитесь, что `EnableRemoteCommands` установлен в `1`, если вы хотите использовать удалённые команды.
2. **Настройка активных проверок:**
- Убедитесь, что у вас в агента включено использование активных проверок. Для этого в конфигурационном файле добавьте:
```plaintext
HostnameItem=system.hostname
```
- Не забудьте перезапустить Zabbix агент после изменения конфигурации:
```bash
sudo systemctl restart zabbix-agent
```
3. **Проверка логов:**
- Логи агентов обычно находятся в `/var/log/zabbix/zabbix_agentd.log`. Если вы не видите никаких сообщений о «Active check complete», это может указывать на проблему с отправкой данных на сервер.
- Проверьте, что в логах нет ошибок подключения. Если вы видите сообщения, похожие на `cannot connect to <IP_сервера>:10051`, это указывает на проблему сети или конфигурации.
### Настройка элементов (items) в Zabbix
1. **Создание активного элемента в Zabbix:**
- Перейдите в интерфейс Zabbix, зайдите в раздел `Configuration` -> `Hosts`, выберите ваш хост и добавьте новый элемент.
- Задайте тип элемента: `Zabbix agent (active)`.
- Укажите ключ, например, `system.uptime` для проверки времени работы системы.
- Убедитесь, что активные проверки настроены правильно.
2. **Проверка получения данных:**
- После настройки элементов, можно проверить, получает ли сервер данные от агента. Для этого зайдите в раздел `Monitoring` -> `Latest Data`, выберите ваш хост и посмотрите, отображаются ли данные.
### Получение уведомлений при инцидентах
1. **Создание триггеров:**
- Чтобы вы могли получать уведомления при зависании службы, создайте триггер, который будет срабатывать при определённых условиях, например, если `service.status` (или аналогичный параметр) будет равен `0` (что означает, что служба не работает).
2. **Настройка действий:**
- Для инфраструктуры оповещений настройте действия, чтобы отправлять уведомления через email или другие механизмы, которые позволит вам оперативно реагировать на инциденты.
### Дополнительная информация
- Убедитесь, что на самом сервере Zabbix (где работает Zabbix Server) нет фаервола, блокирующего порт 10051, так как именно на этом порту осуществляется связь между агентом и сервером.
- Для более подробной информации по вашим активным проверкам в Zabbix, можно воспользоваться разделом документации [Zabbix Active checks](https://www.zabbix.com/documentation/current/manual/agent/active_check).
С этими настроенными параметрами ваш Zabbix сервер должен начать получать данные от агент-активов, и вы сможете следить за состоянием своих серверов и служб более эффективно.