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

如何在Datadog中统计Kubernetes Pod的运行时长?

Datadog 按自定义业务标签统计Running状态Pod运行时长方案

需求背景

需按自定义业务逻辑标签,聚合统计状态为Running的Pod运行时长,用于计算对应服务的运行成本。

已尝试路径的问题说明

  • 尝试使用docker.uptime指标统计,结果不符合预期:该指标为节点维度的Docker运行时长,单节点可并行运行多个容器,无法对应到单个Pod的运行时长统计需求
  • 已知Datadog KSM集成提供pods.age、pods.uptime两个指标,但默认配置下这两个指标不会出现在Datadog指标浏览器中

原生Datadog实现方案

无需引入Prometheus/Grafana组件,通过调整Datadog配置即可实现需求:

方案1:基于KSM指标采集实现

  1. 调整KSM集成配置
    编辑Datadog Agent的kube_state_metrics.d/conf.yaml配置文件,在pods采集器的metrics列表中,确保开启kube_pod_start_time、kube_pod_status_phase两个指标的采集。
    配置生效后重启Datadog Agent,等待指标上报即可。
  2. 构造统计查询
    在Datadog指标查询/监控面板中,使用如下逻辑构造查询:
    • 筛选维度:kube_pod_status_phase{phase:Running},关联你自定义的业务标签(如service、app等Pod上标注的业务标签)
    • 单Pod运行时长计算:now() - kube_pod_start_time,单位为秒
    • 按业务标签做sum聚合,即可得到对应业务维度下所有Running Pod的累计运行时长,乘以节点单位时长成本即可得到对应服务的运行成本。

方案2:基于容器采集指标实现(无需修改KSM配置)

如果已经开启Datadog的容器运行时采集,可直接使用container.uptime指标统计:

  • 筛选维度:container.uptime{pod_name:*,status:running},关联Pod对应的自定义业务标签
  • 按业务标签聚合去重后求和,即可得到对应业务维度的Pod累计运行时长

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 23:06:08