Как предоставить доступ к конечным точкам Actuator с помощью Zuul (без Eureka, Spring Cloud)?

У меня есть приложение Spring Cloud, которое служит аннотацией Zuul Server (с @EnableZuulProxy). На этом этапе у меня есть запросы / api / *, перенаправленные на соответствующие промежуточные службы, в то время как все остальные запросы перенаправляются в службу представления, поэтому из конфигурации pov это выглядит следующим образом:

zuul:
  ignoredServices: '*'
  routes:    
    reservation-owner:
      path: /api/service1
      url: http://service1.net
    --- here couple of other api mappings --   
    ui:
      path: /**
      url: http://presentation-service.net/

Это отлично работает, пока я не захочу проверить любую из конечных точек Actuator на прокси-сервере zuul. Поскольку они попадают под / **, они перенаправляются в службу представления.

Я уже пытался установить определенные конечные точки для маршрутизации обратно на сервер zuul, но, если я прав, у меня получился бесконечный цикл вызова zuul самого себя. Итак, если я прав, я ищу способ определить путь для службы презентации, которая будет включать все, кроме, например, / admin / * конечные точки. Является ли это возможным? Или есть другой подход?


person Lech Migdal    schedule 27.05.2016    source источник


Ответы (3)


Как только выставляешь /** zuul глотает все запросы. Единственный способ сделать это в этот момент - установить порт управления.

management.port=8081
person spencergibb    schedule 28.05.2016
comment
Спасибо за идею. Я предполагаю, что он не будет летать, когда приложение развернуто в среде CF, а порты все равно управляются CF? :) - person Lech Migdal; 29.05.2016
comment
Не когда вы используете path: /**. Не используйте /**, и это сработает. - person spencergibb; 31.05.2016
comment
Хех, но как нам тогда настроить Zuul, чтобы все URL-адреса, не относящиеся к API, попадали в конкретную службу презентации / пользовательского интерфейса? Может быть, подход неправильный, но мне интересно, какой правильный :) - person Lech Migdal; 01.06.2016
comment
Перечислить пути пользовательского интерфейса - person spencergibb; 01.06.2016
comment
Ну, это означало бы также перечислить все CSS, изображения, js и т. Д., Не так ли? В результате получился бы довольно длинный список. Означает ли это, что в реальной жизни актуатор просто не используется с Zuul, или люди действительно перечисляют все пути пользовательского интерфейса в конфигурации. - person Lech Migdal; 02.06.2016
comment
Не у всех есть глобальный путь (/**) на CF. - person spencergibb; 02.06.2016
comment
А как насчет назначения конечных точек управления другому контекстному пути (например, management.contextPath = / admin), а затем использования следующего свойства zuul.ignoredPatterns = / ** / admin / ** - person bart.s; 29.07.2016

pom.xml:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

application.yml:

management:
  endpoints:
    web:
      exposure:
        include: "*"

Конечные точки привода здесь

person Rzv Razvan    schedule 05.12.2018
comment
Дополнительно используется base-path может быть полезен для настройки путей к конечным точкам. - person pafede2; 30.06.2020

У меня сработало изменение application.yaml для маршрутизации и фильтрации конечных точек:

management:
  endpoints:
    web:
      exposure:
        include: 'routes,filters'
person BARTB    schedule 14.07.2020