自定义插件检查 icinga2

Custom plugin check icinga2

我是使用 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 时这会导致错误,它在 UI 上显示一条消息 Backend icinga not running 并且当我尝试 sudo service icings2 status.

时错误指向 services.conf

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

最简单的方法如下:

安装 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 就可以了。