俗话说,兵马未动,粮草先行。在微服务开发上,可以说是开发未动,监控先行。
没有监控的应用就是闭着眼开车,早晚要出事。
我们现在来看看在SpringCLoud技术栈下的监控工具使用Hystrix dashboard, Eureka admin dashboard and Spring boot admin dashboard.
1,先创建几个简单应用
代码就不贴了,不会有人看的。而且这里也不是读代码的地方.想看源码的来这:https://github.com/jedyang/springcloud_learn/tree/monitor
注意:我的版本是springCloud:Greenwich.SR2SpringBoot:2.1.6.RELEASE
>服务提供者项目:提供一个rest服务
>一个网关项目:集成hystrix监控面板
>eureka注册中心:集成springboot admin面板
2,网关+hystrix监控面板
Actuator是springboot中非常好用的应用监控组件,hystrix是springCloud中断路器组件。
大体就是下面这个样子。
查看hystrix监控面板
http://localhost:8010/hystrix
![f62586f93bf8ce3f79f9605771756538.png](https://i-blog.csdnimg.cn/blog_migrate/5be4c02830803227e3311a5076344574.jpeg)
从springboot2开始,actuator都是要在请求路径加上/actuator,这里也就是http://localhost:8010/actuator/hystrix.stream
![71c5833a9a7f943e720b07954c4f10e4.png](https://i-blog.csdnimg.cn/blog_migrate/6d078379786be972129a589a9c147ad8.jpeg)
功能太简陋了,虽说可以继续继承turbine等。不过hystrix目前不在更新了,使用起来可能会有问题。
我们团队在实际项目中是没有用的。
3,eureka注册中心集成Spring boot admin dashboard
eureka的面板:
![18e76cdf5a96d18f9fb6b722f7e1e90c.png](https://i-blog.csdnimg.cn/blog_migrate/d10412e6d275f63691bf5b0edeefe0be.jpeg)
eureka面板的功能还是比较弱的,我们团队实际上是用了nacos做服务注册管理中心。
Spring boot admin dashboard:
![3cfd294416fbcb20f9d5352ad42aa7e6.png](https://i-blog.csdnimg.cn/blog_migrate/e498e6fce14f761166b39d12e13679cf.jpeg)
![5e654e6d6724580cee47856695e6c1c1.png](https://i-blog.csdnimg.cn/blog_migrate/a4108cfa68ea9f93f3f7cb80b0a13690.jpeg)
![5efda8e18a132b7e2c17e1691ddb64d8.png](https://i-blog.csdnimg.cn/blog_migrate/ee7b1782d40926508e0c4e07a7c0e035.jpeg)
springboot admin还是比较好用的,2.x版本界面使用vue.js进行了重构,很有点小清新的风格。
功能方面也很齐全,可以查看系统JVM情况,内存dump,Threads 线程管理。还能简单的监控请求。
我这里演示的方式是通过eureka注册中心将所有微服务应用集成。
还可以进一步加上security等,做权限的集成。