0

我是 icinga 和 nagios 用于服务器管理的初学者。我在机器上设置了 icinga 并设置了所有基础知识。我尝试的下一步是检查某些服务是否在端口上运行8080, 8081 and 8082。我为此写了一个快速的python脚本。我把那个文件放在/usr/local/lib/myscript.py. 我做的下一步是在/etc/nagios-plugins/config/testone.cfg. 我的命令看起来像这样

define command{
        command_name    check_restarts
        command_line    python /usr/local/lib/myscript.py -w 3 -c 5 -p 8080
        command_line    python /usr/local/lib/myscript.py -w 3 -c 5 -p 8081
        command_line    python /usr/local/lib/myscript.py -w 3 -c 5 -p 8082
        }

然后我在 services.conf 下添加了一个服务/etc/icinga2/conf.d/services.conf。但是,当我重新启动 icinga 时,这会导致错误,它会Backend icinga not running在 UI 上显示一条消息,并且错误指向services.conf我尝试的时候sudo service icings2 status

谁能指导我完成这些步骤?

4

1 回答 1

1

最简单的方法如下:

nagios安装后转到(如果您/etc/nagios/nrpe.d/commands.conf没有commands.conf创建它)。在那个文件中放置这个

command[check_process] = /usr/bin/python /path/to/your/script

这里check_process可以是您希望保留的任何名称。

一旦到位,请使用check_nrpe插件进行检查。它/usr/lib/nagios/../check_nrpe的位置(不完全记得位置)

在终端中输入: path/to/check_nrpe -H localhost -c check_process

考虑到这是本地主机,即您在同一系统上运行脚本,我没有看到任何问题出现。

接下来去/etc/icinga/conf.d/mychecks.conf(再次创建这个文件,最好创建一个新文件夹并将其放在那里)。这应该是您文件的内容:

apply Service "My service" {
    import "generic-service"
    check_command = "check_process"

    assign where host.name == NodeName
}

您可以使用sudo /etc/init.d/icinga2 checkconfig. 任何问题通常都非常具有描述性和帮助性。如果checkconfig[ok]然后重新启动 icinga 并且您已设置。

于 2015-12-15T21:30:06.233 回答