【问题标题】:icinga check command check_nwc_health returns "Unkown option:" but at cli the command worksicinga 检查命令 check_nwc_health 返回“未知选项:”但在 cli 中该命令有效
【发布时间】:2020-11-12 01:44:59
【问题描述】:

我想使用 check_nwc_health 检查在 icinga2 中编写测试/检查条件,以获取 avm dect 200 电源插座的一些状态信息,其中提供有关连接状态、电源开启、能耗等的信息,连接设备(如您可以插入的所有东西:电视、服务器、冰箱、洗衣机、烘干机等)。

检查几乎准备就绪,但缺少一点东西,因此脚本无法通过选项 --name 仅给出一个设备的状态。在 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

使用 --name 选项输出正确。

现在是 icinga 配置:

host.conf:

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"
}

commands.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 界面输出如下所示:

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 个小时的搜索,我不得不放弃调试文件。

请有人可以帮我解决这个问题,也许这只是我忽略的一件小事。

最好的问候, 克里斯

【问题讨论】:

    标签: nagios health-monitoring icinga2 fritzbox


    【解决方案1】:

    您使用的插件不接受“--name”参数,因此只需将其从命令配置中删除即可。

    供参考:https://exchange.icinga.com/lausser/check_nwc_health

    正确的语法应该是这样的:

      "--name" = {
      value = "$avm_device_name$"
      description = "Name of smart home device"
    }
    

    为什么要跳过密钥然后在参数中传递密钥本身?命令会处理这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-11
      • 1970-01-01
      • 2020-07-10
      • 2017-10-12
      相关资源
      最近更新 更多