监控OpenVPN服务器的最佳方法是什么?

我有一个驻留在隔离networking上的OpenVPN服务器机器,公司防火墙中的NAT规则将所有来自我select的公共IP的端口1194(tcp)的stream量redirect到OpenVPN服务器机器的内部地址。 我想创build一个Nagios检查来监视OpenVPN服务器的可用性。 考虑到支票将从世界(Nagios服务器)运行,而不是从公司内部运行,最好的监控方法是什么?

我通过NAGIOS远程NAGIOS ,使用名为check_openvpn.pl的本地插件,通过nrpe调用,然后使用OpenVPN的内置pipe理function报告其详细状态。

由于您使用TCP作为VPN承载,所以您可以在端口1194上进行简单的TCP连接检查(如Dennis在答案中所述),但是该插件的优点是对OpenVPN进行了相当严格的检查,并报告了CN目前连接到服务器。 如果是在这个级别的报告,我可以有信心,服务器是完全启动,并提供服务的世界,这简单的连接检查不会给我。

这个插件来自NAGIOS交stream的这个页面 。 作者的网站显然是http://emergeworld.blogspot.com

血淋淋的细节是:在NAGIOS服务器的configuration(加上适当的连接逻辑)下面的条目:

 define service{ use myconf-svc host_name openvpn.server.hostname service_description openvpn check_command check_nrpe!check_openvpn } 

然后在OpenVPN服务器的nrpe.cfg

 command[check_openvpn]=/usr/lib64/nagios/plugins/check_openvpn.pl -H localhost -p 11940 -P XXXXXXX 

然后在OpeVPN服务器的`.conf'文件末尾:

 # enable the mgmt interface for monitoring - tom 20120814 management 127.0.0.1 11940 /etc/openvpn/man.pass 

请注意11940共同的两个以前的数据; 这是pipe理界面的端口号。 上面的nrpe.cfg条目(显示为XXXXXXX )中的密码也应该出现在/etc/openvpn/man.pass文件中。

对于OpenVPN,我只是监视它是否正在监听通常的端口:

 define command { command_name check_openvpn command_line $USER1$/check_tcp -H $HOSTADDRESS$ -p 1194 }