news 2026/1/7 14:23:51

Prometheus + Grafana 搭建应用监控体系

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Prometheus + Grafana 搭建应用监控体系

在进行系统压测前,需要监控程序情况。今天实践了通过 Prometheus + Grafana 搭建应用监控体系,为后续使用 JMeter 对营销系统抽奖接口进行压测做准备。其中 Prometheus 主要负责指标数据的采集与存储,而 Grafana 则专注于数据的可视化展示。

一、应用端监控配置

首先需要在应用程序中集成监控采集能力,让 Spring Boot 应用能够暴露指标数据供 Prometheus 抓取。

1. 添加依赖

pom.xml中添加以下依赖:

<dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>

2. 配置应用

application.yml中启用监控端点:

# 监控上报配置 management: endpoints: web: exposure: include: "*" # 暴露所有监控端点 endpoint: health: show-details: always # 显示详细的健康检查信息 metrics: export: prometheus: enabled: true # 启用Prometheus指标导出 prometheus: enabled: true # 启用Prometheus专用端点

配置完成后,应用将在/actuator/prometheus路径暴露符合 Prometheus 格式的指标数据。

二、监控平台部署与配置

采用 Docker Compose 快速部署 Prometheus 和 Grafana,目录结构如下:

data/ ├─Grafana监控面板配置 │ New dashboard-1700969967327.json │ README.md │ └─monitor │ docker-compose.yml │ └─etc ├─grafana │ └─provisioning │ └─datasources │ datasource.yml │ └─prometheus prometheus.yml

1. Docker Compose 配置

version:'3'services:# 数据采集服务prometheus:image:swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/bitnami/prometheus:2.52.1container_name:prometheusrestart:alwaysports:-9090:9090volumes:-./etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml# 数据可视化服务grafana:image:swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/grafana/grafana:latestcontainer_name:grafanarestart:alwaysports:-4000:4000depends_on:-prometheusvolumes:-./etc/grafana:/etc/grafana

2. Prometheus 抓取配置

prometheus.yml中配置应用监控目标:

global:scrape_interval:15s# 抓取间隔scrape_configs:-job_name:'yfj-dev-tech'metrics_path:'/actuator/prometheus'static_configs:-targets:['192.168.31.12:8091']# 替换为实际应用地址

3. 验证连接

启动服务后访问192.168.31.250:9090,在 Targets 页面看到状态为UP表示配置成功。此时 Prometheus 已开始采集应用的各种运行指标,包括 JVM 内存、线程状态、HTTP 请求等。如需监控 JMeter 本身的性能数据,可参考相关插件配置(后续可扩展)。

4. Grafana 可视化配置

访问192.168.31.250:4000进入 Grafana,配置数据源指向 Prometheus 后即可创建监控面板。通过导入 JSON 配置或使用 AI 辅助生成,可以快速搭建包含 Tomcat 线程数、数据库连接数、接口响应时间等关键指标的监控视图。

三、后续计划

至此,基础监控环境已搭建完成。下一步将基于此监控体系,使用 JMeter 对营销系统抽奖接口进行压测,通过实时监控指标变化来分析系统性能瓶颈,为优化提供数据支撑。

监控体系的建立不仅服务于本次压测,更为后续的系统稳定性保障和性能优化建立了可持续的观测能力。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/4 13:39:08

【JVM】类初始化和加载

一、对象的创建过程 1. 类加载检查 当尝试创建一个对象时&#xff0c;JVM首先会到元空间中查找该对象的类符号引用&#xff08;可以理解为类的模板信息&#xff09;。检查这个类是否已经被加载、解析和初始化。如果没有&#xff0c;则会触发完整的类加载过程。 2. 分配内存 类加…

作者头像 李华
网站建设 2026/1/7 23:53:40

分库分表不再难:3步构建高性能PHP路由中间件(附开源代码)

第一章&#xff1a;分库分表的核心挑战与PHP解决方案在高并发、大数据量的业务场景下&#xff0c;单一数据库实例难以承载持续增长的读写压力&#xff0c;分库分表成为提升系统可扩展性的关键技术。然而&#xff0c;这一架构演进也带来了诸多挑战&#xff0c;包括数据路由复杂、…

作者头像 李华
网站建设 2026/1/7 20:27:13

wangEditor粘贴excel表格数据到前端编辑器

集团 Word 导入产品探索与开发记 我是一名前端开发工程师&#xff0c;在一家业务多元的集团公司总部工作。集团旗下有多个子公司&#xff0c;业务广泛涉及教育、政府、银行等多个行业。近期&#xff0c;集团提出了一个需求&#xff1a;开发一个 Word 导入产品&#xff0c;要能…

作者头像 李华
网站建设 2026/1/4 13:36:10

PHP分库分表路由实践全记录:从单库到分布式数据库的平滑演进方案

第一章&#xff1a;PHP分库分表路由演进概述在高并发、大数据量的业务场景下&#xff0c;单一数据库实例已难以支撑系统的读写负载。PHP作为广泛应用于Web开发的脚本语言&#xff0c;其在数据访问层面对分库分表的支持经历了从简单到复杂的演进过程。早期系统多采用硬编码方式实…

作者头像 李华
网站建设 2026/1/7 18:19:38

要实现“新建需求”功能-需求表单完整数据

需求表单完整数据&#xff08;3类可用版本&#xff09; 适配你截图的新建需求表单 之前定义的「Vue前端提交 SpringBoot后端接收」规范&#xff0c;提供 ✅前端提交JSON、✅数据库测试SQL、✅若依字典配置 三类可直接复用的数据&#xff0c;字段完整、格式合规、贴合业务场景…

作者头像 李华
网站建设 2026/1/7 13:57:53

学生公寓人走自动断电系统的特点和改进方向

石家庄光大远通电气有限公司学生公寓“人走断电”控制系统&#xff08;基于人体探测微波感应、智能控电模块物联网技术&#xff09;是高校和公寓管理中常见的节能与安全措施。下面介绍这个系统的技术特点&#xff1f;‍节能降耗避免学生离开后空调、照明、充电器等设备长时间待…

作者头像 李华