前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Prometheus监控你的SpringBoot项目

使用Prometheus监控你的SpringBoot项目

作者头像
写一点笔记
发布2022-08-11 16:49:21
1.4K0
发布2022-08-11 16:49:21
举报
文章被收录于专栏:程序员备忘录程序员备忘录

1、依赖的maven包

其实我们市面上的springboot项目基本都是基于此actutor做监控的。或者是直接用或者是代理一层做的,所以说prometheus的监控也是通过此包进行的,所以说上边我们不仅要导入actuator这个包还要导入prometheus的包,因为prometheus是对actuator进行一层代理。至于这里的第三个包micrometer-jvm-extrs其实要不要都不要紧,第三个包主要用来监控jvm的应该是。

代码语言:javascript
复制
  <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
  </dependency>
  <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-registry-prometheus</artifactId>
  </dependency>
  <dependency>
      <groupId>io.github.mweirauch</groupId>
      <artifactId>micrometer-jvm-extras</artifactId>
      <version>0.2.0</version>
  </dependency>

2.暴露springboot项目的监控点

我们做监控的时候都是通过打点做的,在springBoot中提供了

代码语言:javascript
复制
  <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
  </dependency>

做监控,对于监控来说必然要配置一些配置信息,这些信息往往到和prometheus的监控面板相对应,故此我们看到我们需要添加的配置文件如下所示:

代码语言:javascript
复制
代码语言:javascript
复制
server.port=8081
spring.application.name=tianjl

## 暴露所有的actuator endpoints
management.endpoints.web.exposure.include=*

## Grafana上的应用名字
management.metrics.tags.application=${spring.application.name}

在配置好上述prometheus的配置之后,相当于我们配置好了内外呼应的外,那么剩下的内就是我们的prometheus了。

3.配置promethues工作任务

我上次说过prometheus监控的时候有个配置文件,这个配置文件中需要配置任务,然后才是prometheus去拉去监控信息,因此我们就需要在配置文件中添加我们刚刚创建的springboot项目的地址信息,这个地址信息就是我们向外暴露的endPoints。我们看下配置文件如何编写。

配置文件如下:

代码语言:javascript
复制
  - job_name: 'bounter-monitor'   #prometheus任务名称
    scrape_interval: 5s  #每五秒抓取一次数据
    metrics_path: '/actuator/prometheus'   #数据来源的地址
    static_configs:
      - targets: ['localhost:8081']   #拉去数据的地址

这块其实拉监控信息的地址是localhost:8081/actuator/prometheus,您可以在浏览器中打开这个地址,是会出现很多监控信息的。prometheus就是拉的这些数据。

在配置好prometheus的配置信息之后,我们重启prometheus,并查看服务状态。

之前我们说promethues仅仅相当于一个数据拉取和存储的地方,其提供了强大的数据查询能力。但他的监控WEB端做的不是很好,所以经常需要让配合grafana做监控处理。所以这块我们在gafana中添加我们springboot相关的监控面板。

4、导入监控面板和监控

首先要说的是gafana并不是说什么监控面板都有,很多监控面板还是需要从网上获取,或者将其下载下载,然后再传上去,第二种形式就是说针对gafana的机房部署。这块我们还是简单介绍一下直接从网上下载吧。

首先我们到gafana官网上。https://grafana.com/grafana/dashboards

首先到其官方网站上,找到面板这个栏目。

我们在筛选框找中输入springboot

发现面板好多呀。我们就选择第一个进去看看吧。

发现里边有详细的教程,就是咋进行讲解的这个教程。所以你知道以后添加任意的监控面板了吗?不晓得你们会了没,反正我大概是会了。之后呐,我们在我们的gafana中添加这个监控面板。

添加好gafana面板之后,我们就在home中刷新一下,发现我们的项目已经被监控了。哈哈,这个效果怎么样?

总结:通过上述文章,我们可能大概了解了prometheus监控服务的一个基本的过程,但是可能还不够深入,具体来说你既然监控了springBoot,但是我总不能时时刻刻就这么盯着这个美丽的大屏幕吧,咋不是拍网络大片的呀,故此我们注重的是如何报警,这个后边再说吧,先这样吧!

早呀~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 写点笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Grafana 服务
Grafana 服务(TencentCloud Managed Service for Grafana,TCMG)是腾讯云基于社区广受欢迎的开源可视化项目 Grafana ,并与 Grafana Lab 合作开发的托管服务。TCMG 为您提供安全、免运维 Grafana 的能力,内建腾讯云多种数据源插件,如 Prometheus 监控服务、容器服务、日志服务 、Graphite 和 InfluxDB 等,最终实现数据的统一可视化。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档