微服务由于服务众多,所以业务的监控是必不可少的,我们在做微服务监控的话,主要做了几个方面的监控
监控分类
- metrics监控
- trace监控
- 健康性监控
- 日志监控
监控做法
- 通过springboot配合micrometer进行使用,底层存储使用prometheus来进行存储
- prometheus从eureka上面获取服务节点信息,并且每天晚上更新一次
- 通过prometheus的alter-manager进行报警通知
- alter-manager把通知发送到一个我们的对接钉钉服务,然后通过这个 服务通过钉钉的机器人进行通知
metrics监控指标
- 服务qps
- 服务分位数
- 服务错误返回数
- 服务接口请求次数的top
- 服务接口95%请求时间top
- cpu使用率
- cpu个数和负载
- jvm堆内存/非堆内存
- jvm线程
- jvm的类数
- gc的暂停时间和次数
- tomcat的活跃线程
- 数据库连接数
- 日志行数
- 业务通过api自己上报的业务数据
trace监控指标
- 通过zipkin来产生唯一的traceid、spanid
- 产生的数据会通过kafka发送,然后传给下游服务
- zipkin-server收集数据,存储到es
- zipkin-web从es获取数据,进行展示
健康性检查
- 通过从eureka获取服务节点,并且从服务请求数据和状态
- 如果服务状态不健康, 进行报警通知
- 通过接口查看错误码,错误码达到一定比率,进行报警通知
日志监控
- 通过sentry来监控error日志,对于error日志,则通过邮件或者钉钉进行发送。实时排查服务端异常
网友评论