通用的Nagios插件,用于检查特定进程/服务是否正在运行?


12

我在http://exchange.nagios.org上看到没有插件可以检查sendmail,xinetd,automount,ypserv,ypbind,mailscanner,mcafee,clamav,samba服务器和openvpn是否正在运行。

当然,所有这些程序都应该是稳定的程序,但是它们很关键,因此我想检查一下它们是否正在运行。

是否存在用于检查特定过程的通用插件?

Answers:


25

我使用check_procs带有-C标记的标准NAGIOS 插件,此处显示了nrpe.cfg通过NRPE 调用的标志:

command[check_spamd]=/usr/lib/nagios/plugins/check_procs -c 1: -w 3: -C spamd

如果找不到至少三个具有可执行文件名的进程(不计算路径)spamd,它将警告,如果找不到至少一个,则将CRIT。


2

我正在使用此脚本检查各种正在运行的进程。您可以编辑以下两行:

PROCLIST_RED="sshd"
PROCLIST_YELLOW="syslogd"

更改红色(紧急)过程和黄色(警告)过程。

另外,此脚本还会检查打开的端口(侦听状态)。您可以编辑以下行:

PORTLIST="22"

我什至自己定义了一个新变量UDP_PORTLIST来检查UDP套接字,从而修改了脚本。


脚本链接
无效

不知道是否是正确的脚本,但至少名称相同。也许这会有所帮助。
gf_


1

可以使用来检查应该在TCP端口上监听的所有服务check_tcp。通过从外部进行连接检查,除了检查进程正在运行并在正确的端口上进行侦听之外,您还检查防火墙是否允许该端口上的连接通过。

check_tcp检查不会告诉您是否有人启动了Postfix而不是sendmail,或者是否将nginx配置为侦听端口80而不是Apache,但是check_procs(其他人已经提到过)会这样做。


这太有趣了!我看到插件需要发送/期望字符串。我如何找到这些例如sendmail和openvpn?
桑德拉(Sandra)2012年

2
是否需要发送/期望字符串?您可以通过查看SMTP规范或自行进行连接telnet localhost 25并尝试一下来找到发送sendmail的内容。OpenVPN可能需要加密,因此可能会更加棘手,但是发送一些废话和接收错误消息可能就足以满足您的需求。
拉达达达(Ladadadada)2012年

UPS。我尝试使用check_udp而不是check_tcp。使用telnet获取发送/期望肯定会有用。
桑德拉(Sandra)

1

通常,最好是实际连接到网络服务并查看其是否按预期响应,而不是仅使用check_tcp或检查服务是否正在运行。

对于Samba,ClamAV,Sendmail等,有一些特定于服务的插件可以检查这些插件(即使通过NRPE在“ localhost”上选中)也比仅检查端口是否打开更为准确。显然,检查tcp端口和/或使用check_procs总比没有好


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.