常用监控

0

在系统运行的时候监控是非常重要的,可以提前预支一些问题,最近也简单了解了一下常用的可视化监控组件。

Nacos

这个作为SpringCloudAlibaba的注册中心,提供了一些简单的监控,主要查看服务和配置,但是dubbo服务并不详细。

Sentinel Dashboard

作为Sentinel的可视化组件,只能单机部署,可以查看链路信息、配置限流,还可以看到流量的曲线图。
默认提供的代码不能和Nacos配置动态关联,需要自己修改,不知道以后会不会进行优化。

Dubbo Admin

监控dubbo服务粒度很细,但是和SpringCloudAlibaba不能结合使用。

SpringBootAdmin

通过SpringBoot端点结合turbine、zipkin可以监控SpringBoot很多指标。
但是需要结合Hystrix使用。

链路监控

Zipkin、Cat、Pinpoint、SkyWalking

Prometheus + Grafana

这个我也只是网上见过,并没有搭建,但是基本上可以监控很多东西:系统、数据库、应用服务、K8S等等。
但是监控一些常用指标,不过不能对服务进行治理。
一般监控Java通过JMX,如果SpringBoot可以直接使用官方提供依赖。
其他应用或服务器监控可以查看:https://prometheus.io/docs/instrumenting/exporters/
这套服务阿里云现在已经直接提供,用起来应该也会比较方便。

不过说实话一个项目启动起来,监控页面太多了,elk、flink、hadoop、配置中心、服务监控一大坨。
如果让我选择,我会选择Prometheus + Grafana,基本上所有的都能兼顾到,如果想要查看链路信息可以用SpringBootAdmin + zipkin。
ELK基本上是必须的,查询日志真的时间麻烦事,当你的服务和应用变得很多的时候。
一般服务只需要用到Nacos里面下线上线就可以了,不需要进行dubbo服务粒度的管理。