我是使用 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
。
有人可以指导我完成这些步骤吗?
答案1
Icinga
不要与和混淆Icinga2
。它们是不同的工具。 配置格式与和Icinga2
不同。因此配置有很大的不同Icinga
Nagios
对象在 中icinga2
。请参阅官方迁移文档:网址
因此,对于您的情况,您需要使用CheckCommand
而不是command
。service
定义也需要改变。
所有配置文件都在目录中,并且插件目录应该在文件/etc/icinga2
中定义。/etc/icinga2/constants.conf
在重新启动/重新加载之前使用命令检查Icinga2
配置文件是否存在语法错误:/etc/init.d/icinga2 checkconfig
答案2
获取更多信息的一个好方法是运行此命令: 。它的作用与7171u 指出的icinga2 daemon -C
几乎相同。/etc/init.d/icinga2 checkconfig