You need to enable JavaScript to run this app. AWS CloudWatch Logs触发Lambda的OR逻辑日志筛选规则配置问题
优惠活动
大模型
产品
解决方案
定价
更多

AWS CloudWatch Logs触发Lambda的OR逻辑日志筛选规则配置问题

CloudWatch Logs 过滤模式实操方案

错误原因定位

  • 原规则?ERROR ?Task timed out after失效的核心问题:
    • 多词短语未锁定:未给Task timed out after加双引号,导致CloudWatch将其拆分为Task/timed/out/after四个独立条件
    • 强制条件误判:不带?前缀的词为强制必选条件,拆分后规则要求日志必须同时包含timed/out/after(AND逻辑),完全偏离需求

正确过滤规则(两种适配方案)

方案1:结构化JSON日志适配(匹配带message字段的日志格式)

使用精准字段过滤语法,规则为:
{ ($.message ~ "Task timed out after") || ($.message ~ "ERROR") }

  • 语法拆解:
    • { ... }:标记为结构化JSON日志过滤块
    • $.message:指向日志事件内的message字段
    • ~:表示「包含指定字符串」的模糊匹配
    • ||:逻辑OR,满足任意一个条件即触发
    • 括号:分组OR条件,规避优先级歧义

方案2:纯文本日志适配(兼容无结构化日志)

使用短语锁定+可选匹配规则,规则为:
?"Task timed out after" ?"ERROR"

  • 语法拆解:
    • 双引号"Task timed out after":强制锁定连续多词短语,禁止拆分
    • ?前缀:标记为可选匹配条件(出现即符合,无需强制共存)
    • 空格分隔的双可选条件:自动按OR逻辑匹配(任意一个出现即触发)

匹配效果验证

  • 超时类日志:包含连续短语Task timed out after,触发规则
  • 报错类日志:包含关键词ERROR,触发规则
  • 普通日志:无上述任意内容,不触发

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.26 00:54:02