我是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
。
任何人都可以指导我这些步骤吗?
答案 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并进行设置。