自定义插件检查icinga2

时间:2015-10-27 21:29:48

标签: nagios icinga

我是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
        }

然后我在/etc/icinga2/conf.d/services.conf下面的services.conf中添加了一项服务。但是当我重新启动icinga时会出现错误,当我尝试Backend icinga not running时,会在用户界面上显示消息services.conf并且错误指向sudo service icings2 status

任何人都可以指导我这些步骤吗?

1 个答案:

答案 0 :(得分: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

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

接下来转到/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并进行设置。