Назад | Перейти на главную страницу

Заставьте Monit проверять статус подключения клиента OpenVPN

Мы ведем бизнес с несколькими сайтами, каждый сайт подключен к центральному серверу OpenVPN для обеспечения доступа к внутренним системам. В настоящее время я использую Monit, чтобы проверить, запущен ли клиент OpenVPN и работает ли удаленный сервер, но поскольку некоторые из сайтов работают на нестабильных модемах 4G, соединение VPN иногда прерывается без завершения процесса, что заставляет monit думать, что все хорошо. Простой пинг для VPN-шлюза покажет, работает ли соединение или нет, но когда я читаю документацию по монитору, проверка ping, похоже, не сочетается с проверками процесса, поэтому я могу добавить проверку, но на самом деле не могу перезапустите процесс с ним.

Есть ли какой-то очевидный способ сделать это, который мне не хватает, или есть другой способ сделать OpenVPN способным самостоятельно восстанавливаться после такого рода проблем?

Это мой мониторинг (в основном вырезано и вставлено из руководства):

check process openvpn with pidfile /var/run/openvpn.client.pid
    start program = "/etc/init.d/openvpn start"
    stop  program = "/etc/init.d/openvpn stop"
    if failed host *my-vpn-gateway* port 1194 type udp then restart
    group net
    depends openvpn_init
    depends openvpn_bin

check file openvpn_init with path /etc/init.d/openvpn
    group net

check file openvpn_bin with path /usr/sbin/openvpn
    group net

кажется, что обходной путь состоит в том, чтобы иметь 2 цыпленка: 1 для процесса и 1 для обеспечения доступности хоста шлюза

check process vpn-network with pidfile /var/run/vpn-network.pid
   start program = "/etc/init.d/openvpn start vpn-network.com"
   stop program = "/etc/init.d/openvpn stop vpn-network.com"

check host tap0 with address 1.1.1.1
    start program = "/etc/init.d/openvpn start vpn-network.com"
    stop program = "/etc/init.d/openvpn stop vpn-network.com"
    if failed
        icmp type echo count 5 with timeout 15 seconds
    then restart ¶

источник: http://grimore.org/unix/monit/openvpn