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

如何启用所有SpringBoot执行器endpoint?

须志新
2023-03-14

SpringBoot v2.5.1

我希望所有执行器endpoint(在文档中描述)都可用。在文档之后,添加了启动器启动器依赖项和属性,但大多数endpoint不可用(HTTP 404)。

唯一可用的endpoint是GET /actuator/health,但它显示无用的信息:{"status":"UP"}

添加属性management.endpoints.enabled默认=true

添加了依赖项:

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

获取/执行器的结果

{
    "_links": {
        "self": {
            "href": "http://localhost:9999/actuator",
            "templated": false
        },
        "health-path": {
            "href": "http://localhost:9999/actuator/health/{*path}",
            "templated": true
        },
        "health": {
            "href": "http://localhost:9999/actuator/health",
            "templated": false
        }
    }
}

启用执行器endpoint的最小设置是什么?

共有1个答案

万俟靖
2023-03-14

在您的pom中添加测微计核心和测微计注册表prometheus。xml文件:

<!-- Spring boot actuator to expose metrics endpoint -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

<!-- Micormeter core dependecy -->
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-core</artifactId>
</dependency>

<!-- Micrometer Prometheus registry -->
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

在应用程序中添加以下属性。属性文件:

#Metrics related configurations
management.endpoint.metrics.enabled          = true
management.endpoints.web.exposure.include    = *
management.endpoint.prometheus.enabled       = true
management.metrics.export.prometheus.enabled = true

如果您需要通过HTTP公开所有内容,那么您需要设置management.endpoints.web.exposure.include,如上面的示例所示。在您的代码中缺少此属性。如果您希望公开特定endpoint,请参考Spring文档。我还在上面的示例中添加了公开prometheus相关endpoint所需的依赖项。

 类似资料:
  • 暴露的唯一endpoint是: 这是我的文件。有什么想法吗?

  • 我们什么时候应该使用Spring boot执行器。如果包括在内,它对应用程序内存和CPU使用有多大影响? 我目前正在使用Spring Boot 2. x。

  • 我正在将一个旧的java Spring项目重构为springboot,并以传统的war风格部署它。出于某种原因,我必须坚持传统的web.xml来启动应用程序。多亏了Springboot遗产,我可以通过web.xml实现这一点: 此外,我添加了springboot执行器依赖项。应用程序。属性如下所示: 应用程序可以正常启动,但当我尝试从浏览器访问endpoint时,它只返回一个“401需要完全身份验

  • 问题内容: 我使用jQuery。而且我不想在我的应用程序上进行并行AJAX调用,每个调用都必须等待上一个调用之后才能开始。如何执行呢?有帮手吗? 更新 如果我想知道XMLHttpRequest或jQuery.post的任何同步版本。但是顺序!=同步,我想要一个异步和顺序解决方案。 问题答案: 有比使用同步ajax调用更好的方法。jQuery ajax返回一个延迟,因此您可以使用管道链接来确保每个a

  • 如果每个任务(线程)有多个阶段。那么如何确保所有任务执行第1阶段,然后执行第2阶段,依此类推。例如如何修改下面的代码,使我的输出为:Task1的第1阶段、Task2的第1阶段、Task3的第1阶段、Task1的第2阶段、Task2的第2阶段、Task3的第2阶段,依此类推...

  • 我正在使用springboot,我正在使用执行器和prometheus暴露度量。我想暴露“信息”、“健康”、“度量”、“prometheus”、“关闭”等等。但是即使我指定应用程序属性,我看到的是甚至根“/执行器”也暴露了。 我想禁用根部执行器,只有我之前说过的5个成员。 有没有办法不只暴露/执行器endpoint?我也尝试过在应用程序属性中这样做: 这是外露致动器的列表: