Я вижу на 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