我有一个带有以下弹簧包版本的弹簧云服务
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.4.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Brixton.SR4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>1.3.7</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>1.3.7</version>
</dependency>
我的 Spring Boot 管理服务器 ui 运行在 9003 端口。我正在使用尤里卡发现客户端将我的端点注册到注册表服务。
我的服务的 application.yml 包含以下配置。
server:
context-path: /myservice
port: 0
management:
context-path: /mng
security:
enabled: false
eureka:
instance:
preferIpAddress: true
statusPageUrlPath: ${server.context-path:}${management.context-path:}/info
healthCheckUrlPath: ${server.context-path:}${management.context-path:}/health
client:
serviceUrl:
defaultZone: http://${EUREKA_DNS:localhost}:8761/eureka/
当我启动我的服务时,我可以看到以下关于我的 api 端点的日志
2018-01-11 16:01:22.176 INFO 6070 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/mng/health || /mng/health.json],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke(java.security.Principal)
2018-01-11 16:01:22.177 INFO 6070 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/mng/info || /mng/info.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2018-01-11 16:01:22.177 INFO 6070 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/mng/mappings || /mng/mappings.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2018-01-11 16:01:22.177 INFO 6070 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/mng/metrics/{name:.*}],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.MetricsMvcEndpoint.value(java.lang.String)
2018-01-11 16:01:22.178 INFO 6070 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/mng/metrics || /mng/metrics.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
当我在打印映射信息日志后启动仪表板时
2018-01-11 22:04:00.886 INFO 55 --- [tp1976870338-18] o.s.c.n.zuul.web.ZuulHandlerMapping : Mapped URL path [/api/applications/c5a746b1/health/**] onto handler of type [class org.springframework.cloud.netflix.zuul.web.ZuulController]
2018-01-11 22:04:00.886 INFO 55 --- [tp1976870338-18] o.s.c.n.zuul.web.ZuulHandlerMapping : Mapped URL path [/api/applications/c5a746b1/env/**] onto handler of type [class org.springframework.cloud.netflix.zuul.web.ZuulController]
2018-01-11 22:04:00.886 INFO 55 --- [tp1976870338-18] o.s.c.n.zuul.web.ZuulHandlerMapping : Mapped URL path [/api/applications/c5a746b1/metrics/**] onto handler of type [class org.springframework.cloud.netflix.zuul.web.ZuulController]
我现在的问题是,当我打开仪表板 Ui 时,它试图从“/api/applications/c5a746b1/metrics”获取指标信息,但它返回 404 错误。但是在浏览器中,当我手动键入“/myservice/mng/metrics”时,我可以看到指标信息。
我是 spring cloud 的新手,任何帮助表示赞赏。
提前致谢