【Springboot】用Prometheus+Grafana监控Springboot应用
【Springboot】用Prometheus+Grafana监控Springboot应用
1 简介
项目越做越发觉得,任何一个系统上线,运维监控都太重要了。关于Springboot微服务的监控,之前写过【Springboot】用Springboot Admin监控你的微服务应用,这个方案可以实时监控并提供告警提醒功能,但不能记录历史数据,无法查看过去1小时或过去1天等运维情况。本文介绍Prometheus + Grafana的方法监控Springboot 2.X,实现美观漂亮的数据可视化。
2 Prometheus
Prometheus是一套优秀的开源的监控、报警和时间序列数据库组合系统,在现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。
2.1 引入到Springboot
将Prometheus引入依赖如下:
io.micrometer
micrometer-registry-prometheus
对于Springboot,要开启Actuator,并打开对应的Endpoint:
management.endpoints.web.exposure.include=*
或者
management.endpoints.web.exposure.include=prometheus
启动Springboot后,可以通过下面URL看能不能正确获取到监控数据:
localhost:8080/actuator/prometheus
获取数据成功,说明Springboot能正常提供监控数据。
2.2 Docker方式使用
为了方便,使用Docker启动Prometheus:
拉取docker镜像
docker pull prom/prometheus
准备配置文件prometheus.yml:
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安装与启动
拉取镜像
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十分强大,值得花时间好好研究。
本文例子中软件版本信息如下:
springboot.version=2.2.5
micrometer-registry-prometheus=1.3.5
prometheus.version=2.16
grafana.version=6.7.0-beta1
原文地址https://www.cnblogs.com/larrydpk/p/12563497.html
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
使用 Docker 部署 Spring Boot 项目
使用 Docker 部署 Spring Boot 项目Docker 介绍Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。 Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。 总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。 Docker 的主要用途(1)提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。(2)提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。(3)组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。Docker 的安装(CentOS环境)安装命令yum install docker安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动...
- 下一篇
如何成为一名优秀的DBA
如何成为一名优秀的DBA? 常见的数据库很多,包括MySQL,Oracle,SQL Server,PostgreSQL,DB2,新型的数据库如MongoDB,Redis,ElasticSearch,Hbase。国产的数据库如Oceanbase、Polar DB、华为的GaussDB、Gbase等。分布式的数据库如DRDS。 全面掌握所有数据库的方方面面,当然有难度,一个人的时间是有限的。但是熟练掌握几种平时工作中最常遇到的数据库。或者在新的工作任务中,遇到以前没有接触过的数据库,需要有快速学习的能力,能在几个月或几周的时间里迅速上手,并在工作的过程中持续加深掌握的程度,最终成为某一数据库的熟练工,成为专家。 何为熟练?就是遇到任何问题,都能迅速找到解决思路。 何为专家?就是大家遇到某个解决不了的问题时,第一个想要求助的人就是你,而且在这个问题上,你通常不会让大家失望,能得到满意的答案,那你就是解决这个问题的专家。 数据库种类很多,运维的技术栈很宽,阿里云云产品种类繁多,客户会遇到的问题也纷繁复杂,很难有一个人在所有的方面都是专家,但是每个人都能在其中某几个方面成为专家。 培养良好的运维...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- CentOS8编译安装MySQL8.0.19
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Mario游戏-低调大师作品
- CentOS6,CentOS7官方镜像安装Oracle11G