Hystrix提供了Hystrix Dashboard來實時監控HystrixCommand方法的執行狀況。 Hystrix Dashboard能夠有效地反映出每一個Hystrix實例的運行狀況,幫助咱們快速發現系統中的問題,從而採起對應措施。app
Hystrix 單個實例監控3d
咱們先經過使用Hystrix Dashboard監控單個Hystrix實例來了解下它的使用方法。cdn
建立一個hystrix-dashboard模塊server
用來監控hystrix實例的執行狀況。xml
在pom.xml中添加相關依賴:blog
在application.yml進行配置:接口
在啓動類上添加@EnableHystrixDashboard來啓用監控功能:it
啓動相關服務io
此次咱們須要啓動以下服務:eureka-server、user-service、hystrix-service、hystrix-dashboard,啓動後註冊中心顯示以下。class
Hystrix實例監控演示
訪問Hystrix Dashboard:http://localhost:8501/hystrix
填寫好信息後點擊監控按鈕,這裏咱們須要注意的是,因爲咱們本地不支持https,因此咱們的地址須要填入的是http,不然會沒法獲取監控信息;
還有一點值得注意的是,被監控的hystrix-service服務須要開啓Actuator的hystrix.stream端點,配置信息以下:
調用幾回hystrix-service的接口:http://localhost:8401/user/testCommand/1
能夠發現曾經咱們在@HystrixCommand中添加的commandKey和threadPoolKey屬性都顯示在上面了,而且有7次調用都成功了。
Hystrix Dashboard 圖表解讀
圖表解讀以下,須要注意的是,小球表明該實例健康狀態及流量狀況,顏色越顯眼,表示實例越不健康,小球越大,表示實例流量越大。曲線表示Hystrix實例的實時流量變化。
Hystrix 集羣實例監控
這裏咱們使用Turbine來聚合hystrix-service服務的監控信息,而後咱們的hystrix-dashboard服務就能夠從Turbine獲取聚合好的監控信息展現給咱們了。
建立一個turbine-service模塊
用來聚合hystrix-service的監控信息。
在pom.xml中添加相關依賴:
在application.yml進行配置,主要是添加了Turbine相關配置:
在啓動類上添加@EnableTurbine來啓用Turbine相關功能:
啓動相關服務
使用application-replica1.yml配置再啓動一個hystrix-service服務,啓動turbine-service服務,此時註冊中心顯示以下。
Hystrix集羣監控演示
訪問Hystrix Dashboard:http://localhost:8501/hystrix
添加集羣監控地址,須要注意的是咱們須要添加的是turbine-service的監控端點地址:
調用幾回hystrix-service的接口:http://localhost:8401/user/testCommand/1以及http://localhost:8402/user/testCommand/1
能夠看到咱們的Hystrix實例數量變成了兩個。
使用到的模塊