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

nagios nrpe check_procs неверное возвращаемое значение

У меня проблема с мониторингом nagios. Я пытаюсь проверить процесс на удаленном хосте с помощью nrpe.

Хост уже контролировался nagios, поэтому мне нужно было только добавить строку в файл nrpe.cfg. Там даже уже была определена проверка check_procs, поэтому я могу использовать этот пример.

Так просто, что ты мог бы быть толстым, но нет. Проверяю, могу ли я запустить команду вручную и никаких проблем!

ubuntu@host:/usr/lib/nagios/plugins$ ./check_procs -w 1:1 -c 1:1 -a delayed_job
PROCS OK: 1 process with args 'delayed_job'
ubuntu@host:/usr/lib/nagios/plugins$ sudo ./check_procs -w 1:1 -c 1:1 -a delayed_job
PROCS OK: 1 process with args 'delayed_job'

Это кусок моего файла nrpe.cfg:

command[check_procs]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
command[check_proc_name]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -a $ARG3$

Первая проверка check_procs отслеживается правильно, последняя строка была моей, которую я добавил, но отвечает следующим образом: КРИТИЧЕСКИЕ ПРОЦЕССЫ: 2 процесса с аргументами 'delayed_job'

Это мой служебный файл:

define service {
  use                 generic-service
  host_name           imobiel.limburger.nl
  service_description Check Delayed Job Proces
  check_command       check_nrpe!check_proc_name!1:1 1:1 delayed_job
}

Есть у кого-нибудь идея? Я уже несколько раз перезапускал сервер nagios и сервер nrpe! Надеюсь, кто-то выяснил те же проблемы?

Заранее большое спасибо.

Я думаю, что это ошибка в check_procs: кажется, что он сам подхватывает себя при запуске из nrpe, в отличие от командной строки. Может быть, какое-то состояние гонки.

Я вижу, что вы используете Ubuntu, учитывая вашу командную строку. Имея check_procs в Lucid, я могу делать что-то вроде:

/usr/lib/nagios/plugins/check_procs --ereg-argument-array="[s]tring" -w 1:1

Итак, мы выполним сопоставление с образцом в списке аргументов, но таким образом, чтобы процесс check_procs не был сопоставлен. Помещение одного символа шаблона в квадратные скобки приводит к тому, что выражение будет соответствовать «строке», но, очевидно, не будет соответствовать аргументу check_procs «[s] tring».

Однако check_procs, доступный на Hardy, не имеет опции регулярного выражения.

Проблема с выводом / bin / ps на хосте. По умолчанию двоичный файл "check_procs" выполняет команду "/ bin / ps -axwo" в проверенной системе, которая вырезает строку arg. Просто перекомпилируйте nagios-плагины из исходников. В версии 1.4.15 необходимо установить параметры настройки:

./configure --enable-extra-opts=yes --with-ps-command="/bin/ps -axwwo 'stat uid pid ppid vsz rss pcpu ucomm command'" --with-ps-format="%s %d %d %d %d %d %f %s %n" --with-ps-cols=9 --with-ps-varlist="procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos"

Когда мы устанавливаем -axWWo - ps получаем полную строку аргументов. Извините за мой ingreesh.

У меня тоже была эта проблема, потому что я определял, что пользователь работал. Например -u root. поскольку сервер NRPE запускает свою проверку от имени пользователя Nagios, особый вызов пользователя позволяет избежать этой проблемы.

Какая у вас версия nagios-плагинов? check_procs в 1.4.15 не демонстрирует такого поведения. Однако я не проверял более ранние версии.

Добавьте «-vv» или «-vvv» в конец вашего ручного теста, и вы сможете точно проверить, какую команду «ps» он выполняет, что видит и что считает совпадающими.

Если ты фактически если Nagios запускает и "check_procs", и "check_proc_name", как они определены в вашем фрагменте nrpe.cfg, в то же время, с одними и теми же точными аргументами ... тогда вполне возможно, что они бы подбирали друг друга в счет. Но зачем вам проводить две проверки, которые делают одно и то же?