Допустим, вы хотите получать уведомления каждый раз, когда кто-то подключается к вашему серверу по SSH. В этой статье мы покажем, как настроить отправку уведомлений в Zabbix при входе пользователя на Linux хост по SSH.
В Linux лог SSH подключений хранится в файле:
- RHEL/Rocky/Oracle Linux:
/var/log/secure - Ubuntu/Debian:
/var/log/auth.log
По умолчанию в целях безопасности этот файл доступен на чтение только для root. Чтобы разрешить агенту zabbix читать содержимое этого файла, выполните:
$ sudo chgrp zabbix /var/log/auth.log
$ sudo chmod 640 /var/log/auth.log
Теперь нужно настроить шаблон Zabbix для мониторинга за SSH логами.
Создайте новый элемент zabbix с такими настройками:
- Name:
SSH login - Type:
Zabbix agent (active) - Key:
log[/var/log/auth.log,"Accepted .*",,,skip,\0] - Type of information: Log

Настройте триггер для вашего элемента:
- Name:
Successful SSH authentication on {HOST.NAME} - Expression:
length(last(/SSH Login/log[/var/log/auth.log,"Accepted .*",,,skip,\0]))>0 and nodata(/SSH Login/log[/var/log/auth.log,"Accepted .*",,,skip,\0],5m)=0

Теперь при успешной аутентификации с помощью пароля или SSH ключа вы будете получать уведомление, которое содержит имя пользователя и адрес, с которого выполнено SSH подключение.

Вы можете включить и настроить триггер для отправки уведомлений из Zabbix на почту или в Telegram (Настройка оповещения о событиях Zabbix в Telegram).
