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

Универсальный плагин Nagios для проверки, запущен ли определенный процесс / служба?

Я вижу на http://exchange.nagios.org что нет плагинов для проверки работы sendmail, xinetd, automount, ypserv, ypbind, mailscanner, mcafee, clamav, сервера samba и openvpn.

Конечно, все это должны быть стабильные программы, но они критичны, поэтому я хотел бы проверить, работают ли они.

Вопрос

Существует ли общий плагин для проверки определенных процессов?

Я использую стандартный NAGIOS check_procs плагин с -C флаг, показанный здесь, вызывается из nrpe.cfg через NRPE:

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

который будет ПРЕДУПРЕЖДЕНИЕ, если он не найдет хотя бы три процесса с исполняемым именем (не считая пути) spamd, и который будет CRIT, если не найдет хотя бы один.

Плагин "check_procs" - это то, что вам нужно, он доступен на
http://nagiosplugins.org/man/check_procs

Я использую этот сценарий для проверки различных запущенных процессов. Вы можете редактировать эти две строки:

PROCLIST_RED="sshd"
PROCLIST_YELLOW="syslogd"

для изменения красных (критических) процессов и желтых (предупреждающих) процессов.

Кроме того, этот сценарий проверяет наличие открытых портов (состояние прослушивания). Вы можете отредактировать строку:

PORTLIST="22"

Я даже сам модифицировал скрипт, определив новые переменные UDP_PORTLIST чтобы проверить наличие сокетов UDP.

Любые службы, которые должны прослушивать порт TCP, можно проверить с помощью check_tcp. Выполняя внешнюю проверку соединения, вы проверяете, что брандмауэр разрешает соединения через этот порт, в дополнение к проверке того, что процесс запущен и прослушивает правильный порт.

В check_tcp check не скажет вам, запустил ли кто-то Postfix вместо sendmail или настроил nginx для прослушивания порта 80 вместо Apache, но check_procs (что другие уже упомянутые) сделают это.

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

В случае Samba, ClamAV, Sendmail и т. Д. Существуют специальные плагины для проверки их (даже если они отмечены на «localhost» через NRPE), которые будут более точными, чем просто проверка того, открыт ли порт. Очевидно, проверка порта tcp и / или использование check_procs лучше, чем ничего.

Проверьте статью ниже. Он прекрасно объясняет, как отслеживать конкретные процессы.

https://support.nagios.com/kb/article/process-checks-782.html