prometheus更新后出现Unexpected response code: 404;No message available;Error refreshing service

环境如下

项目使用的是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 版本不匹配导致的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值