当前位置: 首页 > wzjs >正文

企业做网站需要的资料上海seo公司哪个靠谱

企业做网站需要的资料,上海seo公司哪个靠谱,可以做设计兼职的网站有哪些,建设个人网站的要求[Java实战]Spring Boot整合Prometheus:应用性能监控与可视化(三十二) 引言 在微服务架构中,应用性能监控是保障系统稳定性和优化资源利用率的关键。Prometheus 作为一款开源的监控和告警工具,通过灵活的指标采集与强…

[Java实战]Spring Boot整合Prometheus:应用性能监控与可视化(三十二)

引言

在微服务架构中,应用性能监控是保障系统稳定性和优化资源利用率的关键。Prometheus 作为一款开源的监控和告警工具,通过灵活的指标采集与强大的查询语言(PromQL),成为监控领域的首选方案。结合 Spring Boot,开发者可以快速实现应用性能数据的采集与可视化。本文将从原理到实践,详细讲解如何通过 Docker 部署 Prometheus,并整合 Spring Boot 实现应用监控。

一、核心原理
1.1 Prometheus 工作原理
  • 数据采集:Prometheus 基于 Pull 模型,定期从配置的目标(如 Spring Boot 应用)暴露的 HTTP 端点拉取指标数据。
  • 数据存储:采集的指标以时间序列形式存储在本地或远程数据库中。
  • 告警与可视化:通过 Alertmanager 处理告警规则,结合 Grafana 实现数据可视化。
1.2 Spring Boot 监控机制
  • Spring Boot Actuator:提供内置的监控端点(如 /actuator/health/actuator/prometheus),暴露应用的健康状态、JVM 指标等。
  • Micrometer:作为指标采集的桥梁,将应用指标格式化为 Prometheus 兼容的数据格式。
二、环境准备
  • Spring Boot 2.7+(JDK 8/11)
  • Prometheus 2.30+(Docker 部署)
  • Grafana 9.0+(可选,用于可视化)
  • Docker 环境
三、Spring Boot 整合 Prometheus
3.1 添加依赖

pom.xml 中引入 Spring Boot Actuator 和 Micrometer Prometheus 依赖:

<dependencies><!-- Actuator 端点 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- Prometheus 格式支持 --><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId><version>1.9.14</version></dependency>
</dependencies>
3.2 配置 Actuator 端点

application.yml 中暴露 Prometheus 端点并配置应用标签:

management:endpoints:web:exposure:include: "*"  # 暴露所有端点metrics:tags:application: my-springboot-app  # 全局标签
3.3 自定义业务指标

通过 MeterRegistry 注册自定义指标(如订单数量):

@Component
public class OrderMetrics {private final Counter orderCounter;@Autowiredpublic OrderMetrics(MeterRegistry registry) {orderCounter = Counter.builder("orders.total").description("Total number of orders").tag("service", "order").register(registry);}public void incrementOrder() {orderCounter.increment();}
}
四、Docker 部署 Prometheus
4.1 拉取镜像
docker pull docker.1ms.run/prom/prometheus:v2.44.0docker pull prom/node-exporter  # 主机监控组件(可选)
docker pull grafana/grafana     # 可视化工具(可选)
4.2 创建配置文件

创建 prometheus.yml,配置抓取目标和全局参数:

global:scrape_interval: 15sscrape_configs:- job_name: "springboot-app"metrics_path: "/actuator/prometheus"static_configs:- targets: ["192.168.231.1:8080"]  # Spring Boot 应用地址# - job_name: "node-exporter"                   # 主机监控(可选)#  static_configs:#   - targets: ["192.168.231.132:9100"]
4.3 启动 Prometheus 容器
docker run -d \-p 9090:9090 \-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \   #注意实际配置文件地址-v prometheus-data:/prometheus \  #注意实际存储地址--name prometheus \docker.1ms.run/prom/prometheus:v2.44.0#赋予权限
chmod -R 777 /path/to/prometheus-data
chmod 666 /home/kafka/prometheus.yml#整合为一行
docker run -d -p 9090:9090 -v /home/kafka/prometheus.yml:/etc/prometheus/prometheus.yml -v /home/kafka/prometheus-data:/prometheus --name prometheus docker.1ms.run/prom/prometheus:v2.44.0
4.4 启动 Node Exporter(可选)

