Check_MK - wato 中指定的自定义检查参数未提供给检查功能
Check_MK - Custom check params specified in wato not being given to check function
我正在开发一个 check_mk 插件,但似乎无法将 WATO 指定的参数传递给检查函数,特别是当它运行一次检查时...
- 检查参数规则显示在 WATO
- 它将正确的值写入 rules.mk
- 单击主机服务发现中的分析检查参数图标显示规则处于活动状态。
- 服务发现中显示的检查参数显示了 WATO 文件中的标题,因此它似乎正在正确关联事物。
运行 cmk -D <hostname>
显示检查始终具有默认值。
看了半天没啥想法
Check_MK 版本:1.2.8p21 Raw
批量支票文件:
factory_settings["elasticsearch_status_default"] = {
"min": (600, 300)
}
def inventory_elasticsearch_status(info):
for line in info:
yield restore_whitespace(line[0]), {}
def check_elasticsearch_status(item, params, info):
for line in info:
name = restore_whitespace(line[0])
message = restore_whitespace(line[2])
if name == item:
return get_status_state(params["min"], name, line[1], message, line[3])
check_info['elasticsearch_status'] = {
"inventory_function" : inventory_elasticsearch_status,
"check_function" : check_elasticsearch_status,
"service_description" : "ElasticSearch Status %s",
"default_levels_variable" : "elasticsearch_status_default",
"group" : "elasticsearch_status",
"has_perfdata" : False
}
Wato 文件:
group = "checkparams"
#subgroup_applications = _("Applications, Processes & Services")
register_check_parameters(
subgroup_applications,
"elasticsearch_status",
_("Elastic Search Status"),
Dictionary(
elements = [
( "min",
Tuple(
title = _("Minimum required status age"),
elements = [
Age(title = _("Warning if below"), default_value = 600),
Age(title = _("Critical if below"), default_value = 300),
]
))
]
),
None,
match_type = "dict",
)
来自 WATO 规则的 rules.mk 条目:
checkgroup_parameters.setdefault('elasticsearch_status', [])
checkgroup_parameters['elasticsearch_status'] = [
( {'min': (3600, 1800)}, [], ALL_HOSTS ),
] + checkgroup_parameters['elasticsearch_status']
如果有任何其他信息有帮助,请告诉我!
编辑:请帮助
也发布了问题here,谜团解开了。
我正在将 WATO 规则与项目 None
(WATO 文件中的第 5 个位置参数)相匹配,但由于此检查在其下列出了多个项目(none 其中的 ID None
) 该规则适用于主机,但不适用于任何特定的服务检查。
修复是将该参数替换为:
TextAscii( title = _("Status Description"), allow_empty = True),
我正在开发一个 check_mk 插件,但似乎无法将 WATO 指定的参数传递给检查函数,特别是当它运行一次检查时...
- 检查参数规则显示在 WATO
- 它将正确的值写入 rules.mk
- 单击主机服务发现中的分析检查参数图标显示规则处于活动状态。
- 服务发现中显示的检查参数显示了 WATO 文件中的标题,因此它似乎正在正确关联事物。
运行 cmk -D <hostname>
显示检查始终具有默认值。
看了半天没啥想法
Check_MK 版本:1.2.8p21 Raw
批量支票文件:
factory_settings["elasticsearch_status_default"] = {
"min": (600, 300)
}
def inventory_elasticsearch_status(info):
for line in info:
yield restore_whitespace(line[0]), {}
def check_elasticsearch_status(item, params, info):
for line in info:
name = restore_whitespace(line[0])
message = restore_whitespace(line[2])
if name == item:
return get_status_state(params["min"], name, line[1], message, line[3])
check_info['elasticsearch_status'] = {
"inventory_function" : inventory_elasticsearch_status,
"check_function" : check_elasticsearch_status,
"service_description" : "ElasticSearch Status %s",
"default_levels_variable" : "elasticsearch_status_default",
"group" : "elasticsearch_status",
"has_perfdata" : False
}
Wato 文件:
group = "checkparams"
#subgroup_applications = _("Applications, Processes & Services")
register_check_parameters(
subgroup_applications,
"elasticsearch_status",
_("Elastic Search Status"),
Dictionary(
elements = [
( "min",
Tuple(
title = _("Minimum required status age"),
elements = [
Age(title = _("Warning if below"), default_value = 600),
Age(title = _("Critical if below"), default_value = 300),
]
))
]
),
None,
match_type = "dict",
)
来自 WATO 规则的 rules.mk 条目:
checkgroup_parameters.setdefault('elasticsearch_status', [])
checkgroup_parameters['elasticsearch_status'] = [
( {'min': (3600, 1800)}, [], ALL_HOSTS ),
] + checkgroup_parameters['elasticsearch_status']
如果有任何其他信息有帮助,请告诉我!
编辑:请帮助
也发布了问题here,谜团解开了。
我正在将 WATO 规则与项目 None
(WATO 文件中的第 5 个位置参数)相匹配,但由于此检查在其下列出了多个项目(none 其中的 ID None
) 该规则适用于主机,但不适用于任何特定的服务检查。
修复是将该参数替换为:
TextAscii( title = _("Status Description"), allow_empty = True),