✅技术社区—利用SpringBoot Actuator集成 Prometheus和Grafana搭建完整的服务监控体系

news/2024/5/18 21:51:26 标签: spring boot, prometheus, grafana

前言

在系统中,我们需要一个系统监控的东西。它就像我们的眼睛,有了这双眼睛我们知道系统到底发生了什么服务器当前运行状态压力等等。因此系统监控是非常关键和重要。

接下来我就分享下技术社区项目中利用Actuator+Prometheus+Grafana搭建的监控系统.

利用Spring Boot Actuator集成Prometheus和Grafana搭建一套完整的服务监控体系是一个非常实用的方法,以确保社区平台等应用的稳定运行。下面是一个详细的解释和步骤指南。

1. 什么是Spring Boot Actuator, Prometheus, 和 Grafana

  • Spring Boot Actuator 提供了一系列的管理端点,监控和管理Spring Boot应用。可以帮助我们对程序内部运行情况监控,比如监控Bean加载情况、环境变量、日志信息和线程信息等等
  • Prometheus 是一个开源的系统监控和警报工具包,它通过HTTP端点收集指标,存储在自身的时间序列数据库中。Prometheus非常适合收集和存储微服务架构中各种服务的指标数据。
  • Grafana 是一个开源的度量分析和可视化工具,可以用于展示从Prometheus等数据源收集的指标数据,以图表和仪表盘的形式展示。

2. 如何集成Spring Boot Actuator与Prometheus

  1. 引入依赖:首先,在Spring Boot项目的pom.xml中添加Actuator和Prometheus的依赖。
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

  1. 暴露端点:配置application.propertiesapplication.yml文件,确保Actuator的端点(特别是/prometheus)被暴露,以供Prometheus抓取数据。
management:
  endpoints:
    web:
      exposure:
        include: health, info, prometheus

  1. 配置Prometheus:创建一个Prometheus配置文件(prometheus.yml),指定抓取Spring Boot应用暴露的/prometheus端点。
scrape_configs:
  - job_name: 'spring-actuator'
    metrics_path: '/actuator/prometheus'
    static_configs:
    - targets: ['<your-spring-boot-app-host>:<port>']

  1. 运行Prometheus:下载并运行Prometheus,使用上述配置文件。

3. 使用Grafana进行可视化

  1. 安装并启动Grafana
  2. 添加数据源:在Grafana中添加Prometheus作为数据源,输入Prometheus服务的URL。
  3. 创建仪表盘:使用Grafana提供的查询编辑器,根据Prometheus数据源创建图表和仪表盘。
  4. 监控与警报:你可以根据需求定制仪表盘,监控应用的健康状况、请求延迟、系统负载等指标,并设置警报规则。

Grafana自身不作为一个库或者依赖来集成到Spring Boot项目中。Grafana是一个独立的应用,用于数据可视化和监控。它通过与数据源(如Prometheus)的交互来收集、展示数据,而不是直接集成到你的Spring Boot应用代码中。

当你使用Spring Boot Actuator和Prometheus来暴露应用指标时,Grafana可以配置为这些指标的可视化工具,但是它运行在自己的服务进程中,独立于Spring Boot应用。这种设计使得Grafana非常灵活,可以监控和可视化来自多个应用和服务的数据,而不仅仅是一个单一的Spring Boot应用。

4. 小结

通过以上步骤,可以构建一套完整的服务监控体系,利用Spring Boot Actuator收集应用数据,Prometheus作为监控和警报系统,Grafana进行数据可视化和分析。这套体系能够帮助开发和运维团队更好地理解应用状态,及时发现并解决问题,确保社区平台的稳定运行。


http://www.niftyadmin.cn/n/5432457.html

相关文章

Realsense 相机SDK学习(一)——librealsense使用方法及bug解决(不使用Ros)

一.介绍 realsense相机是一个intel开发出来的一款深度相机&#xff0c;我之前使用他来跑过slam&#xff0c;也配置过他的驱动&#xff0c;在此附上realsense的相机驱动安装方法&#xff1a;Ubuntu20.04安装Intelrealsense相机驱动&#xff08;涉及Linux内核降级&#xff09; …

移动端研发技术的进化历程

移动端研发技术 移动端研发技术主要分为原生开发和跨平台开发。本章主要介绍一下移动开发技术的过去、当下和未来&#xff0c;一步一步介绍移动技术的进化历程。 原生开发 原生应用程序是指某一个移动平台&#xff08;比如iOS或Android&#xff09;所特有的应用&#xff0c;使…

前端如何识别上传的二维码---jsQR

npm npm i -d jsqrhtml <el-button click"$refs.input.click()">识别</el-button> <input type"file" style"display: none" id"input" input"upload">js import jsQR from "jsqr";decodeQR…

一个服务出现fullgc正常吗 少量的fullgc会影响系统的稳定性吗

在Java应用的运行过程中&#xff0c;发生Full GC是正常的&#xff0c;因为它是JVM垃圾回收机制的一部分。Java虚拟机会定期进行垃圾回收以回收不再被使用的对象所占用的内存。然而&#xff0c;频繁的Full GC或者过长的GC暂停时间是不理想的&#xff0c;因为它会导致应用程序在垃…

【设计模式】Java 设计模式之装饰者模式(Decorator)

装饰者模式讲解 一、概述 装饰者模式&#xff08;Decorator Pattern&#xff09;是一种用于动态地给一个对象添加一些额外的职责的设计模式。就增加功能来说&#xff0c;装饰者模式相比生成子类更为灵活。装饰者模式是一种对象结构型模式。 装饰者模式可以在不改变一个对象本…

HM2019碰撞安全之假人定位

1、调整假人的位置&#xff08;Tools→Dummy&#xff09; 2、对假人的姿态进行调整 方法一&#xff1a;手动调整 方法二&#xff1a;自动调整 3、假人姿态调整后&#xff0c;还可以对假人目前的姿态保存。 4、将假人恢复到最初状态方法 5、将假人与座椅相关联&#xff08;Tool…

什么时候去检测大数据信用风险比较合适?

什么时候去检测大数据信用风险比较合适?在当今这个数据驱动的时代&#xff0c;大数据信用风险检测已经成为个人的一项重要需求。本文将从贷前检测、信息泄露检测和定期检测三个方面&#xff0c;阐述何时进行大数据信用风险检测较为合适。 一、贷前检测 大数据信用风险检测在贷…

R统计学3 - 数据分析入门问题41-60

往期R统计学文章: R统计学1 - 基础操作入门问题1-20 R统计学2 - 数据分析入门问题21-40 41. R 语言如何做双坐标图? # 创建模拟数据 year <- 2014:2024 gdp <- data.frame(year, GDP = sort(rnorm(11, 1000, 100))) ur <- data.frame(year, UR = rnorm(11, 5, 1…