Я хотел бы немного конкретизировать ответ Прии и добавить некоторые идеи из моего собственного испытания, чтобы заставить этот плагин работать.
Основная проблема, с которой я столкнулся, была связана с ePN (встроенный Perl Nagios): очевидно, плагин не соответствует стандартам ePN, и после успешного запуска скрипта из командной строки я продолжал получать эту ошибку:
**ePN /usr/lib64/nagios/plugins/check_tomcat: "Subroutine LWP::UserAgent::get_basic_credentials redefined at (eval 1) line 222,".
Я искал глобальное отключение ePN, но нашел эту страницу документации Nagios с этим полезным советом. :
Чтобы указать Nagios НЕ использовать встроенный интерпретатор Perl для определенного сценария, добавьте эту строку в сценарий Perl:
# nagios: -epn
Любая строка должна находиться в пределах первых 10 строк скрипта, чтобы Nagios мог ее обнаружить.
Добавление этого комментария устранило ошибку «НЕИЗВЕСТНО», и плагин заработал.
Установка
Я установил Nagios через репозиторий EPEL. Я оставил большинство разрешений такими же, как они были установлены, включая плагины, которые были установлены как root:root
. Единственное изменение, которое я сделал, это заменить все файлы CFG
в /etc/nagios/objects
на root:nagios
: я добавил себя в группу nagios
, так что редактирование стало намного проще. Для моей установки CentOS плагины устанавливаются в /usr/lib64/nagios/plugins
. Я загрузил check_tomcat.pl
в этот каталог, переименовал его просто в check_tomcat
(без особой причины), сделал для него chmod 755
и добавил к нему # nagios: -epn
.
Вот выдержки из моих CFG
файлов:
commands.cfg:
# 'check_tomcat' command definition
define command{
command_name check_tomcat
command_line $USER1$/check_tomcat -H $HOSTADDRESS$ -p $ARG1$ -l $ARG2$ -a $ARG3$ -w $ARG4$ -c $ARG5$
}
localhost.cfg:
# Define a service to check the state of a Tomcat service
define service{
use local-service
host_name localhost
service_description Tomcat
check_command check_tomcat!8080!tomcat!tomcat!25%,25%!10%,10%
}
$HOSTADDRESS$
передается как псевдоним host_name
от службы к команде.
Спасибо,
person
Zach Young
schedule
24.12.2012