2

我正在尝试使用以下 Python 代码和说明从 Nagios 获得响应:http: //skipperkongen.dk/2011/12/06/hello-world-plugin-for-nagios-in-python/

由于某种原因,我从来没有从 Nagios 得到好的结果,它总是返回消息:返回代码 126 超出范围 - 插件可能丢失

我安装了 nagiosplugin 1.0.0,但似乎仍然没有任何工作并行我还有一些其他服务(不是 python 文件)可以工作,例如 http 检查、当前用户和 SSH

我究竟做错了什么?我已经尝试解决了几天

4

2 回答 2

1

让 Nagios 使用您的新插件非常容易。您应该对三个文件进行更改并重新启动 Nagios — 仅此而已。

第一个文件是/etc/nagios/command-plugins.cfg(如果您知道此文件的路径或ubuntu中的类似文件,请留下评论)。假设插件文件放在 /usr/lib/nagios/plugins/ 目录下:

command[check_hello_world]=/usr/lib/nagios/plugins/check_helloworld.py -m 'some message'

将一个目录下拉到/etc/nagios/objects/commands.cfg (对于 ubuntu 用户应该在该目录/etc/nagios-plugins/config/中创建 cfg 文件):

define command {
    command_name    check_hello_world
    command_line    $USER1$/check_hello_world.py -m 'some message'
}

保存文件并打开/etc/nagios/objects/localhost.cfg(在 /etc/nagios3/nagios.cfg 和默认情况下cfg_dir=/etc/nagios3/conf.d中的服务定义文件的 ubuntu 路径中。所以,要在 ubuntu 中定义新服务,用户应在该目录中创建 cfg 文件,例如hello.cfg)。找到此部分:

#
# SERVICE DEFINITIONS
#

并添加新条目:

define service {
    use                 local-service ; Name of service template to use
    host_name           localhost
    service_description Check using the hello world plugin (always returns OK)
    check_command       check_hello_world
}

剩下的就是重新启动 Nagios 并验证插件是否正常工作。通过发出以下命令重新启动 Nagios:

/etc/init.d/nagios restart

http://www.linux-mag.com/id/7706/

ubuntuforums.org -主题:我在 Ubuntu Server 12.04 LTS 上安装 Nagios 的注意事项

于 2013-04-24T10:23:33.333 回答
0

即使文件中的 shebang 指定了它,我也必须预先添加 python2.7 的路径。

在命令定义中我有这个:

command_line /usr/local/bin/python2.7 $USER1$/check_rabbit_queues.py --host $HOSTADDRESS$ --password $ARG1$

即使实际 python 文件的顶部有:

#!/usr/bin/env python2.7

即使脚本在没有指定解释器的情况下从命令行执行并返回就好了。

我尝试的其他任何方法似乎都不起作用。

于 2015-10-21T19:41:26.997 回答