本文代码下载地址:
SpringBoot版本:1.5.9.RELEASE (稳定版)
SpringCloud版本:Edgware.RELEASE
启动微服务顺序是:
joyce-eureka-server 注册中心
joyce-zipkin-server 链路追踪
joyce-turbine-server turbine 微服务集群实时监控
joyce-index index微服务,用于跟user用户微服务相配合演示微服务之间的调用
joyce-user 用户微服务
实际上spring cloud中启动顺序无所谓 ^_^
运行这个例子请详细阅读: joyce-turbine-server 这个微服务目录下的《阅读我.txt》
注意所有被监控到的数据都是因为使用了Hystrix容错,比如@HystrixCommand和@FeignClient。
启动成功之后微服务实时监控页面截图如下:
Circuit模块实时监控各指标详解:
1. 曲线代表2分钟内流量走势
2. 曲线中间有个圆点,圆点越大,代表流量越大
3. 圆点颜色越红,代表这个服务越不健康
4. 两根竖线这里的六个数字,分别是右上角的状态量。2秒刷新一次。
绿色,成功数。
蓝色,熔断数。
浅绿,错误请求数。
黄色,超时数。
紫色,线程池拒绝数。
红色,失败、异常数。
5. %百分比代表失败率,0%代表没有任何失败,健康状况良好。
6. Host可以理解为最近一次请求频率,Cluster是集群请求频率
7. Circuit是熔断的状态。open表示调用失败,熔断机制被触发打开。closed表示没有触发熔断现象。有时候会出现open和closed并存的情况,并且会以json格式给出具体各自的值。
8. Hosts代表这个微服务提供了几个实例。注意:全部实例个数只有在eureka才可以观察到,这里的个数只是统计了集群中被监控到被调用了这个接口的个数。比如某个微服务集群了5台,并且负载均衡策略采用了轮询,最近2分钟只有2次请求,那么这里的Hosts统计就是2,只有eureka那里才可以看到5
9. Median和mean是主机请求耗时
10. 99th表示最近一分钟99%的访问平均耗时,其它类推。
Thread Pools模块个指标尚不清楚。