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

如何将Datadog事件标签值聚合为单个计数器指标

解决方法

第一步:修正事件标签格式

你当前的tags参数格式不符合Datadog要求,api.Event.create的tags需要是字符串列表,每个标签采用key:value的键值对格式,而非字典列表。修改后的代码如下:

group_size = len(group_of_items)
tags = [
    f"value:{group_size}",
    f"org:{org}"
]
api.Event.create(title=title, text=text, tags=tags)

方案一:从事件中提取value标签值并求和

如果坚持从已发送的事件中统计,可在Datadog查询编辑器中使用以下查询语句:

sum(last_1d):tag_value(events{*}, "value").as_number()
  • tag_value(events{*}, "value"):提取所有事件的value标签内容
  • .as_number():将标签的字符串值转换为数值类型
  • sum(last_1d):对过去1天内的所有转换后数值求和

方案二:直接发送自定义指标(更推荐)

事件更适合用于告警、通知场景,统计数值总和的话,直接发送自定义指标是更高效、准确的方式。在发送事件的同时添加指标发送逻辑:

group_size = len(group_of_items)
org_tags = [f"org:{org}"]

# 发送事件(保留value标签用于事件过滤)
api.Event.create(
    title=title,
    text=text,
    tags=[f"value:{group_size}"] + org_tags
)

# 发送自定义指标,用于数值统计
api.Metric.send(
    metric="group.items.total",  # 自定义指标名,可按需修改
    points=group_size,
    tags=org_tags
)

之后在Datadog中求和只需执行简单的指标查询:

sum(last_1d):group.items.total{*}

为什么推荐方案二?

  • 指标是Datadog专门用于数值统计的类型,查询性能远优于从事件标签提取数值
  • 指标的统计逻辑更直观,避免了标签类型转换可能带来的错误
  • 后续扩展维度(如按org分组求和)更方便

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 09:45:49