Kibana 7.13.2调用REST API创建告警规则报400 Invalid action groups错误
问题根因与修复方案
这不是ELK的漏洞,属于配置错误,原因和修复方法如下:
- 你参考的是告警动作的通用配置说明,其中提到的无需分组时设group为default,仅适用于预定义了default动作组的规则类型。不同内置规则类型有独立的合法动作组取值范围,不能通用default。
- 你使用的
metrics.alert.inventory.threshold(基础设施指标阈值告警)类型的规则,在7.13版本中没有定义default动作组,因此传入该值会触发参数校验失败。
修复步骤
- 如果你需要确认当前版本该规则类型支持的所有合法动作组,可调用以下Kibana API查询:
curl -u <你的认证信息> -H 'kbn-xsrf: true' https://<你的Kibana服务地址>/api/alerting/rule_type/metrics.alert.inventory.threshold
返回结果中的action_groups字段下的所有id都是可使用的合法值,7.13版本该规则类型默认的合法动作组为warning和critical,分别对应警告级别阈值触发、严重级别阈值触发的场景。 - 修改
src/rules/cpu_utilization.json配置,将actions数组下的"group": "default"替换为匹配你告警等级的合法值,比如CPU使用率超过80%属于严重告警,修改为:
"actions": [ { "group": "critical", "id": "fce4c27f-d22a-4209-858c-253a06511c1b", "params": { "message": "{{alertName}} - {{context.group}} is in a state of {{context.alertState}}\n\nReason:\n{{context.reason}}" } } ]
- 重新执行原来的curl创建请求即可成功生成带Slack通知动作的告警规则。
内容的提问来源于stack exchange,提问作者ValueError
相关产品推荐
相关产品推荐

