在进行系统压测前,需要监控程序情况。今天实践了通过 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.yml1. 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/grafana2. 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 对营销系统抽奖接口进行压测,通过实时监控指标变化来分析系统性能瓶颈,为优化提供数据支撑。
监控体系的建立不仅服务于本次压测,更为后续的系统稳定性保障和性能优化建立了可持续的观测能力。