2016-10-04 4 views
0

Я использую службу REST в приложении springboot. Я работаю над Hystrix для включения показателей. Итак, я развернул hystrix dashboard war на сервере tomcat версии 7. Я могу открыть страницу http://localhost:8080/hystrix-dashboard/. После того, как я добавил URL-адрес потока и нажал кнопку «Мониторинг потоков», он доставит меня на страницу монитора, где все, что я вижу, - это сообщение «Невозможно подключиться к потоку метрики команды». Когда я смотрю в консоль hystrix, я вижу следующее сообщение несколько раз. Пожалуйста помогите!Hystrix Dashboard не работает

2016-10-04 07:23:28 INFO com.netflix.turbine.discovery.InstanceObservable$1:289 [InstanceObservable$1] [run]: Hosts up:1, hosts down: 0 
2016-10-04 07:23:28 INFO com.netflix.turbine.monitor.instance.InstanceMonitor:460 [InstanceMonitor] [getNextStatsData]: no more data from c 
onnection to 138.12.51.246 
2016-10-04 07:23:28 INFO com.netflix.turbine.monitor.instance.InstanceMonitor:477 [InstanceMonitor] [retryHostConnection]: Re-initing host 
connection: 138.12.51.246 default 
2016-10-04 07:23:30 INFO com.netflix.turbine.monitor.instance.InstanceMonitor:460 [InstanceMonitor] [getNextStatsData]: no more data from c 
onnection to 138.12.51.246 
2016-10-04 07:23:30 INFO com.netflix.turbine.monitor.instance.InstanceMonitor:477 [InstanceMonitor] [retryHostConnection]: Re-initing host 
connection: 138.12.51.246 default 
2016-10-04 07:23:31 INFO com.netflix.turbine.monitor.instance.InstanceMonitor:460 [InstanceMonitor] [getNextStatsData]: no more data from c 
onnection to 138.12.51.246 
2016-10-04 07:23:31 INFO com.netflix.turbine.monitor.instance.InstanceMonitor:477 [InstanceMonitor] [retryHostConnection]: Re-initing host 
connection: 138.12.51.246 default 
2016-10-04 07:23:32 INFO com.netflix.turbine.monitor.instance.InstanceMonitor:460 [InstanceMonitor] [getNextStatsData]: no more data from c 
onnection to 138.12.51.246 
2016-10-04 07:23:32 INFO com.netflix.turbine.monitor.instance.InstanceMonitor:477 [InstanceMonitor] [retryHostConnection]: Re-initing host 
connection: 138.12.51.246 default 
2016-10-04 07:23:33 INFO com.netflix.turbine.monitor.instance.InstanceMonitor:460 [InstanceMonitor] [getNextStatsData]: no more data from c 
onnection to 138.12.51.246 
2016-10-04 07:23:33 INFO com.netflix.turbine.monitor.instance.InstanceMonitor:477 [InstanceMonitor] [retryHostConnection]: Re-initing host 
connection: 138.12.51.246 default 
2016-10-04 07:23:35 INFO com.netflix.turbine.monitor.instance.InstanceMonitor:460 [InstanceMonitor] [getNextStatsData]: no more data from c 
onnection to 138.12.51.246 
2016-10-04 07:23:35 INFO com.netflix.turbine.monitor.instance.InstanceMonitor:477 [InstanceMonitor] [retryHostConnection]: Re-initing host 
connection: 138.12.51.246 default 
2016-10-04 07:23:36 INFO 

ответ

2

Нашел ответ .. Нам нужно добавить MIME-тип как текст/поток событий в заголовке ответа. Исправление, которое я пишу здесь для конкретной интеграции Springboot с панелью инструментов Hystrix. Все, что вам нужно сделать, это,

1) Добавить событие метрики потока зависимость в вашем pom.xml

<dependency> 
    <groupId>com.netflix.hystrix</groupId> 
    <artifactId>hystrix-metrics-event-stream</artifactId> 
    <version>1.5.5</version> 
</dependency> 

2) Добавить новый сервлет с Bean аннотаций в классе SpringApplication

@Bean 
public ServletRegistrationBean servletRegistration() { 
ServletRegistrationBean registration = new ServletRegistrationBean(new HystrixMetricsStreamServlet(), "/hystrix.stream"); 
return registration; 
} 

3) Возвратите ответ с заголовком ответа, имеющим тип MIME с текстом/событием. Даже если у вас есть другой тип контента как application/xml, независимо от того, вы тоже можете это сделать.

HttpHeaders resHeaders = new HttpHeaders(); 
resHeaders.add("Content-Type", "application/xml; charset=utf-8"); 
resHeaders.add("Content-Type", "text/event-stream; charset=utf-8"); 
if(!isError){ 
return new ResponseEntity<String>(responseXml, resHeaders, HttpStatus.OK); 
} 
else{ 
return new ResponseEntity<com.test.pack.fault.Error>(error, resHeaders,HttpStatus.CREATED); 
    } 

4) Скачать и развернуть Hystrix приборную панель войны файл в Tomcat сервер версии 7 или более и запустить сервер.

5) Откройте панель с URL, http://localhost:port/hystrix-dashboard

6) На домашней странице Hystrix, добавьте URL приложения, как http://localhost:port/contextPath(if любой) /hystrix.stream. Затем нажмите кнопку «добавить поток» и нажмите кнопку «Мониторинг потока». Hystrix.stream - это URL-адрес, который мы указали в регистрации сервлета.

+0

Привет, спасибо, это работает для меня. часть 3 не ясна, но не имела необходимости использовать ее. –

Смежные вопросы