症状
在dashboard中可以看到微服务的节点,但是没有任何其他数据进来。同时dashboard的控制台打印如下错误
2022-11-29T03:54:56.021835221Z 2022-11-29 11:54:56.021 ERROR 1 --- [pool-2-thread-1] c.a.c.s.dashboard.metric.MetricFetcher : Failed to fetch metric from <http://***.***.***.***:8719/metric?startTime=1669693960000&endTime=1669693966000&refetch=false> (ConnectionException: Connection timed out)
原因
sentinel客户端的配置文件的该部分
spring:
cloud:
sentinel:
transport:
dashboard: 192.168.*.*:8858
client-ip: 192.168.*.*
port: 8720
dashboard
项代表的是dashboard的部署ip和端口,客户端会向dashboard注册,表示自己所在ip为client-ip
,通信端口为port
。之后dashboard会按照http://{client-ip}:{port}
的地址从客户端拉取数据。如果拉取不到则打印上述错误。
如果这两项不配置,则会使用docker内网ip和默认的8719端口进行注册,如果客户端与dashboard不在同一网段则无法访问
解决
通过宿主机IP访问
将client-ip
项配置为宿主机IP,port
项配置为一个没有被占用的端口,同时将该端口映射到宿主机的同一端口文章来源:https://www.toymoban.com/news/detail-564782.html
注意,如果客户端与dashboard同处一台宿主机中,由于dashboard自己也会作为客户端注册到自己,而dashboard一般为最先启动的,如果没有修改端口配置则8719会被它自己占用。文章来源地址https://www.toymoban.com/news/detail-564782.html
到了这里,关于docker部署sentinel客户端在dashboard中遇到 Failed to fetch metric from 错误的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!