首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过prometheus支持多指标(statsd和prometheus)

通过prometheus支持多指标(statsd和prometheus)
EN

Stack Overflow用户
提问于 2020-09-08 06:54:05
回答 1查看 208关注 0票数 0

我正在将指标收集系统从statsd迁移到Prometheus。这是一个基于千分尺的弹簧启动应用程序。我想知道是否有一种方法可以同时支持分层的statsd指标和维度的Prometheus指标。

目前,我创建计时器的方式是

代码语言:javascript
复制
Metrics.timer("apiName.endpointName.latency").record(latency)

这对statsd来说很好,但对Prometheus不起作用。我需要用标签支持单独的指标,比如

代码语言:javascript
复制
service_latency {api="apiName", endpoint="endpointName"}

是否有可能同时支持这两种功能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-09 01:19:03

您可以同时支持这两种方式。推荐的方式是

代码语言:javascript
复制
Metrics.timer("latency", Tags.of("api", apiName, "endpoint", endpointName.)).record(latency)

然后使用“hierarchicalnaming convention

这样,statsd标记就会在您需要时被放置在层次结构中,并且Prometheus指标已经被标记并准备好使用。

备用(不推荐)

另一种(不太吸引人的方法)是在两个计量器存储库之间复制计量器。

目前,当您使用Metrics.timer("myMeter")时,您使用的是全局复合仪表注册表,它将仪表委托给底层注册表。

相反,如果您单独调用每个注册表:

代码语言:javascript
复制
statsdRegistry.timer("myMeter")...
prometheusRegistry.timer("myMeter")...

不幸的是,这将需要您进行更多的手动更改,并在注册中心之间复制代码。但是,你确实可以选择这样做。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63785145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档