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

Datadog仪表板Top List:统计最新状态为Live的唯一账户

解决Datadog Top List统计唯一Live状态账户的问题

核心思路

要实现只统计最新状态为Live的唯一账户,需要先锁定每个账户的最新日志记录,再基于这些最新记录筛选并统计状态为Live的账户,避免同一账户因多次状态变更被重复计数。

具体查询配置

1. 提取每个账户的最新状态

使用latest聚合函数按accountId分组,保留每个账户最后一次出现的状态值,自动忽略历史状态变更记录:

latest:${datadog_logs_metric.accounts.status}{*} by {accountId}

2. 统计最新状态为Live的唯一账户数

在上述查询基础上,筛选出状态为Live的记录,再用count_distinct统计唯一账户数量:

count_distinct(latest:${datadog_logs_metric.accounts.status}{status:Live} by {accountId})

适配Top List组件的两种场景

  • 如果只需展示总数:直接使用上述count_distinct查询,Top List会显示最新状态为Live的唯一账户总数。
  • 如果要展示具体账户明细:先执行第一步的latest查询,再在组件的「Filters」选项中添加status equals Live,此时列表只会显示最新状态为Live的唯一账户,不会出现重复项。

原查询重复计数的原因

原查询sum:${datadog_logs_metric.accounts.name}{*} by {status}.as_count()是对所有状态为Live的日志条目求和,同一账户多次触发Live状态的日志会被多次统计,既没有考虑账户的唯一性,也没有筛选最新状态。

内容的提问来源于stack exchange,提问作者Георги Кръстев

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 09:30:38