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

如何用Loki表达式在Grafana中针对重复日志ID告警?

如何在Loki中按FTP ID统计日志出现次数并告警重复ID?

可以实现这个需求,核心是先提取FTP ID作为独立标签,再按标签分组统计每个ID的日志出现次数,最后过滤出次数超标的结果。

修改后的Loki查询表达式

count_over_time(
  {job="namespace/files-lister"} 
  |~`\[ftp-([0-9]+)\] Files listing is on process` 
  | label_format ftp_id="$1"
[1h]) by (ftp_id) > 1

表达式说明

  • |~:匹配包含目标日志内容的条目,通过正则括号([0-9]+)捕获ftp-后的数字ID作为分组
  • | label_format ftp_id="$1":将捕获的分组内容(即FTP数字ID)赋值给自定义标签ftp_id
  • by (ftp_id):按新生成的ftp_id标签分组,统计每个ID在过去1小时内的日志出现次数
  • >1:过滤出出现次数超过1次的FTP ID

针对示例日志的效果

你的示例日志中:

  • ftp-23392 出现3次
  • ftp-12423、ftp-53433 各出现1次
  • ftp-12345 的日志内容不匹配目标模式,会被过滤

使用修改后的表达式后,只会返回ftp-23392的统计结果,完全符合你需要动态定位重复ID的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 17:34:52