Spring Boot Admin не загружает службы реестра от Eureka - PullRequest
0 голосов
/ 12 февраля 2020

Я обновляю нашего Spring Boot Admin с 1.5.7 до 2.1.6. Мы используем Eureka, и все наши сервисы зарегистрированы там, поэтому мы хотим получить из него информацию реестра. Все работало до обновления. Но после обновления не удалось получить какую-либо информацию о зарегистрированных сервисах. Spring Boot Admin сам по себе может успешно зарегистрироваться в eureka, но по какой-то причине он даже не пытается получить зарегистрированные приложения. Проблема может быть в нашей настройке инфраструктуры, потому что она довольно сложная. Но в этот момент я хотя бы хочу понять, что именно мешает ему получить эту информацию. Я не смог найти в журналах ничего, что указывало бы на ОШИБКИ чего-то подобного, даже в DEBUG.

2020-02-12 12:08:46,008 INFO  [main] c.n.d.s.r.a.ConfigClusterResolver: Resolving eureka endpoints via DNS: txt.{tested and working dns record}
2020-02-12 12:08:46,395 INFO  [main] c.n.d.DiscoveryClient: Disable delta property : false
2020-02-12 12:08:46,398 INFO  [main] c.n.d.DiscoveryClient: Single vip registry refresh property : null
2020-02-12 12:08:46,398 INFO  [main] c.n.d.DiscoveryClient: Force full registry fetch : false
2020-02-12 12:08:46,398 INFO  [main] c.n.d.DiscoveryClient: Application is null : false
2020-02-12 12:08:46,399 INFO  [main] c.n.d.DiscoveryClient: Registered Applications size is zero : true
2020-02-12 12:08:46,399 INFO  [main] c.n.d.DiscoveryClient: Application version is -1: true
2020-02-12 12:08:46,399 INFO  [main] c.n.d.DiscoveryClient: Getting all instance registry info from the eureka server
2020-02-12 12:08:46,925 INFO  [main] c.n.d.DiscoveryClient: The response status is 200
2020-02-12 12:08:46,937 INFO  [main] c.n.d.DiscoveryClient: Starting heartbeat executor: renew interval is: 30
2020-02-12 12:08:46,960 INFO  [main] c.n.d.InstanceInfoReplicator: InstanceInfoReplicator onDemand update allowed rate per min is 4
2020-02-12 12:08:46,968 INFO  [main] c.n.d.DiscoveryClient: Discovery Client initialized at timestamp 1581509326968 with initial instances count: 44
2020-02-12 12:08:46,982 INFO  [main] o.s.c.n.e.s.EurekaServiceRegistry: Registering application SPRING-BOOT-ADMIN with eureka with status UP
2020-02-12 12:08:46,989 INFO  [main] c.n.d.DiscoveryClient: Saw local status change event StatusChangeEvent [timestamp=1581509326989, current=UP, previous=STARTING]
2020-02-12 12:08:46,991 WARN  [main] c.n.d.InstanceInfoReplicator: Ignoring onDemand update due to rate limiter
2020-02-12 12:08:47,025 INFO  [DiscoveryClient-InstanceInfoReplicator-0] c.n.d.DiscoveryClient: DiscoveryClient_SPRING-BOOT-ADMIN/i-0ecf2b8785baa7372: registering service...
2020-02-12 12:08:47,137 INFO  [main] o.e.j.s.h.C.application: Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-02-12 12:08:47,138 INFO  [main] o.s.w.s.DispatcherServlet: Initializing Servlet 'dispatcherServlet'
2020-02-12 12:08:47,198 INFO  [main] o.s.w.s.DispatcherServlet: Completed initialization in 56 ms
2020-02-12 12:08:47,308 INFO  [DiscoveryClient-InstanceInfoReplicator-0] c.n.d.DiscoveryClient: DiscoveryClient_SPRING-BOOT-ADMIN/i-0ecf2b8785baa7372 - registration status: 204
2020-02-12 12:08:47,370 INFO  [main] o.e.j.s.AbstractConnector: Started ServerConnector@6ba4d28b{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2020-02-12 12:08:47,375 INFO  [main] o.s.b.w.e.j.JettyWebServer: Jetty started on port(s) 8080 (http/1.1) with context path ''
2020-02-12 12:08:47,379 INFO  [main] o.s.c.n.e.s.EurekaAutoServiceRegistration: Updating port to 8080
2020-02-12 12:08:47,388 INFO  [main] com.tr.ServerRunner: Started ServerRunner in 38.79 seconds (JVM running for 83.591)

Единственная строка, которая попалась мне на глаза, это:

2020-02-12 12:08:46,991 WARN  [main] c.n.d.InstanceInfoReplicator: Ignoring onDemand update due to rate limiter

Но это не проблема, на самом деле.

Наша конфигурация:

management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=ALWAYS

# Eureka
eureka.instance.leaseRenewalIntervalInSeconds=30
eureka.instance.health-check-url-path=/actuator/health
eureka.instance.metadata-map.startup=${random.int}
eureka.client.registryFetchIntervalSeconds=30
eureka.client.registerWithEureka=true
eureka.client.fetchRegistry=true
eureka.client.serviceUrl.defaultZone=https://{Eureka ELB address}/eureka/

Я следовал руководству , но, возможно, я что-то упустил.

Есть идеи, почему SBA может так себя вести? Что еще я могу проверить?

...