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

如何在Datadog中基于日志间的时间关联设置告警?

在Datadog中配置订单创建/作废时间差告警

针对你提到的「同一订单的创建日志与作废日志时间差小于30秒则触发告警」的需求,可按以下步骤在Datadog中实现:

1. 编写关联日志查询语句

首先需要通过日志查询关联同一订单的两类日志,并计算时间差:

# 筛选订单创建和作废日志,按order_id聚合
(filter(@message matches "Order Created") | aggregate(@timestamp as created_time by @trace.order_id))
join
(filter(@message matches "Order Voided") | aggregate(@timestamp as voided_time by @trace.order_id))
on @trace.order_id
# 计算时间差(Datadog时间单位为毫秒,30秒=30000毫秒)
| compute duration = voided_time - created_time
# 过滤出时间差小于30秒的记录
| filter duration < 30000

说明:

  • filter 用于分别筛选出「Order Created」和「Order Voided」类型的日志
  • aggregate 按@trace.order_id聚合,提取对应状态的时间戳
  • join 关联同一订单的两类日志记录
  • compute 计算时间差,filter 筛选出符合告警条件的记录

2. 创建日志监控告警

  1. 进入Datadog控制台的「Monitors」页面,点击「New Monitor」选择「Logs」类型
  2. 将上述查询语句粘贴到日志搜索框中
  3. 设置告警触发条件:
    • 选择「A log search returned results」作为触发规则
    • 可根据需求调整阈值,比如「当返回结果数大于0」立即触发,或「5分钟内返回结果数大于N」触发(避免误报)
  4. 配置告警通知:
    • 添加需要通知的团队或个人渠道
    • 在告警信息模板中加入@trace.order_id和duration字段,方便快速定位问题订单,例如:

      订单{{@trace.order_id}}创建后{{duration/1000}}秒即作废,触发告警

  5. 保存监控配置,完成设置

注意事项

  • 确保日志中的@timestamp字段准确,无时区偏差,否则时间差计算会出错
  • 根据业务场景调整监控的查询时间窗口(比如设置为5分钟),确保能覆盖订单创建到作废的时间范围
  • 若日志量较大,可添加额外过滤条件(如特定环境、业务线)缩小查询范围,提升监控性能

内容的提问来源于stack exchange,提问作者Mostafa El-Marzouki

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 01:27:06