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

12

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

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

Вопрос

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

Sandra
источник

Ответы:

25

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

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

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

Безумный Шляпник
источник
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(что другие уже упомянутые) будут делать.

Ladadadada
источник
Это интересно! Я вижу, что плагин требует строку отправки / ожидания. Как мне найти их, например, для sendmail и openvpn?
Сандра
2
Есть ли требовать посыла / строку ожидания? Вы можете найти, что отправить для sendmail, просмотрев спецификацию SMTP или подключившись telnet localhost 25и попробовав это самостоятельно. OpenVPN может быть немного сложнее, так как он хочет быть зашифрованным, однако отправка некоторой чепухи и получение сообщения об ошибке может быть адекватным вашим потребностям.
Ладададада
UPS. Я попробовал check_udp вместо check_tcp. Использование telnet для получения отправки / ожидания, безусловно, станет полезным.
Сандра
1

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

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

Кит
источник