Datadog 错误显示 http.server.requests.count 指标

问题描述 投票:0回答:3

在我的项目中,我们使用带有执行器和 datadog 指标的 spring-boot2 - 包

io.micrometer:micrometer-registry-datadog

指标通过http API发送到datadog。

我在 datadog 中为

http.server.requests.count
创建了时间序列图表,以查看每秒有多少个请求。

我发现根据 datadog 中选择的时间窗口,我在图表上看到完全不同的值。

例如15 分钟我看到大约 300req/s

enter image description here

1 天的速度约为 50req/s。

enter image description here

我在datadog中尝试过

http.server.requests.count
,将其更改为发生率/秒,但没有帮助。

我在控制器上添加了

@Timed
注释,并将数据狗步长自定义为 30 秒。其余的都是默认的。

您知道为什么会发生这种情况吗?我哪里做错了?

java spring-boot-actuator datadog micrometer spring-micrometer
3个回答
2
投票

原因是您是按费率聚合的。当您更改时间范围时,您会看到不同的值,将速率更改为总和,您应该会看到一致的数据。

以 json 格式,它看起来像这样:

{
    "query": "sum:http.server.requests.count{!uri:/actuator/health,$Environment}.as_count()",
    "data_source": "metrics",
    "name": "query"
}

还建议您阅读这两页以了解查询和数据类型在 datadog 中的工作方式:


0
投票

也许您在图表上看到的是平均值。也许在这 15 分钟内请求量会激增,但由于时间间隔更宽,因此在更大的范围内,请求量会“趋于平坦”。检查 1 小时窗口可能会揭示一些情况。谢谢


0
投票

值的差异是由于基于rate的查询造成的。因此,如果您使用 count 进行聚合,应该会为您提供 RPS。 或者,您也可以使用时间窗口进行速率聚合:1秒 [再次推断计数]

© www.soinside.com 2019 - 2024. All rights reserved.