You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Elasticsearch Kibana中创建自定义告警?相关标准有哪些?

自定义Elasticsearch/Kibana告警方案及配置标准

一、定制化告警创建流程(基于Rules进阶配置)

1. 自定义查询驱动的告警规则

  • 先在Discover中构造匹配业务需求的查询语句(比如特定业务接口的超时请求、特定错误日志关键词),验证查询结果符合预期后,复制查询DSL。
  • 进入Stack Management → Rules → 创建新规则,选择Custom query类型,将复制的DSL粘贴到查询框。
  • 设置触发条件:例如"最近5分钟内匹配文档数大于10",根据业务实际调整时间窗口和阈值。

2. 指标聚合类告警配置

  • 若需统计类告警(如某业务接口平均响应时间超标),选择Metric threshold类型。
  • 配置目标索引模式,选择聚合字段(如response_time),设置聚合方式(avg、max等),再定义阈值条件(比如avg(response_time) > 500ms)。
  • 添加分组维度(如按service_name分组),实现分应用的精细化指标告警。

二、配置标准规范

1. 告警命名规范

  • 统一格式:[业务线]-[告警类型]-[监控对象]-[阈值描述],示例:电商交易-超时告警-支付接口-avg>500ms
  • 命名需直观,快速识别告警所属业务、类型及触发条件。

2. 阈值设定标准

  • 基于历史基线:通过Kibana可视化查看指标过去7天的基线数据(如95分位响应时间),阈值设为基线的1.5-2倍,减少误告警。
  • 对齐业务SLA:若业务要求接口超时率低于0.1%,则直接将告警阈值设为0.1%,确保触发后匹配业务风险等级。

3. 通知渠道配置

  • 按优先级分层:核心业务告警同时推送至企业微信/钉钉群+邮件,非核心业务仅推送邮件。
  • 通知内容必填:告警名称、触发时间、监控对象、当前值/阈值、Kibana查看链接(直接复制Discover/可视化的分享链接)。

4. 告警降噪规则

  • 配置抑制规则:同一业务的相同告警10分钟内仅触发一次,避免重复通知。
  • 过滤已知场景:添加条件排除测试环境请求、灰度发布时段的正常波动等非异常情况。

三、进阶脚本化定制方案(Watcher API)

当内置规则无法满足复杂逻辑时,可使用Elasticsearch Watcher API实现深度定制:

  1. 构造Watcher JSON配置,包含触发调度、查询逻辑、告警动作:
{
  "trigger": {
    "schedule": {
      "interval": "5m"
    }
  },
  "input": {
    "search": {
      "request": {
        "indices": ["app-logs-*"],
        "body": {
          "query": {
            "bool": {
              "must": [
                {"match": {"service": "payment"}},
                {"range": {"response_time": {"gt": 500}}}
              ]
            }
          },
          "aggs": {
            "timeout_count": {"value_count": {"field": "request_id"}}
          }
        }
      }
    }
  },
  "condition": {
    "compare": {"ctx.payload.aggregations.timeout_count.value": {"gt": 10}}
  },
  "actions": {
    "send_team_alert": {
      "email": {
        "to": "dev-pay-team@example.com",
        "subject": "支付接口超时告警",
        "body": "最近5分钟超时请求数:{{ctx.payload.aggregations.timeout_count.value}},已超过阈值10"
      }
    }
  }
}
  1. 在Dev Tools执行PUT请求创建Watcher:
PUT _watcher/watch/payment-timeout-alert
  1. 通过Watcher API可直接查询、更新或删除告警规则,实现更灵活的逻辑定制。

内容的提问来源于stack exchange,提问作者Navya Ch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 08:12:16