Spring Boot 应用可视化监控
使用spring-actuator 并且使用prometheus, grafana 做可视化视图展示
总体过程图:

监控
SpringBoot 应用监控
SpringBoot 其实也整合了 ops 的功能,也就是运维的部分能力。通过引入包spring-boot-starter-actuator来监控相关的指标信息,详情文档:Actuator 介绍。另外在新版本的actuator中已经有了加密信息,所以对于一些信息的获取可能需要授权,因此我们还需要引入spring-security,pom 文件如下:
1 | <dependency> |
当然既然引入了spring-security,我们就需要对其做一些配置,我的完整配置是这样的:
1 |
|
指标采集
采集应用的指标信息,我们使用的是prometheus,相应的我们引入包:
1 | <dependency> |
之后在程序中开启相应的配置:
1 |
|
这个时候我们可以开始启动我们的应用程序,并且访问相关接口:http://localhost:8099/admin/prometheus
输入 properties 文件中的账号密码,就能看到下图:
数据收集
我们采集了指标信息之后就可以开始数据收集了,这个时候我们需要用到Prometheus工具,注意这里是工具,不再是 jar 包了。我使用的是 prometheus 的 docker 镜像,当然你也可以根据需要自己选择,先准备一份 Promethus 的配置文件,更多的配置文档请查看:配置文档:
1 | global: |
之后我们准备服务:
1 | docker run -d --name prometheus -p 9090:9090 -v D:\chenzhijun\test\actuator\prometheus\prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus |
请注意,D:\chenzhijun\test\actuator\prometheus\prometheus.yml ,是我的配置文件存放地址,我们需要将它放到容器里面去,所以用了-v来做文件映射。/etc/prometheus/prometheus.yml这个是容器启动的时候去取的默认配置,这里我是直接覆盖掉了它。prom/prometheus这是镜像,如果本地没有,就回去你设置好的镜像仓库去取。
启动完成后用docker ps看下是否已经启动成功,之后打开浏览器输入:http://localhost:9090/targets,如果看到下图就是成功了:
ps: 这里需要注意一点,我们在
prometheums.yml中使用的IP地址一定要准确,因为我是docker访问的,所以我使用的是宿主机的地址
数据可视化展示
同样的我也是使用 docker :
1 | docker run --name grafana -d -p 3000:3000 grafana/grafana |
成功之后访问:http:localhost:3000,输入账号密码:admin/admin。
之后就开始配置 grafna。
先配置数据源,这里稍微注意下 ip 地址

新建 dashboard

配置图形数据

选择指标,这里的指标数据只能是
promethues采集到了的数据http://localhost:9090/graph:

4.1. prometh采集的数据http://localhost:9090/graph

- 最终结果
