【发布时间】:2021-08-19 11:13:05
【问题描述】:
我正在尝试将 prometheus 添加到我的 Spring Boot 项目中。我正在使用弹簧启动执行器来公开指标端点。按照教程做了所有事情,但我不断收到 404 错误。我还尝试了以下给出的每一个解决方案:
Unable to access Spring Boot Actuator "/actuator" endpoint
和
Spring Boot 2 - Actuator Metrics Endpoint not working
我的依赖:
<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>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-core</artifactId>
<version>1.7.0</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>1.7.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-rest-hal-explorer</artifactId>
<version>3.5.1</version>
</dependency>
context.xml(外部属性):
<Parameter name="management.endpoints.web.exposure.include" value="*"/>
<Parameter name="management.security.enabled" value="false"/>
<Parameter name="management.endpoints.beans.enabled" value="false"/>
<Parameter name="endpoints.actuator.enabled" value="true"/>
<Parameter name="management.endpoints.web.base-path" value="/actuator"/>
【问题讨论】:
-
鉴于
context.xml的使用,我假设您正在将war 文件部署到Tomcat。你的SpringBootServletInitializer子类是什么样的? Tomcat 启动时会记录什么? -
我正在将war文件部署到Tomcat。我 ctrl + shift + f 并没有在任何地方找到 SpringBootServletInitializer 。当涉及到 tomcat 日志时,我每次都会得到大约一千行代码,尽管对我来说没有任何可疑之处。如果需要,我可以给你一个日志链接。
-
编辑:我重新启动了服务器,我什至没有得到相同的日志,现在绝对没有任何迹象表明问题可能是什么
-
如果没有
SpringBootServletInitializer来部署您的应用程序,基本上什么都不会做。请参阅 docs.spring.io/spring-boot/docs/2.2.x/reference/htmlsingle/… 了解您需要做什么。 -
我真的很怀疑,因为所有其他调用都可以正常工作。
标签: spring-boot http-status-code-404 spring-boot-actuator