Загальний плагін Nagios, щоб перевірити, чи працює певний процес / послуга?


12

Я бачу на http://exchange.nagios.org, що немає плагінів, щоб перевірити, чи працюють sendmail, xinetd, automount, ypserv, ypbind, mailscanner, mcafee, clamav, самба-сервер і openvpn.

Звичайно, всі ці програми повинні бути стабільними, але вони є критичними, тому я хотів би перевірити, чи вони запущені.

Питання

Чи існує загальний плагін для перевірки конкретних процесів?

Відповіді:


25

Я використовую стандартний check_procsплагін NAGIOS , при цьому -Cпрапор, показаний тут, викликається 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-сокетів.


Посилання сценарію мертве
phansen

Не впевнений, чи це правильний сценарій, але принаймні ім’я таке саме. Можливо, це допомагає.
gf_


1

Будь-які сервіси, які слід слухати через порт TCP, можна перевірити check_tcp. Здійснюючи перевірку з'єднання зовні, ви перевіряєте, що брандмауер дозволяє здійснювати з'єднання на цьому порту, а також перевіряти, чи працює процес і прослуховує правильний порт.

check_tcpЧек не скаже вам , якщо хто - то запущений Postfix замість Sendmail або налаштований Nginx слухати порт 80 замість Apache , але check_procs(що інші вже згадані) будуть робити.


Це цікаво! Я бачу, що для плагіна потрібен рядок відправлення / очікування. Як їх знайти, наприклад, sendmail та openvpn?
Сандра

2
Чи потрібен рядок відправлення / очікування? Ви можете дізнатися, що надіслати для sendmail, переглянувши специфікацію SMTP або з'єднавшись telnet localhost 25та спробувавши її самостійно. OpenVPN може бути дещо складнішим, оскільки він хоче зашифруватися, однак надсилання деяких дурниць та отримання повідомлення про помилку може бути адекватним вашим потребам.
Ладададада

Підйоми. Я спробував check_udp замість check_tcp. Використання telnet для отримання відправки / очікування, безумовно, стане корисним.
Сандра

1

Як правило, краще насправді підключитися до мережевої послуги і побачити, чи відповідає вона, як очікувалося, замість того, щоб просто використовувати check_tcp або перевіряти, чи працює служба.

У випадку Samba, ClamAV, Sendmail тощо, існують плагіни, призначені для обслуговування, щоб перевірити їх (навіть якщо вони встановлені на "localhost" через NRPE), які будуть більш точними, ніж просто перевірити, чи порт відкритий. Очевидно, перевірити порт tcp та / або використовувати check_procs - краще, ніж нічого .


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.