![](/img/trans.png)
[英]Getting status information of check_mysql-health command in Nagios Core
[英]icinga check command check_nwc_health returns “Unkown option:” but at cli the command works
我想使用 check_nwc_health 检查在 icinga2 中编写测试/检查条件,以获取 avm dect 200 电源插座的一些状态信息,其中提供有关 state 连接设备的信息,开机,能耗等(就像你可以做的一切一样插入:电视、服务器、冰箱、洗衣机、烘干机等)。
检查几乎准备就绪,但缺少一点东西,因此脚本无法仅提供一个带有选项 --name 的设备的 state。 在 shell cli 上,它正在运行,命令如下:
https://labs.consol.de/assets/downloads/nagios/check_nwc_health-7.12.1.2.tar.gz
[icinga@centos7 icinga2]# /usr/lib64/nagios/plugins/check_nwc_health --hostname 10.10.10.3 --port 49000 --community 'Umligro:-)' --mode smart-home-device-status --name 'Wäschetrockner' --verbose
OK - device Wschetrockner ok
device Wschetrockner is connected and switched on
output 使用 --name 选项是正确的。
现在 icinga 配置:
主机配置:
object Host "fritzbox-7390.fritz.box" {
check_command = "hostalive"
address = "10.10.10.3"
vars.os_type = "FritzOS"
vars.avm_port = "49000"
vars.avm_passwort = "Umligro:-)"
vars.avm_mode_status = "smart-home-device-status"
vars.avm_consumption_warning = "80"
vars.avm_consumption_critical = "95"
}
命令.conf:
object CheckCommand "check_fritzbox-7390" {
import "plugin-check-command"
command = [ PluginDir + "/check_nwc_health" ]
"--hostname" = "$avm_host$"
"--port" = "$avm_port$"
"--community" = "$avm_passwort$"
"--mode" = "$avm_mode$"
"--name" = {
value = "--name $avm_device_name$"
description = "Name of smart home device"
skip_key = true
required = true
}
"--verbose" = ""
}
}
services.conf:
apply Service "fritz-device-status-Geschirrspüler_Haus" {
import "generic-service"
check_command = "check_fritzbox-7390"
vars.avm_host = "$address$"
vars.avm_mode = "smart-home-device-status"
vars.avm_device_name = "Geschirrspüler Haus"
vars.avm_consumption_warning = "$nwc_health_warning$"
vars.avm_consumption_critical = "$nwc_health_critical$"
assign where host.vars.os_type == "FritzOS"
}
apply Service "fritz-device-status-Wäschetrockner" {
import "generic-service"
check_command = "check_fritzbox-7390"
vars.avm_host = "$address$"
vars.avm_mode = "smart-home-device-status"
vars.avm_device_name = "Wäschetrockner"
vars.avm_consumption_warning = "$nwc_health_warning$"
vars.avm_consumption_critical = "$nwc_health_critical$"
assign where host.vars.os_type == "FritzOS"
}
而 icinga web 接口 output 看起来像这样:
fritzbox-7390.fritz.box
fritz-device-status-Geschirrspüler_Haus
UNKNOWN 07-22-2020 15:25:34 0d 0h 35m 55s 1/5 (#0) Unknown option: name Geschirrspüler Haus
fritz-device-status-Wäschetrockner
UNKNOWN 07-22-2020 15:25:04 0d 0h 35m 55s 1/5 (#0) Unknown option: name Wäschetrockner
ping4
OK 07-22-2020 15:24:45 0d 1h 3m 1s 1/5 PING OK - Packet loss = 0%, RTA = 2.26 ms
现在,我的知识和神经已经耗尽,经过大约 6 个小时的搜索,我不得不放弃调试文件。
请有人可以帮助我解决这个问题,也许这只是我忽略的一件小事。
最好的问候,克里斯
您使用的插件不接受“--name”参数,因此只需将其从命令配置中删除即可。
供参考: https://exchange.icinga.com/lausser/check_nwc_health
正确的语法也如下所示:
"--name" = {
value = "$avm_device_name$"
description = "Name of smart home device"
}
为什么要跳过密钥然后在参数中传递密钥本身? 命令将处理这个问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.