问题标签 [micrometer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5648 浏览

java - 当我使用千分尺的 PrometheusMeterRegistry 时,指标没有出现在普罗米修斯端点

我是千分尺普罗米修斯的新手,我正在尝试构建我的第一个hello-world应用程序,使用千分尺和普罗米修斯作为监控后端进行监控。但我看不到我的应用程序(Counters 和Timers)出现在 prometheus 端点上的指标。

我正在关注教程的普罗米修斯。我也跟着这个视频开始使用千分尺。

我从这个链接下载了 prometheus ,解压了它,然后运行 ​​prometheus 以使用以下命令进行抓取:./prometheus --config.file=prometheus.yml. 我在此配置文件中将目标设置为targets: ['localhost:9090']

然后我运行了我的 Main 类,如下所示:

当我运行时./prometheus --config.file=prometheus.yml,我可以访问端点http://localhost:9090/metrics,也可以访问http://localhost:9090/graph。但是当我尝试对其执行查询http://localhost:9090/graph sum(timer_duration_seconds_sum) / sum(timer_duration_seconds_count)时说no datapoints found

在我看来,我缺少一些明显的东西(因为我是这两个主题的初学者)。

有人可以指出我缺少什么吗?

我找不到(在我的 Main 类中的哪个位置)我必须配置 URI 才能为 prometheus 发布。即使我要发布到http://localhost:9090(可能默认隐藏在千分尺的某个地方),我也找不到它。

0 投票
1 回答
329 浏览

grafana - Graphite - Gather metrics only from active service instances

Lets say my spring microservice processes data. Every time a successful processing event occurs, for metrics, I update the micrometer counter. This is registered to a Graphite Registry.

So far, it sounds good. But what if I have to create and deploy multiple instances of my service?

How do I get the aggregated count of all successful events from all the instances?

To illustrate my case further, I log the counter.count() value on each increment. Here is what i see ->

So when I run the graphite query on graphana -

I tend to get the random count from either of these instances.

What I need is a query like -

so that I can run a summarize() function in the end.

Update Now I'm able to source data from all instances by getting the service instance ID. But that presents a new problem - Since I restart my services time and again, and my service-id changes every time, how do I source data from ONLY ACTIVE services?

Since process.*.status.success.count represents aggregate count of ALL services - dead or alive

0 投票
1 回答
2421 浏览

java - grafana 中的“t.data.data 未定义”

我是千分尺、普罗米修斯和格拉法纳的新手。我正在尝试运行我的第一个示例,这三件事一起工作。但我很难弄清楚我做错了什么。

我正在使用千分尺的 API 创建一个PrometheusMeterRegistry这样的:

我正在HttpServer使用以下代码创建一个如此处所述的:

我在 grafana 中将 Prometheus 配置为我的数据源,并将 URL 设置为http://localhost:8080/prometheus. 但是当我尝试创建一个新的仪表板并向其添加图表时,我得到一个红色的感叹号,上面写着t.data.data is undefined。因此,我无法查看图表。完整的堆栈跟踪如下:

以下是我得到的 grafana 错误的屏幕截图: 在此处输入图像描述

有什么建议我可能会错过吗?

注意:我可以看到计时器使用 URL 发布在本机 prometheus 上localhost:8080/prometheus

0 投票
1 回答
2036 浏览

micrometer - 如何使用不同的标签为多个指标名称使用相同的 Counter 对象

我想记录多个指标名称的计数,例如 metricA、metricB、metricC 等等。一种选择是像这样创建多个计数器对象

但是,这将导致很多我不同意的对象。

我想知道是否有一种方法可以使用相同的计数器对象并记录多个指标的计数。

有没有办法创建计数器,然后动态创建标签,获取相同的计数器对象并分别在这些标签上递增?

这个想法是在监视工具中使用相同的度量(米),并在同一图表中的标签周围进行分隔。

或者,如果有一种方法可以创建一个带有 10 个标签并一次增加一个标签的计数器仪表?

0 投票
1 回答
1233 浏览

spring-boot - 在 Spring Boot 应用程序中使用 Micrometer 测量 HTTP 性能

我正在开发一个带有千分尺的 Spring Boot 2 应用程序来报告指标。其中一项功能是将大量数据发送到 Restful Web 服务。

我想测量发送的数据量和完成请求所需的时间。使用 Timer 指标可以为我提供时间以及发出请求的次数。但是我怎样才能将传输的字节也包含在同一个度量中呢?我的 Grafana 仪表板应该计算传输的数据量和完成它所花费的时间。

我查看了计数器和仪表,但它们看起来并不适合我正在尝试做的事情。有没有办法向 Grafana 指标添加自定义字段?

0 投票
1 回答
1105 浏览

spring-boot - gauge-like calculation of DistributionSummary with micrometer and prometheus

I want to get a DistributionSummary over some domain data that does not change very frequently. So it is not about monitoring requests or sth like that.

Let's take number of seats in an office as example. The value for each office can change from time to time and there can be new offices and also offices get removed.

So now I need the current DistributionSummary over all offices, which needs to be calculated every time I think (similar to a Gauge).

I have a Spring Boot 2 app with micrometer and collect the metrics with prometheus and display them in grafana.

What I tried so far:

When I register a DistributionSummary, I can record all the values once during startup... this gives me the distribution, but calculated values like max get lost over time and I cannot update the DistributionSummary (recording new offices would work, but not changing existing ones)

I also tried to use a @Scheduled task to remove and completely rebuild the DistributionSummary. This seems to work, but feels wrong somehow. Would that be a recommended approach? That would also probably need some synchronisation to not collect the metrics between removing and recalculating distribution.

Another problem I just recognized with this approach: the /actuator/prometheus endpoint still returns the values for the old (removed) metrics, so everything is there mutiple times.

For sth like sla borders I could also use some gauges to provide the values (by calculating them myself), but that would not give me quantiles. Is it possible to create a new DistributionSummary without registering it and just provide the values it collected somehow?

I would like to have a DistributionSummary that takes a lambda or sth like that to get the values. But maybe these tools are not made for this usecase and I should use sth else. Can you recommend sth?

0 投票
1 回答
7439 浏览

spring-boot - Prometheus,如何获取实际的 Java Garbage Collector 内存使用情况?

Springboot 应用程序中的 Prometheus 插件正在发送大量数据,我没有发现任何关于我从导出器获得的含义的亮点:

我需要的是 Java 垃圾收集器的实际内存使用情况,所以我期待一个值始终低于 2GB(最大内存大小),但目前为 8GB 并且仍在增加。

是从导出器提供的仅有的两个与 Garbe 收集器相关的变量。

0 投票
1 回答
210 浏览

spring-boot - 在 prometheus 集成中添加端点

如何在prometheus. 例如,splunk我们正在监控微服务事务和日志。

让我们在弹簧靴下面说: -

在一行中:-我们如何添加上述微服务端点以prometheus进行运动

0 投票
2 回答
482 浏览

tomcat - Enable Micrometer TomcatMetrics without spring(如何获取tomcat管理器)

我想将 Micrometer TomcatMetrics 指标类插入到没有 Spring 集成的现有 tomcat 应用程序中

从源代码的外观看起来很可能只需调用

但是,我似乎无法弄清楚如何获得该org.apache.catalina.Manager实例。

没有经理(null),它可以工作,但缺少我想要的会话信息。

那么如何以适当的方式掌握它(servletContextListener 或其他东西)

0 投票
2 回答
352 浏览

metrics - 使用千分尺的 Datadog 事件

我正在利用 dogstatsd 方法使用千分尺将指标发送到 datadog。我得到了计数器和仪表等正常指标,但我无法生成事件。有没有办法生成数据狗事件?