SuperAPI AI 工具集

kibana-alerting-rules

编程与开发

查看项目

更新于 10-15 21:37

技能介绍

用途:用于创建、更新、查询、删除 Kibana 告警规则,并管理规则生命周期,包括启用、禁用、全部静音、单条告警静音、暂停计划及 API key 更新,也可通过 Terraform 声明式管理。规则由条件、调度计划与动作三部分组成,条件命中后生成告警,经连接器触发动作。

主要能力:API 基路径为 <kibana_url>/api/alerting,非默认空间使用 /s/<space_id>/api/alerting。支持创建(POST /api/alerting/rule/{id})、更新(PUT)、查询(GET)、删除(DELETE)、查找规则(GET /api/alerting/rules/_find)、列出规则类型(GET /api/alerting/rule_types)、启用/禁用(_enable、_disable)、静音(_mute_all、_mute、_unmute)、暂停计划(snooze_schedule)与健康检查(_health)。创建规则必填 name、rule_type_id、consumer、params、schedule,可选 actions、tags、enabled、notify_when、alert_delay、flapping。查找支持 per_page、page、search、sort_field、sort_order、filter(KQL)等参数。Terraform 使用 elasticstack_kibana_alerting_rule 资源,params 需经 jsonencode() 传入,导入格式为 <space_id>/<rule_id>,默认空间用 default。

使用方式:所有告警 API 调用需 API key 或 Basic 认证;每个变更请求必须带 kbn-xsrf: true,否则返回 400。需要相应 Kibana 功能(如 Stack Rules、Observability、Security)的 all 权限及 Actions and Connectors 的 read 权限。先调用 GET /api/alerting/rule_types 可发现合法 consumer 与 action group 名称。

适用场景:阈值或 Elastisearch 查询类告警、按标签检索生产规则、临时禁用规则、向 PagerDuty/Jira/ServiceNow 等连接器发送通知,以及在 Elastic Stack 9.3 及 Elastic Cloud Serverless 预览中把工作流作为规则动作触发。

限制与注意事项:rule_type_id 与 consumer 创建后不可变更,需删除重建;PUT 并发冲突返回 409,须先 GET 最新版本;规则级 notify_when 与 throttle 已过时,应改用每个 action 的 frequency;规则 ID 重复返回 409;规则以创建或最后更新者的 API key 运行,用户权限变化或删除可能导致规则静默失败,可用 _update_api_key 重新关联;建议最小检查间隔 1 分钟,长查询受 xpack.alerting.rules.run.timeout 限制(默认 5m);导出规则导入后为禁用状态,连接器密钥丢失需重新配置。官方未提供具体收费与价格信息。