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

Spring启动2-执行器不工作

谢志用
2023-03-14

在我的Spring Boot应用程序(2.0.0.M7)中。我设置的属性

management.endpoint.metrics.enabled=true

然而,当我击中

localhost:8080/actuator/metrics 

我得到404。

解决办法是什么?

共有3个答案

荀增
2023-03-14

在spring boot 2发行版中,以下内容(YAML格式)对我有效:

management:
  endpoints:
    web:
      exposure:
        include: info, health, metrics
  metrics:
    export:
      atlas:
        enabled: false

也可以在这里找到具体的文档

武睿
2023-03-14

将以下行添加到您的application.properties文件中:

管理。endpoint。网状物面临include=指标

这就是全部。

吕宣
2023-03-14

我想用更多的信息来增强OP的回答,因为我在最终偶然发现这个解决方案之前有点挣扎,而且对于Spring Boot 2的执行器行为的改变似乎有很多困惑

什么没有改变

您需要包含对Spring启动启动器执行器的依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
</dependencies>

如果您想通过HTTP访问执行器endpoint,还需要向spring boot starter web添加一个依赖项

因此,您的pom依赖关系将如下所示

    <dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
</dependencies>

Spring Boot 2中引入的更改

>

默认情况下,来自/exactorendpoint的响应已启用。在Spring Boot 2之前,只有当HATEOAS位于类路径上并且在应用程序中显式启用时,才会出现这种情况。yml

若要通过HTTP使执行器endpoint可用,需要启用和公开执行器endpoint。

默认情况下:

>

  • 仅公开/Health/info终结点,而不考虑应用程序中是否存在和配置了Spring Security。

    启用了所有endpoint,但启用了/off(尽管只公开了/Health/info

    如果您想公开所有endpoint(并不总是一个好主意),可以通过添加管理来实现。endpoint。网状物面临include=*应用程序。属性。如果使用的是yml配置,不要忘记引用通配符。

    有关完整文档,请参阅官方文档和迁移指南

  •  类似资料:
    • 我有一个带有Spring Security微服务的Spring Boot 2,我已使用米计/Spring Actuator配置了该微服务。当我在antMatcher("/驱动器/**")endpoint上permitAll()时,一切都很好。我能够通过正确配置的Prometheus yaml文件检索Prometheus指标。 但是,我的微服务不在防火墙后面,因此对世界开放。我只希望普罗米修斯能够访

    • 我想为我们的应用程序配置Spring启动致动器endpoint。下面是我的pom.xml文件,添加了Spring启动执行器依赖项。 当我启动应用程序时,我看不到文档中显示的任何注册的/application/URLendpoint。文件表明,在将致动器相关性添加到pom之后。xml,我应该在启动日志中看到额外的映射,但我没有。这里会有什么问题? 下面是一个启动日志:

    • 问题内容: 我一直在研究Spring / Spring MVC应用程序,并且希望添加性能指标。我遇到过Spring Boot Actuator,它看起来是一个不错的解决方案。但是我的应用程序不是Spring Boot应用程序。我的应用程序在传统容器Tomcat 8中运行。 我添加了以下依赖 我创建了以下配置类。 我什至可以按照StackOverflow另一篇文章的建议在每个配置类上添加 问题答案:

    • Spring Boot Actuator中存在一个错误,如果使用了某些属性,在暴露处的就绪endpoint和处的活动endpoint时不起作用。您会得到一个白标签错误页面。 此应用程序没有显式的/错误映射,因此您将其视为回退。 这些属性包括: 默认情况下,我需要使用管理端口,以便可以使用执行器/指标进行监控。因此,为了进行可靠的健康检查,我需要在主/应用程序端口上公开活动性和就绪性endpoint

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

    • 我们已经在几个项目中使用了Spring Boot,现在我们使用的是最新版本1.2.3。我们正在合并执行器。到目前为止,一切都很顺利,只是我们发现/health指示器[default]显示服务已关闭。事实并非如此。这些服务是通过数据源实现的。它可以调用其他SOAP或Rest服务。卫生服务部门在看什么来衡量一项服务是否下降?