监控主机资源(CPU、内存等):

docker run -d \-p 9100:9100 \-v "/proc:/host/proc" \-v "/sys:/host/sys" \--net=host \prom/node-exporter
五、测试与验证
5.1 验证 Spring Boot 端点

访问 http://localhost:8080/actuator/prometheus,确认指标数据已生成。

5.2 检查 Prometheus 目标状态

在 Prometheus Web 界面(http://ip:9090/targets)中,确认 springboot-appnode-exporter 的状态为 UP

在这里插入图片描述

5.3 查询指标

使用 PromQL 查询自定义指标(如 orders_total),验证数据采集正常。

六、Grafana 可视化(可选)
6.1 启动 Grafana
docker run -d -p 3000:3000 --name grafana grafana/grafana
6.2 配置数据源
  1. 访问 http://localhost:3000,使用默认账号 admin/admin 登录。
  2. 添加 Prometheus 数据源,URL 设置为 http://prometheus:9090(若在 Docker 同一网络)或 http://host.docker.internal:9090
6.3 导入 Dashboard

导入官方模板(如 JVM Micrometer,ID:4701),实时查看 JVM 堆内存、线程等指标。

七、常见问题与解决
  1. Prometheus 无法连接 Spring Boot 应用

    • 检查网络配置,确保 Docker 容器与应用在同一网络或使用 host.docker.internal 访问宿主机。
    • 验证 management.endpoints.web.exposure.include 配置是否正确。
  2. 自定义指标未显示

    • 确保 MeterRegistry 注册逻辑正确,且应用已调用指标更新方法。
  3. 数据持久化问题

    • 通过 Docker 数据卷挂载(如 -v prometheus-data:/prometheus)避免容器重启后数据丢失。
八、总结

通过 Spring Boot Actuator 和 Prometheus 的整合,开发者可以快速构建应用性能监控体系。结合 Docker 部署,进一步简化了 Prometheus 的运维复杂度。后续可通过 Alertmanager 配置告警规则,或扩展监控目标(如数据库、中间件),实现全方位的系统可观测性。

参考文档

  • Prometheus 官方文档

希望本教程对您有帮助,请点赞❤️收藏⭐关注支持!欢迎在评论区留言交流技术细节!

http://www.dtcms.com/wzjs/74317.html

相关文章:

  • 双语网站管理系统 div css国外推广渠道平台
  • 如何再工商局网站做设备抵押百度竞价排名背后的伦理问题
  • 科技布沙发优缺点宁波超值关键词优化
  • 顺义做网站同学软文发稿平台有哪些
  • 新闻资讯建站服务商东莞关键词自动排名
  • nginx设置wordpress伪静态seo自然优化排名
  • 做调查的有哪些网站有哪些网站怎样关键词排名优化
  • 哈尔滨建设银行网站首页数据分析师报考条件
  • 武汉做网站的公司哪家好旺道seo软件技术
  • 亿级流量网站架构怎么创建自己的游戏网站
  • 九江网站设计公司百度手机下载安装
  • 标准北京时间久久网成都网站关键词推广优化
  • 广州白云区做网站网页设计免费模板
  • dw怎样做网站链接广州seo报价
  • 宁波手机网站建设常用的网络营销方法有哪些
  • 宁陵做网站steam交易链接可以随便给别人吗
  • 夏天做啥网站致富百度集团公司简介
  • 微信做单网站今日重庆重要消息
  • 汉滨网站建设搜索引擎优化seo网站
  • 湖南建设工程采购网站seo顾问阿亮博客
  • 江西省城市建设档案馆网站百度seo优化按年收费
  • 软件wap网站福州seo服务
  • 在哪做网站好搜索引擎营销的案例
  • 校园二手市场网站建设方案足球比赛今日最新推荐
  • wordpress如何显示文章列表杭州百度快照优化排名
  • 网站怎么加ico百度公司招聘
  • 网站的第二域名怎么用网络营销方案模板
  • 网站建设 图片问题百度商家平台客服电话
  • 什么样的网站开发比较吃香软文推广多少钱
  • 免费流量平台哪个最好seo管理系统培训