Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
简介: Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务实现步骤

一、Spring Boot 服务端配置

  • 引入依赖:在 Spring Boot 项目的 pom.xml 文件中引入以下依赖:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
  • 配置文件:在 application.properties 或 application.yml 文件中添加以下配置:
management.endpoints.web.exposure.include=prometheus,health
management.metrics.export.prometheus.enabled=true
  • 启动服务:启动 Spring Boot 服务后,访问 http://:<端口>/actuator/prometheus,若能正常返回监控指标数据,则说明配置成功。

二、部署 Prometheus

  • 下载镜像
docker pull prom/prometheus:latest
  • 创建配置文件:在本地创建 prometheus.yml 文件,内容如下:
global:
  scrape_interval: 15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'springboot'
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ['<Spring Boot服务IP>:<端口>']
  • 启动 Prometheus
docker run -d -p 9090:9090 --name prometheus \
    -v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml \
    prom/prometheus:latest

三、部署 Grafana

  • 下载镜像
docker pull grafana/grafana:latest
  • 运行 Grafana
docker run -d -p 3000:3000 --name=grafana \
    grafana/grafana:latest
  • 访问 Grafana:通过浏览器访问 http://<服务器IP>:3000,默认用户名和密码均为 admin,登录后需修改密码。

  • 添加数据源

    • 点击左侧菜单栏的 “Connections” 图标。
    • 在数据源列表中找到 “prometheus” 图标或通过搜索框输入 “prometheus” 搜索。
    • 点击 “prometheus” 图标,进入数据源页面。
    • 点击页面右上角蓝色的 “Add new data source” 按钮,添加数据源。
    • 填写 Prometheus server URL(例如,http://<服务器IP>:9090)。
    • 根据需要调整其他数据源设置(例如,认证或请求方法等)。
    • 点击 “Save & Test” 按钮,若弹出 “Data source is working” 则说明配置成功。
  • 导入监控模板
    • 点击左侧菜单栏的 “+” 号,选择 “Import”。
    • 输入模板 ID(如 10280),点击 “Load” 加载模板。
    • 点击 “Import” 导入模板,即可查看 Spring Boot 服务的监控数据。

四、注意事项

  • 确保 Spring Boot 服务的 IP 地址和端口在 Prometheus 配置文件中正确填写,且服务能够正常访问。
  • 若使用的是云服务器,需确保相关端口已在云服务器的防火墙和安全组规则中开放。
  • Prometheus 和 Grafana 的版本可根据实际情况选择,但需保证版本间的兼容性。
相关文章
|
1月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
426 108
|
1月前
|
运维 Devops 持续交付
揭秘 Docker 自动部署神器 Websoft9:热门开源软件一键部署
在企业IT建设中,软件部署常面临效率低、易出错等问题。通过Docker与自动化工具,可实现高效、标准化和可追溯的部署流程,提升企业应用交付效率,降低运维门槛,助力中小企业实现自动化部署。
140 5
揭秘 Docker 自动部署神器 Websoft9:热门开源软件一键部署
|
13天前
|
JavaScript 算法 前端开发
【Docker项目实战】使用Docker部署paopao-ce微社区
【Docker项目实战】使用Docker部署paopao-ce微社区
159 84
【Docker项目实战】使用Docker部署paopao-ce微社区
|
23天前
|
运维 Cloud Native 开发者
Docker:现代化应用开发与部署的神器
Docker:现代化应用开发与部署的神器
165 101
|
1月前
|
设计模式 Linux 开发工具
Docker部署会吗?
本段内容主要介绍了Docker常用命令、Linux基础指令及日志查看方法,还涉及SpringMVC的执行流程、设计模式与注解,适合用于面试中技术能力的展示。
76 0
|
5天前
|
存储 Docker Python
docker 部署 sftp
本文介绍SFTP服务的部署与配置,包括users.conf用户配置规则、Docker容器运行命令及上传目录权限说明,重点解析atmoz/sftp镜像的chroot机制与子目录映射,确保用户登录后正确访问/upload目录,并提供Python脚本实现文件上传示例。
41 12
docker 部署 sftp
|
6天前
|
运维 Linux 数据库
基于 Docker 部署 n8n 指南,新手一看就会
本教程详解如何通过 Docker 快速部署开源自动化工具 n8n,适合新手快速上手。内容涵盖官方部署步骤、常见难点及第三方一键部署方案,助你高效搭建自动化工作流平台。
133 6
|
2月前
|
搜索推荐 应用服务中间件 数据安全/隐私保护
【Docker项目实战】使用Docker部署Organizr个人导航页
【Docker项目实战】使用Docker部署Organizr个人导航页
371 76
【Docker项目实战】使用Docker部署Organizr个人导航页
|
12天前
|
前端开发 JavaScript 应用服务中间件
在Docker部署的前端应用中使用动态环境变量
以上步骤展示了如何在 Docker 配置过程中处理并注入环墨遁形成可执行操作流程,并确保最终用户能够无缝地与之交互而无须关心背后复杂性。
54 13
|
16天前
|
存储 Kubernetes 持续交付
为什么Docker容器化改变了开发与部署?
为什么Docker容器化改变了开发与部署?