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

SEQ查询语法:检测服务停机后30分钟无重启日志的方法

SEQ查询实现服务未重启告警逻辑

要实现你需要的“找出停机后30分钟内未出现对应重启的日志”需求,SEQ的SeqQL不支持exists子句,可通过左连接+空匹配筛选的方式替代,具体查询语句如下:

select $left.*
from stream as $left
where $left.@Message = 'Environment XYZ has completed shutdown.'
left join stream as $right
on $right.CorrelationId = $left.CorrelationId
and $right.@Message = 'Application Start for Environment XYZ.'
and $right.@Timestamp between $left.@Timestamp and $left.@Timestamp + 30m
where $right.@Message is null

逻辑说明:

  • 先从日志流中筛选出所有服务停机的日志,标记为$left
  • 左连接同日志流中的重启日志(标记为$right),关联规则为:
    • 两条日志的CorrelationId一致(确保是同一服务实例的日志)
    • 重启日志的消息匹配指定内容
    • 重启日志的时间在停机日志产生后的30分钟范围内
  • 最后筛选出没有匹配到对应重启日志的停机记录($right.@Message is null即表示无匹配),这类记录就是需要触发告警的目标。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.01 23:03:10