【发布时间】:2012-05-02 11:46:29
【问题描述】:
我尝试在 ubuntu 中安装插件以监控 tomcat 我从
下载插件文件http://exchange.nagios.org/directory/Plugins/Java-Applications-and-Servers/Apache-Tomcat
但是如何在 nagios-server 中配置这个插件,以便我可以使用 web-console 监控 tomcat
【问题讨论】:
我尝试在 ubuntu 中安装插件以监控 tomcat 我从
下载插件文件http://exchange.nagios.org/directory/Plugins/Java-Applications-and-Servers/Apache-Tomcat
但是如何在 nagios-server 中配置这个插件,以便我可以使用 web-console 监控 tomcat
【问题讨论】:
我想稍微充实一下 Priya 的回答,并从我自己的磨难中添加一些关于让这个插件正常工作的见解。
我遇到的主要问题与 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 doc page 并附有以下有用建议:
告诉 Nagios 不要使用嵌入式 Perl 解释器 特定脚本,将此行添加到 Perl 脚本:
# nagios: -epn任何一行都必须位于脚本的前 10 行内 Nagios 来检测它。
添加该评论清除“未知”错误,插件开始工作。
正在安装
我通过 EPEL 存储库安装了 Nagios。我保留了大多数权限与安装时相同,包括安装为root:root 的插件。我所做的一项更改是将/etc/nagios/objects 中的所有CFG 文件更改为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 别名从服务传递到命令。
谢谢,
【讨论】:
下载插件后,将此插件移动到插件文件夹,默认为 /usr/local/nagios/libexec/。
将插件的权限改为nagios
chown nagios:nagios /usr/local/nagios/libexec/check_tomcat.pl
在command.cfg file.Location(/usr/local/nagios/etc/objects/commands.cfg)中添加这个插件的命令定义
define command{
command_name check_tomcat
command_line /usr/local/nagios/libexec/check_tomcat.pl
}
提及插件所需的参数
在你的服务文件中添加的命令可以是 localhost.cfg 或者单独的文件。
define service{
use generic-service ; Name of service template to use
hostgroup_name Host1
service_description Tomcat
check_command check_tomcat
contacts contact1
notifications_enabled 1
}
重启nagios和xinetd(如果你用的话)
现在您可以在 Web 控制台中查看服务监控 tomcat。
【讨论】: