Prometheus 时间戳返回 Null

Posted

技术标签:

【中文标题】Prometheus 时间戳返回 Null【英文标题】:Prometheus TimeStamp Returns Null 【发布时间】:2020-07-15 14:13:15 【问题描述】:

我使用以下代码段注册了一个 Prometheus 计数器。

public static final Counter requestsReceived = Counter.build("total_request_count_proxy_serv", "Total number of requests to a proxy service").labelNames("service", "method", "endpoint", "remoteAddress").register();

当我公开指标并在浏览器中查看它们时,我得到了以下时间戳为空的结果。

Name: total_request_count_proxy_serv Type: COUNTER Help: Total number of requests to a proxy service Samples: [Name: total_request_count_proxy_serv LabelNames: [service, method, endpoint, remoteAddress] labelValues: [TestProxy, GET, /services/TestProxy, 127.0.0.1] Value: 2.0 **TimestampMs: null**]

为什么时间戳显示为空?

【问题讨论】:

【参考方案1】:

直接检测没有时间戳,所以这是正确的。时间戳仅出现在出口商的特定利基用例中。

指标名称也应该从最少到最具体,避免冗余并且计数器以_total 结尾,所以myproxy_requests_total 将是一个更清晰、更简洁的名称。

【讨论】:

以上是关于Prometheus 时间戳返回 Null的主要内容,如果未能解决你的问题,请参考以下文章

我们如何在 Prometheus 度量系列中添加我们自己的时间戳?

在 Prometheus 中获取两个自定义时间戳之间的增量

如何在 Spring Boot Actuator Prometheus 指标中包含时间戳

在 java 中使用 Prometheus 收集的时间序列的自定义时间戳

在 prometheus/grafana 中触发节点导出器的时间戳太旧的警报

摄取同一指标的多个时间戳?