2016-10-04 12 views
0

springbootアプリケーションでRESTサービスを使用しています。私はHystrixを使ってメトリクスを有効にしています。そこで、バージョン7のTomcatサーバーにhystrixダッシュボードの戦争を展開しました。私はhttp://localhost:8080/hystrix-dashboard/というページを開くことができます。ストリームURLを追加してMonitor streamsボタンをクリックすると、Monitorページに移動します。「コマンド・ストリームに接続できません」というメッセージが表示されます。 hystrixコンソールを見ると、以下のメッセージが繰り返し表示されます。私を助けてください!Hystrixダッシュボードが動作しない

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)でメトリクスイベント・ストリームの依存関係を追加し、あなたのSpringApplicationクラスで豆注釈を使用して新しいサーブレットを追加し、ある

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

3 ) text/event-stream 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ダッシュボードwarファイルをバージョン7以上のTomcatサーバーにダウンロードして展開し、サーバーを起動します。

5)hystrixのホームページでhttp://localhost:port/hystrix-dashboard

6)は、http://localhost:port/contextPath(if任意の)/hystrix.streamとしてアプリケーションのURLを追加し、URLとダッシュボードを開きます。 次に、[ストリームの追加]ボタンをクリックし、[ストリームのモニタ]ボタンをクリックします。 hystrix.streamは、サーブレット登録で与えたURLマッピングです。

+0

こんにちは、ありがとう、それは私のために働く。パート3は明確ではありませんが、使用する必要はありませんでした。 –

関連する問題