prometheus更新后出现Unexpected response code: 404;No message available;Error refreshing service
环境如下项目使用的是spring cloud架构,注册中心使用的是eureka由于prometheus没有提供eureka的服务发现机制,但是可以在eureka中使用eureka-consul-adapter.jar让prometheus通过consul的配置进行服务发现目前使用的版本分别是prometheus2.2.0eureka-consul-adapter 1.0.0在pr...
环境如下
项目使用的是spring cloud架构,注册中心使用的是eureka
由于prometheus没有提供eureka的服务发现机制,但是可以在eureka中使用eureka-consul-adapter.jar让prometheus通过consul的配置进行服务发现
目前使用的版本分别是
prometheus 2.2.0
eureka-consul-adapter 1.0.0
在prometheus升级到目前最新版 2.18.0 后,无法进行服务发现,查看日志发现报错如下
level=error ts=2020-05-07T06:56:53.455Z caller=consul.go:487 component="discovery manager scrape" discovery=consul msg="Error refreshing service" service=demo tags= err="Unexpected response code: 404 ({\"timestamp\":1588834613455,\"status\":404,\"error\":\"Not Found\",\"message\":\"No message available\",\"path\":\"/v1/health/service/demo\"})"
以为是版本变更后,配置变化造成的问题,在看了官方文档后,发现配置文件并没有特别需要变动的地方
再次回退prometheus到老版本,启动成功。
后来发现 eureka-consul-adapter 是没有提供 Consul 的 health 类端口的,所以会出现404
目前在不升级eureka-consul-adapter的情况下,prometheus支持的最高版本是 v2.16.0
eureka-consul-adapter 升级到1.4.0 版本以后,这个问题也可以解决。
所以可以选择同时升级eureka-consul-adapter和prometheus到最新版本
因此,如果大家遇到这个问题,很可能是 Prometheus 和 eureka-consul-adapter 版本不匹配导致的。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)