如何在Datadog仪表板中将epoch时间戳转换为可读日期时间?
解决Datadog中AWS Glue Zero-ETL lastSyncTimestamp指标的日期格式化问题
一、直接在仪表板编辑器内转换(推荐优先尝试)
因为你的lastSyncTimestamp是数值型指标(支持单位计算),可以用Datadog的内置公式函数直接在图表中转换为可读日期:
- 打开目标图表的编辑界面,切换到Query标签页
- 点击Add Formula,输入以下公式(如果指标是毫秒级epoch,需除以1000转成秒级,适配
format_date的参数要求):format_date(lastSyncTimestamp / 1000, "%Y-%m-%d %H:%M:%S") - 保存后,图表就会显示格式化后的日期时间字符串,替代原来的科学计数法数值
二、通过Metrics Pipeline/重映射器全局处理
如果需要所有地方都统一显示格式化后的日期,或者仪表板公式无法满足需求,可以在Datadog的指标管道中配置重映射:
- 先定位指标所属管道:
- 进入Datadog的Metrics页面,搜索
lastSyncTimestamp - 点击指标详情,查看它的来源(比如AWS Glue集成的默认管道,或者自定义的 ingestion pipeline)
- 进入Datadog的Metrics页面,搜索
- 进入对应管道的编辑界面,添加Processor:
- 选择Metric Remapper类型
- 设置规则:用
set操作生成新指标,例如:set("glue.last_sync_datetime", format_date($value / 1000, "%Y-%m-%d %H:%M:%S")) - 可选:如果不需要保留原数值指标,可以添加删除规则移除
lastSyncTimestamp
- 保存管道配置后,新的格式化指标会自动同步到仪表板和Metric Explorer
补充说明
- 手动修改单位无效的原因:Datadog的单位设置仅用于数值的量级换算(比如把毫秒转成秒/天),不支持日期格式化逻辑,必须用
format_date这类字符串格式化函数处理 - 确认epoch精度:如果你的
lastSyncTimestamp是秒级epoch(而非毫秒),直接用format_date(lastSyncTimestamp, "%Y-%m-%d %H:%M:%S")即可,无需除以1000
内容的提问来源于stack exchange,提问作者dan
相关产品推荐
相关产品推荐

