Prometheus+Grafana 的方法监控 Springboot 应用

本文由 简悦 SimpRead 转码, 原文地址 https://www.jb51.net/article/183441.htm

这篇文章主要介绍了用 Prometheus+Grafana 的方法监控 Springboot 应用,本文通过实例代码详解给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值, 需要的朋友可以参考下

1 简介

项目越做越发觉得,任何一个系统上线,运维监控都太重要了。关于 Springboot 微服务的监控,之前写过【Springboot】用 Springboot Admin 监控你的微服务应用,这个方案可以实时监控并提供告警提醒功能,但不能记录历史数据,无法查看过去 1 小时或过去 1 天等运维情况。本文介绍 Prometheus + Grafana 的方法监控 Springboot 2.X,实现美观漂亮的数据可视化。

2 Prometheus

Prometheus 是一套优秀的开源的监控、报警和时间序列数据库组合系统,在现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。

2.1 引入到 Springboot

Prometheus引入依赖如下:

1

2

3

4

<dependency>

 <groupId>io.micrometer</groupId>

 <artifactId>micrometer-registry-prometheus</artifactId>

</dependency>

对于 Springboot,要开启Actuator,并打开对应的Endpoint

1

2

3

management.endpoints.web.exposure.include=*

# 或者

management.endpoints.web.exposure.include=prometheus

启动Springboot后,可以通过下面 URL 看能不能正确获取到监控数据:

localhost:8080/actuator/prometheus

获取数据成功,说明Springboot能正常提供监控数据。

2.2 Docker 方式使用

为了方便,使用Docker启动Prometheus

1

2

# 拉取docker镜像

docker pull prom/prometheus

准备配置文件prometheus.yml

1

2

3

4

5

6

7

8

9

10

11

12

scrape_configs:

# 可随意指定

- job_name: 'spring'

 # 多久采集一次数据

 scrape_interval: 15s

 # 采集时的超时时间

 scrape_timeout: 10s

 # 采集的路径

 metrics_path: '/actuator/prometheus'

 # 采集服务的地址,设置成Springboot应用所在服务器的具体地址

 static_configs:

 - targets: ['hostname:9000','hostname:8080']

启动 docker 实例:

端口为 9090,指定配置文件

docker run -d -p 9090:9090 -v ~/temp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --config.file=/etc/prometheus/prometheus.yml

2.3 测试与查看

成功启动后,就可以打开网页查看了,并且能图形化展示,URL 为 http://localhost:9090/。

如上图所示,打开网页后,随便选取一个对应的监控指标与参数,点击Execute就可以查看了。

3 Grafana

Grafana是一个开源的度量分析与可视化套件,纯JavaScript开发的前端工具,通过访问库(如InfluxDB),展示自定义报表、显示图表等。它的 UI 十分灵活,有丰富的插件和模板,功能强大。一般用在时序数据的监控方面。

3.1 Docker 安装与启动

1

2

3

4

# 拉取镜像

docker pull grafana/grafana

# 运行实例

docker run -d -p 3000:3000 grafana/grafana

启动成功后,访问 http://localhost:3000 检查是否成功,初始管理员账号密码为admin/admin

3.2 配置数据源

Grafana展示数据,则需要配置对应的数据源,本文中配置之前安装启用的Prometheus数据源,具体配置如下图所示:



需要注意的是Access要选Browser模式,否则无法正常获取数据。配置完成后,点击Save & Test即可。

3.3 模板套用

能够获取数据后,就可以自定义数据可视化展示了。但如果自己一条指标一条指标的加,就会很麻烦。实际上,Grafana提供了许多优秀的模板,可以网页 https://grafana.com/grafana/dashboards 查找。

本文使用 Spring Boot 2.1 Statistics 模板,导入方法如下:

点击+号 --> Import --> 输入模板链接或 ID --> 点击 Load。

成功导入后,就能监控数据了,而且,界面真的很好看:

4 总结

本文介绍了如何使用 Prometheus + Grafana 监控 Springboot 应用,实际上,Prometheus + Grafana 十分强大,值得花时间好好研究。

本文例子中软件版本信息如下:

1

2

3

4

springboot.version=2.2.5

micrometer-registry-prometheus=1.3.5

prometheus.version=2.16

grafana.version=6.7.0-beta1

到此这篇关于用 Prometheus+Grafana 监控 Springboot 应用的文章就介绍到这了, 更多相关 Prometheus+Grafana 监控 Springboot 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

也许是最全 java 资料!(文档 + 项目 + 资料)【点击下载】 和努力的人一起学习 Java!

posted @ 2021-01-14 16:08  托马斯布莱克  阅读(270)  评论(0编辑  收藏  举报