You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Kibana中添加监听器,实现索引无日志写入时触发事件?

实现Kibana定时监控索引日志写入并触发告警

绝对可以实现!Kibana自带的Alerting功能就能完美解决你的需求,不用额外工具,步骤也很清晰,刚好匹配你每10分钟检查一次、无日志就触发事件的要求:

1. 确认权限前提

首先得确保你的Kibana账号拥有足够的权限:

  • 能够读取目标索引的权限
  • 拥有manage_alertsread_alerts这类告警相关的权限(集群管理员账号一般默认都具备)

2. 创建查询阈值告警规则

直接在Kibana里配置规则即可:

  • 进入Kibana的「Stack Management」→「Alerts and Insights」→「Rules」
  • 点击「Create rule」,选择「Query threshold」类型(这是监控一段时间内文档数量的最合适类型)
  • 配置规则基础信息:
    • 给规则起个好识别的名字,比如"业务日志索引-写入中断告警"
    • 选择规则所属的空间(如果用了多空间部署的话)
  • 配置查询条件:
    • Index pattern:选择你那个持续接收Logstash日志的索引(或索引模式)
    • Time range:设置为「Last 10 minutes」(和你想要的检查频率对应)
    • Query:保持默认的*(匹配所有日志文档)就行,要是想更精准,也可以加个条件比如@timestamp:*确保只统计有效日志
    • Aggregation:选择Count(统计这段时间内的日志数量)
  • 设置触发阈值:
    • 在「Threshold conditions」里选择is less than or equal to,值填0——意思是当最近10分钟内日志数量为0时触发告警
  • 配置检查频率:
    • 在「Schedule」里设置「Run every」为10 minutes,和查询时间范围保持一致,避免重复或遗漏检查
  • 添加告警动作:
    • 点击「Add action」,选择你需要的事件处理方式:
      • 发送邮件通知运维团队
      • 调用Webhook触发自动化恢复脚本(比如重启Logstash)
      • 发送Slack/企业微信消息提醒
    • 自定义动作内容,比如在通知里写上索引名、告警时间、当前日志数量等信息,方便快速定位

3. 测试验证规则

可以临时停掉Logstash服务,等待10分钟后看是否触发告警;恢复Logstash后,再确认告警是否会自动恢复(如果配置了恢复条件的话),确保规则逻辑没问题。

额外优化建议

  • 可以在规则里添加「Recovery action」,当日志恢复写入后自动发送恢复通知,不用人工确认
  • 如果索引里偶尔会有一些空文档或者测试日志,可以调整查询条件过滤掉这些无效数据,降低误报率
  • 可以设置告警的静默周期,避免短时间内重复触发相同告警

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

火山引擎 最新活动