如何在Nagios中配置插件?

时间:2012-05-02 11:46:29

标签: tomcat nagios

我尝试在ubuntu中安装插件来监控tomcat我从

下载插件文件
  

http://exchange.nagios.org/directory/Plugins/Java-Applications-and-Servers/Apache-Tomcat

但如何在nagios-server中配置此插件,以便我可以使用web-console监视tomcat

2 个答案:

答案 0 :(得分:3)

  1. 下载插件后,通过efault将此插件移动到plugins文件夹中/ usr / local / nagios / libexec /.

  2. 将插件的权限更改为nagios

    chown nagios:nagios /usr/local/nagios/libexec/check_tomcat.pl
    
  3. 在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
    }
    

    提及插件所需的参数

  4. 在服务文件中添加命令可能是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
    }
    
  5. 重新启动nagios和xinetd(如果使用)

  6. 现在,您可以在Web控制台中查看服务监控tomcat。

答案 1 :(得分:3)

我想稍微充实一下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检测它。

添加该评论会清除“UNKNOWN”错误,插件开始工作。

<强>安装

我通过EPEL存储库安装了Nagios。我保留了与安装时相同的权限,包括安装为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别名从服务传递给命令。

谢谢,