如何让Nagios插件工作?

2024-06-01 13:02:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我已成功安装Nagios,并添加了以下服务:

nano /usr/local/nagios/etc/objects/services.cfg

define host {
    use                 linux-server
    host_name           dcctst1e
    address             160.81.38.74
}

define host {
    use                 linux-server
    host_name           dcctst1f
    address             160.81.38.75
}

define host {
    use                 linux-server
    host_name           dcctst1g
    address             160.81.38.76
}

define hostgroup {
    hostgroup_name ganglia-servers
    alias   nagios server
    members *
}

define servicegroup {
  servicegroup_name ganglia-metrics
  alias Ganglia Metrics
}

define command {
  command_name check_ganglia
  command_line $USER1$/check_ganglia.py -h $HOSTNAME$ -m $ARG1$ -w $ARG2$ -c $ARG3$ -o $ARG4$
}

define service{
        use                             ganglia-service
        service_description             Free Memory
        check_command                   check_ganglia!mem_free!200!50!1
        contact_groups admins
}

define service{
        use                             ganglia-service
        service_description             load_one
        check_command                   check_ganglia!load_one!4!5!0
        contact_groups admins
}
define service{
        use                             ganglia-service
        service_description             disk_free
        check_command                   check_ganglia!disk_free!40!50!0
        contact_groups admins
}
define service{
        use                             ganglia-service
        service_description             yarn.NodeManagerMetrics.AvailableGB
        check_command                   check_ganglia!yarn.NodeManagerMetrics.AvailableGB!8!4!1
        contact_groups admins
}
define service{
        use                             ganglia-service
        service_description             Temperature
        check_command                   check_ganglia!!8!4!1
        contact_groups admins
}

如下面的屏幕截图所示,一些相关的插件(比如,disk_freeload_one,等等)都存在于/usr/local/nagios/libexec/中。但是,在检查服务disk_free时,它会给出错误:

$ python check_ganglia.py

^{pr2}$

$ python check_ganglia.py -h dcctst1f -m disk_free -w 40 -c 50 -o 1

CHECKGANGLIA UNKNOWN: Error while getting value"no element found: line1, column 0"

为什么会这样?我该怎么做才能让它成功呢?在

我还附上了一个网络版的服务截图;我预计其中3个服务是绿色的,因为他们的插件安装。在

enter image description here

p.S.

因为Nagios web中的错误是:

(No output on stdout) stderr: /usr/local/nagios/libexec/check_ganglia.py: line 4: import command not found

我评论了check_ganglia.py的第4行,它是import sys。当我再次运行该命令时,会出现错误:

NameError: name sys is not defined

所以,很明显,我不能评论import sys

我如何解决这个问题?在


Tags: namepyfreehostusecheckservicecontact