Spring Cloud Zuul Monitor/CircuitBreaker Все маршруты через Hystrix

Я использую Spring Cloud и @EnableZuulProxy. Можно ли отслеживать все маршруты, настроенные в application.yml, с помощью hystrix через /hystrix.stream? В приведенном ниже примере я хотел бы иметь простой способ отслеживать все запросы, сделанные к нижестоящей службе продукта. Я понимаю, что могу сделать это на самом товарном сервисе, но можно ли мониторить запрос Zuul. Это было бы полезно для любых нижестоящих служб, которые не принадлежат (третьей стороне) и не могут быть аннотированы с помощью @HystrixCommand.

zuul: routes: item: serviceId: product path: /product/**


person chriscone    schedule 09.09.2015    source источник


Ответы (2)


Простой ответ - да. Добавьте spring-cloud-starter-hystrix и добавьте @EnableCircuitBreaker в свой основной класс. Это позволит /hystrix.stream. Zuul использует hystrix при переадресации на другие сервисы.

person spencergibb    schedule 09.09.2015
comment
спасибо за быстрый ответ, при этом я получаю пустые данные, /hystrix.stream возвращает ping: даже когда я генерирую трафик на путь /product, фактически любой URL-адрес, начинающийся с localhost:8080/hystrix.stream/someurlthatdoesnexit возвращает то же самое. - person chriscone; 10.09.2015
comment
Итак, @spencergibb есть отзывы? или какой не простой ответ? Я рад прочитать хотя документы, если вы можете указать мне в правильном направлении. - person chriscone; 13.09.2015
comment
@spencergibb спасибо за Zuul использует hystrix при пересылке на другие сервисы. Я сомневался в этом. Поскольку я использую аннотацию @EnableHystrix, поэтому @EnableCircuitBreaker является метааннотацией по умолчанию, которая идет по умолчанию. - person agpt; 16.12.2015
comment
Я думаю, что @EnableCircuitBreaker уже есть на @EnableZuulProxy. Но схемы нет, если вы не используете ленту (идентификаторы служб, а не жестко закодированные URL-адреса). В любом случае код, который вы разместили выше, сгенерирует файл /hystrix.stream. если он пуст, то он еще не обработал ни одного запроса. - person Dave Syer; 12.05.2016

У меня была такая же проблема, и изменение @EnableCircuitBreaker на @EnableHystrix устранило проблему.

С помощью @EnableHystrix я могу видеть все перенаправленные вызовы на приборной панели Hystrix.

Обновить

См. комментарий ниже, это действительно не исправление.

person phoenix7360    schedule 12.05.2016
comment
Я не думаю, что это было исправлением. Вероятно, вам просто нужен был трафик в ваших конечных точках. - person Dave Syer; 12.05.2016
comment
@DaveSyer да, ты прав. Я вернулся к старой записи, и она все еще работает. Раньше у меня был трафик, так что это было что-то другое, что вызвало его. Может быть, это добавление свойств ленты к моему маршруту? - person phoenix7360; 12.05.2016
comment
Если бы вы не использовали ленту, вы бы не получили поток метрик, так что, возможно. Это зависит от того, что вы сделали. - person Dave Syer; 12.05.2016
comment
@DaveSyer Я думал, что лента использовалась автоматически, она определенно была в пути к классам. Я добавил свойство ленты для своего маршрута, могло ли оно вызвать его? - person phoenix7360; 13.05.2016
comment
Он используется только для маршрутов с идентификаторами служб, а не для маршрутов с URL-адресами. - person Dave Syer; 13.05.2016