Всем доброго времени суток! Сегодня я расскажу как мониторить с помощью Zabbix доступность на удаленном сервере службы OpenVPN.
На одном из моих серверов у меня поднят OpenVPN, к интернету он подключается по PPPOE, соответственно IP хоть и "белый", но динамический, при разрыве соединения меняется, я написал bash-скрипт отправляющий новый IP мне на email, и правящий конфиг OpenVPN, указывая в нем новый IP-адрес, и затем рестартующий службу OpenVPN.
Получилось так, что пару раз OpenVPN не перезапускалась, и я решил добавить в мониторинг Zabbix статус этой службы.
1. Идем в Configuration -> Hosts и выбираем хост, на котором установлен OpenVPN. Переходим в раздел Items и нажимаем Create item. Заполняем необходимые параметры элемента:
Type -> Zabbix Agent
Key -> net.tcp.service[tcp,,1194]
Update Interval - 180
History storage period – 7
Trend storage period – 365
Storage value – As is
Show value – Service state
Applications-OpeVPN service
Enabled-Yes
Add
Если у вас выбран русский язык, то настройки будут выглядеть так:
Я выбрал тип проверки - Zabbix Agent, так как при простой проверке сервер мониторинга Zabbix (находится внутри локальной сети, выход в интернет не имеет) пытается установить соединение с хостом по TCP-протоколу на указанный порт (1194), а сервер OpenVPN слушает порт 1194 на внешнем IP с внешним белым IP, а не внутри локалки, простой проверкой обойтись не получится.
Основные типы проверок в Zabbix:
2. Создаем триггер который в случае возврата в последних трех проверках значения итемом 0, будет отправлять уведомление о том, что служба недоступна. Для этого идем в раздел Triggers -> Create trigger. Заполняем параметры элемента:
Triggers->Create trigger
Name-OpenVPN service is down on {HOST.NAME}
Expression-{Template App OpenVPN Service:net.tcp.service[tcp,,1194].max(#3)}=0
Severity-High
Enabled-Yes
3. Ждем несколько минут и переходим в Latest data проверить поступаемые значения:
Триггер проверяет запущен ли сервис и отвечает ли он на TCP подключения и возвращает два значения:
Как видим, у нас возвращается 0, т.е сервис работает. Чтобы проверить сработку триггера, зайдите на сервер с OpenVPN и остановить службу, и в течении 5 минут вам должно прийти уведомление о недоступности службы, а в последних поступивших значениях будет стоять 1.
Высоких вам аптаймов, и поменьше сработок триггеров!;)