Spring boot 普罗米修斯:发现的服务地址是空的?
我已经编写了一个非常基本的Spring Boot 2应用程序,它连接到Zookeeper进行服务发现(通过使用Spring boot 普罗米修斯:发现的服务地址是空的?,spring-boot,apache-zookeeper,prometheus,Spring Boot,Apache Zookeeper,Prometheus,我已经编写了一个非常基本的Spring Boot 2应用程序,它连接到Zookeeper进行服务发现(通过使用Spring cloud starter Zookeeper discovery) 应用程序在/services/example service注册时使用以下值: {"name":"example-service","id":"cb14ad15-4d33-4f1c-a420-29980ddf2fa8","address":"bf3fb9191373","port":8080,"sslPo
Spring cloud starter Zookeeper discovery
)
应用程序在/services/example service
注册时使用以下值:
{"name":"example-service","id":"cb14ad15-4d33-4f1c-a420-29980ddf2fa8","address":"bf3fb9191373","port":8080,"sslPort":null,"payload":{"@class":"org.springframework.cloud.zookeeper.discovery.ZookeeperInstance","id":"application-1","name":"example-service","metadata":{}},"registrationTimeUTC":1524120820273,"serviceType":"DYNAMIC","uriSpec":{"parts":[{"value":"scheme","variable":true},{"value":"://","variable":false},{"value":"address","variable":true},{"value":":","variable":false},{"value":"port","variable":true}]}}
地址是一个id,因为我已经用Docker部署了堆栈
我的普罗米修斯配置如下所示:
- job_name: 'example-service'
metrics_path: '/actuator/prometheus'
serverset_sd_configs:
- servers:
- zookeeper:2181
paths:
- '/services/example-service'
普罗米修斯的服务发现页面显示以下发现的标签:
__address__=":0" __meta_serverset_endpoint_host="" __meta_serverset_endpoint_port="0" __meta_serverset_path="/services/example-service/cb14ad15-4d33-4f1c-a420-29980ddf2fa8" __meta_serverset_shard="0" __meta_serverset_status="" __metrics_path__="/actuator/prometheus" __scheme__="http" job="example-service"
知道为什么
\uuu地址
是:0
吗?服务器集发现是一个应用程序不遵循的发现。在这种情况下,您可能需要。服务器集使用以下配置:
{"serviceEndpoint":{"host":"localhost","port":9100},"additionalEndpoints":{},"status":"ALIVE"}
正在写入的服务信息的类型为
org.apache.curator.x.discovery.ServiceInstance
,与serverset不兼容。谢谢你把我推向正确的方向。