当前位置: 首页 > 知识库问答 >
问题:

执行器指标不包括HTTP.Server.Requests

督辉
2023-03-14

我试图通过spring Boot2实现的api向prometheus公开定时度量。我包含了以下依赖项。

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-prometheus</artifactId>
    </dependency>

我通过spring-cloud-starter-parent finchley.sr1来管理依赖关系,它给了我关于spring-boot-starter-acturet的2.0.4.release版本和关于micrometer-registry-prometheus的1.0.6版本。

/acture/prometheusendpoint可以工作并且可以到达,但是我需要的度量不包括在内。当我查看/acutator/metrics时,这里没有列出“http.server.requests”度量:

{
    "names": [
        "jvm.memory.max",
        "cache.eviction.weight",
        "cache.gets",
        "process.files.max",
        "jvm.gc.memory.promoted",
        "tomcat.cache.hit",
        "system.load.average.1m",
        "tomcat.cache.access",
        "jvm.memory.used",
        "jvm.gc.max.data.size",
        "jvm.gc.pause",
        "jvm.memory.committed",
        "system.cpu.count",
        "logback.events",
        "tomcat.global.sent",
        "jvm.buffer.memory.used",
        "tomcat.sessions.created",
        "jvm.threads.daemon",
        "system.cpu.usage",
        "jvm.gc.memory.allocated",
        "tomcat.global.request.max",
        "tomcat.global.request",
        "tomcat.sessions.expired",
        "jvm.threads.live",
        "jvm.threads.peak",
        "tomcat.global.received",
        "process.uptime",
        "cache.puts",
        "cache.size",
        "cache.evictions",
        "tomcat.sessions.rejected",
        "process.cpu.usage",
        "tomcat.threads.config.max",
        "jvm.classes.loaded",
        "jvm.classes.unloaded",
        "tomcat.global.error",
        "tomcat.sessions.active.current",
        "tomcat.sessions.alive.max",
        "jvm.gc.live.data.size",
        "tomcat.servlet.request.max",
        "tomcat.threads.current",
        "tomcat.servlet.request",
        "process.files.open",
        "jvm.buffer.count",
        "jvm.buffer.total.capacity",
        "tomcat.sessions.active.max",
        "tomcat.threads.busy",
        "process.start.time",
        "tomcat.html" target="_blank">servlet.error"
    ]
}

根据文档,以及我在google上能找到的所有东西,它应该是一个自动配置的即用即用的度量标准。

我尝试过将spring.metrics.web.server.auto-time-requests属性设置为true,并在我正在测试的endpoint上使用@timed注释,但无论哪种方法都没有得到任何结果。

我发现这个解决了的问题,其中有人有相同的症状,但他们使用的是spring Boot1.5,他们的问题是一个不必要的额外依赖,而我没有:

执行器/度量终结点不包括HTTP.Server.Requests

知道什么会导致执行器不公开http.server.requests度量吗?

我应该补充的是,我还有6个其他的服务,像这个一样,它的度量标准是按照预期工作的,所以在7个服务中,只有这一个不工作。我想不出这个有什么不同。我甚至尝试将其剥离,以删除其他六个中不存在的依赖项,但这一个仍然不会报告该度量。

共有1个答案

吕树
2023-03-14

你能访问你的任何一个终点吗?只需从postman或应用程序中尝试一下,并检查/metricsendpoint。我希望它应该在那里。

 类似资料:
  • 根据Spring靴执行器的文件 来启用检测 和 生成度量 当添加时,会出现以下错误 即使@bean在那里…

  • 我正在使用带Spring靴2的SCDF。x metrics和SCDF metrics collector从我的Spring Boot应用程序收集指标。我真的不理解收集器关于聚合度量(aggregateMetrics)数据的逻辑。 当我获取为我的流收集的指标列表时,我只有以开头的指标,因此我只有平均值。我尝试了所有方法来查看其他指标,就像endpoint公开的指标一样。 我想我误解了指标的聚合方式。

  • 是否有任何参考Spring靴2指标的详细留档。 我的意思是 > 同样在Spring靴1.5中。x、 我可以简单地使用heap、committed heap、gc count等。如何获得这些值? 还有一种方法可以在一次通话中获得所有指标。我的意思是在boot 2中获得我需要调用的所有指标。

  • 我正在尝试将endpoint可见的所有度量导出到StatsdMetricWriter。 到目前为止,我已经获得了以下配置类: 它写入了我添加到Statsd的所有度量,但我还想发送在endpoint上可见的系统/JVM度量。 我错过了什么?

  • 我用的是Spring靴。为了监视JVM内存,我正在使用Spring Boot Actuator的/metricsendpoint。 我无法理解键实际上代表什么: 有人能告诉我它们到底是什么吗? CMS(并发标记扫描)和MarkSweepCompact相同吗?我应该使用CMS(并发标记扫描)吗?或者我应该使用哪种GC算法?

  • 我有一些储藏室 I get with“/执行器/指标/缓存。get” 如何获取myCache和myOtherCache的命中和未命中值?