10.4 服务监控
微服务架构中由于服务数量众多,故障率比单体大,这种时候不能依赖人肉运维了
早期的 Spring Cloud 中,服务监控主要使用 Hystrix Dashboard,集群数据库使用 Turbine,在 Greenwich 中,官方建议使用 Micrometer
- Micrometer
(1)提供了度量指标,例如 timers、counters
(2)一揽子开箱即用的方案,例如:缓存、类加载器、垃圾收集等 - 1.新创建一个 Spring Boot 项目 micrometer 作为 javaboycloud 的 moudle,添加 actuator 依赖和 web 依赖。
- 2.配置application.properties,暴露所有端点
management.endpoints.web.exposure.include=*
- 3.启动项目,观察
endpoints
下的Mapping
,可以看到很多 actuator 地址:
呈现的监控有很多,随便选中一个
json 格式的数据不方便查看服务信息,最好要图表类型的工具辅助,下面介绍两种 Prometheus 和 Grafana,来方便显示 actuator 内容
10.4.1 Prometheus 普罗米修斯
- (1)下载 Prometheus
- (2) 解压后
- (3)修改
prometheus.yml
,配置下数据接口和要监控的服务地址,新增的内容是监控地址,和每 5 秒抓取一次数据。
- (4)目录中空白处右键进入 cmd 命令,执行
prometheus.exe --config.file=prometheus.yml
- (5)在 micrometer 中添加依赖
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
- (6)在 micrometer 中 application.properties 配置 prometheus 内容
management.endpoints.web.exposure.include=*
management.endpoint.prometheus.enabled=true
management.metrics.export.prometheus.enabled=true
management.endpoint.metrics.enabled=true
-
(7)重启项目,多了一个 /actuator/prometheus路径,请求地址就是在
prometheus.yml
中配置的内容
-
(8)访问 prometheus 默认端口 9090
-
(9)初步使用图表
10.4.2 Grafana
- (1)下载Grafana
是一个执行文件,安装比较简单,下载有点慢,我吃了个饭回来才下好,中国移动的网络 - (2)解压完,直接到 bin 目录下执行
grafana-server.exe
- (3)cmd 命令黑框一闪就启动完成了,要向看是否启动成功,访问默认路径:http://localhost:3000 是否有如下页面,默认账号密码都是 admin,第一次需要改密码,进入后如下图:
新增一个数据源
可以展示多种,比如 Prometheus 、Mysql、ES等
选择配置 promethues ,只需配置路径即可,然后保存
保存的名字是Prometheus-2
回到主页,创建一个仪表盘
选择刚刚的 Prometheus-2
在此处,输入指标
指标信息可以去 10.4.1 prometheus 的 http://localhost:9090/graph 查看
返回:
再次添加一个仪表盘
操作同上,随便选中另外一个 prometheus 的指标,可以查看数据的多表内容,通过一个大屏来展示出来
好了,这就是微服务的 Micrometer 监控功能,还有 prometheus 、grafana 两个可视化工具的介绍