首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >icinga check命令check_nwc_health返回"Unkown option:“,但在cli时该命令起作用

icinga check命令check_nwc_health返回"Unkown option:“,但在cli时该命令起作用
EN

Stack Overflow用户
提问于 2020-07-22 21:37:29
回答 1查看 196关注 0票数 0

我想写一个测试/检查条件在icinga2中使用check_nwc_health检查,以获得一些状态信息的avm DECT200电源插座,其中提供了连接的设备(像一切你可以插入:电视,服务器,冰箱,洗衣机,烘干机等)的连接状态,电源打开,能源消耗等信息。

检查已基本就绪,但是缺少一件小东西,因此脚本不能使用选项--name仅给出一个设备的状态。在shell cli上,它正在工作,命令如下所示:

https://labs.consol.de/assets/downloads/nagios/check_nwc_health-7.12.1.2.tar.gz

代码语言:javascript
复制
[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:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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界面输出如下所示:

代码语言:javascript
复制
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个小时的搜索之后,我不得不放弃调试文件。

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

致以最好的问候,克里斯

EN

回答 1

Stack Overflow用户

发布于 2020-12-03 04:48:35

您正在使用的插件不接受"--name“参数,因此只需将其从命令config中删除,即可正常工作。

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

另外,正确的语法应该如下所示:

代码语言:javascript
复制
  "--name" = {
  value = "$avm_device_name$"
  description = "Name of smart home device"
}

为什么要跳过键,然后在参数中传递键本身?命令将处理此问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63035508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档