docker compose安装Prometheus、Grafana

1、创建目录结构

mkdir -p /opt/monitoring/{prometheus,grafana}
mkdir -p /opt/monitoring/prometheus/{config,data}
chmod -R 777 /opt/monitoring  # 确保容器有写入权限

2、准备 Prometheus 配置文件

vi /opt/monitoring/prometheus/config/prometheus.yml
global:scrape_interval: 15sscrape_configs:- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']- job_name: 'node'static_configs:- targets: ['node-exporter:9100']

配置解释

全局配置 (global)

global:scrape_interval: 15s          # 默认抓取间隔(每15秒)evaluation_interval: 15s      # 规则评估间隔(每15秒)scrape_timeout: 10s           # 每次抓取超时时间external_labels:              # 外部系统标识此Prometheus的标签monitor: 'prod-cluster'region: 'us-east'
  • scrape_interval:15s 默认抓取间隔(每15秒)
  • evaluation_interval: 15s      # 规则评估间隔(每15秒)
  • scrape_timeout: 10s           # 每次抓取超时时间

抓取配置

这是最核心的配置部分,定义监控目标

scrape_configs:# 可随意指定- job_name: 'spring'# 多久采集一次数据scrape_interval: 15s# 采集时的超时时间scrape_timeout: 10s# 采集的路径metrics_path: '/actuator/prometheus'# 采集服务的地址,设置成Springboot应用所在服务器的具体地址static_configs:- targets: ['${host1}','${host2}']  
  • job_name: 'prometheus'    # 任务名称
  • static_configs:           # 静态目标配置

保留天数

        Prometheus 的默认数据保留时间是 15天。在 Prometheus 的配置文件 prometheus.yml 中,可以添加以下配置来设置数据保留时间

storage:tsdb:retention.time: 30d
  • 数据保留时间的单位可以是 s(秒)、m(分钟)、h(小时)、d(天)、w(周)、y(年)。

  • 如果需要根据存储大小限制数据保留时间,可以使用 --storage.tsdb.retention.size 参数

3、创建 docker-compose.yml 

version: '3'services:prometheus:image: prom/prometheuscontainer_name: prometheusrestart: alwaysports:- "9090:9090"volumes:- /opt/monitoring/prometheus/config:/etc/prometheus- /opt/monitoring/prometheus/data:/prometheuscommand:- '--config.file=/etc/prometheus/prometheus.yml'- '--storage.tsdb.path=/prometheus'networks:- monitoringnode-exporter:image: prom/node-exportercontainer_name: node-exporterrestart: alwaysports:- "9100:9100"volumes:- /proc:/host/proc:ro- /sys:/host/sys:ro- /:/rootfs:rocommand:- '--path.procfs=/host/proc'- '--path.sysfs=/host/sys'- '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)'networks:- monitoringgrafana:image: grafana/grafanacontainer_name: grafanarestart: alwaysports:- "3000:3000"volumes:- /opt/monitoring/grafana:/var/lib/grafanaenvironment:- GF_SECURITY_ADMIN_PASSWORD=admin123  # 设置admin密码networks:- monitoringnetworks:monitoring:driver: bridge
  • 数据持久化:
    • /opt/monitoring/prometheus/data - Prometheus 时序数据库

    • /opt/monitoring/grafana - Grafana 配置和仪表板

4、启动服务

在docker-compose.yml 同级目录下执行

docker-compose up -d

其他命令

# 查看服务状态
docker-compose ps# 查看日志
docker-compose logs -f# 停止服务
docker-compose down# 重启服务
docker-compose restart

更新prometheus配置

修改配置文件后,重启服务

docker-compose restart prometheus

5、验证安装

  1. Prometheus: 访问 http://<宿主机IP>:9090

  2. Grafana: 访问 http://<宿主机IP>:3000 (初始用户名/密码: admin/admin123)

  3. Node Exporter: 访问 http://<宿主机IP>:9100/metrics

    1. Node Exporter 是 Prometheus 生态系统中的一个关键组件,专门用于收集主机系统(通常是 Linux/Unix 服务器)的硬件和操作系统指标。

Grafana设置中文

6、Grafana配置Prometheus数据源 

添加数据源

配置

  • URL: http://prometheus:9090

  • 其他保持默认

点击 "Save & Test"

7、导入 Grafana 仪表板

模版地址

Grafana提供了许多优秀的模板,可以网页https://grafana.com/grafana/dashboards 查找。

导入模版

加载模版

选择 Prometheus 数据源

 点击 "Import"

监控信息

8、实例

spring项目 

添加依赖

<!-- Actuator 提供监控端点 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency><!-- Micrometer Prometheus 适配器 -->
<dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

在 application.yml配置

# 监控
management:endpoints:web:exposure:include: '*' #  暴露所有端点metrics:tags:application: ${spring.application.name} # 监控指标prometheus:metrics:export:enabled: true # 暴露监控指标step: 30s # 监控指标步长

鉴权-放行

如果有鉴权,需要放行下面的接口

"/actuator/**"

验证

http://localhost:8080/actuator/prometheus

Prometheus 侧配置

基本抓取配置

scrape_configs:- job_name: 'spring-apps'metrics_path: '/actuator/prometheus'  # Spring Boot 暴露的端点scrape_interval: 15sstatic_configs:- targets: ['spring-app-host:8080']  # 应用地址labels:env: 'production'service_group: 'order-service'

Grafana 配置

监控

  • 19004(Spring Boot 3.x Statistics):适用于Micrometer Prometheus指标的全方位Spring Boot 3.x Grafana仪表盘。

  • 21308(Spring Boot Http (3.x):此仪表盘旨在监控Spring Boot应用程序中HTTP请求的状态和性能。它使用Spring Boot Actuator来公开指标,并使用Prometheus来收集和存储这些指标。然后,使用Grafana来可视化收集到的数据,从而深入了解HTTP请求行为。

监控信息

Spring Boot 3.x Statistics

Spring Boot Http (3.x)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/84688.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

稀土化合物在生态环境的应用

稀土化合物凭借强吸附性、催化活性及环境兼容性&#xff0c;已成为生态治理的关键材料。氧化物、氯化物、磷酸盐等基础产品&#xff0c;通过灵活复配与工艺适配&#xff0c;可高效解决水体净化、土壤修复、废气处理三大核心问题&#xff0c;推动环境治理向低耗高效转型。那么&a…

搭建网站应该怎样选择服务器?

互联网技术已经全面在各个地区进行发展&#xff0c;越来越多的企业选择线上业务&#xff0c;搭建属于自己的网站运营&#xff0c;以此来增加品牌的知名度并进行详细介绍&#xff0c;但是企业在进行搭建网站的前提&#xff0c;要选择一种合适的服务器&#xff0c;确保后续网站能…

每日算法刷题Day30 6.13:leetcode二分答案2道题,用时1h10min

5. 1201.丑数III(中等) 1201. 丑数 III - 力扣&#xff08;LeetCode&#xff09; 思想 1.丑数是可以被 a 或 b 或 c 整除的 正整数 。 给你四个整数&#xff1a;n 、a 、b 、c &#xff0c;请你设计一个算法来找出第 n 个丑数。 2.此题是4. 878.第N个神奇数字的进阶版&#…

Appium+python自动化(二十一)- Monkey指令操作手机

第一式 - 隐藏命令 monkey隐藏的两个命令&#xff1a; –pck-blacklist-file<黑名单文件><br><br>–pck-whitelist-file<白名单文件> monkey还有一个隐藏的命令那就是&#xff1a; –f<脚本文件>:可以指定monkey的自定义脚本 一般monkey测试…

微信小程序动态效果实战指南:从悬浮云朵到丝滑列表加载

小红书爆款交互设计解析&#xff0c;附完整代码&#xff01; &#x1f525; 一、为什么动态效果是小程序的关键竞争力&#xff1f; 用户留存提升&#xff1a;数据显示&#xff0c;86.3%的微商从业者依赖微信小程序&#xff0c;而动态效果能显著降低跳出率。技术赋能体验&#…

【机器学习】SAE(Sparse Autoencoders)稀疏自编码器

SAE(Sparse Autoencoders)稀疏自编码器 0.引言 大模型一直被视为一个“黑箱”&#xff0c;研究人员对其内部神经元如何相互作用以实现功能的机制尚不清楚。因此研究机理可解释性&#xff08;Mechanistic Interpretability&#xff09;就成为了一个热门研究方向。大模型的复杂…

抖音授权登录-获取用户授权调用凭证

实现微信小程序获取抖音授权,使用Java实现抖音授权登录,您需要使用抖音开放平台提供的API 第一步 :抖音获取授权码 前提条件 •需要去官网为应用申请 scope 的使用权限。•需要在本接口的 scope 传参中填上需要用户授权的 scope,多个 scope 以逗号分割。•用户授权通过后…

普通人怎样用好Deepseek?

今年4月份左右&#xff08;2025年&#xff09;&#xff0c;我在上班路上开车&#xff0c;一边听着「黑客与画家」的播客&#xff0c;一边想着字节的Trae为啥能够远程编程&#xff0c;而我的poclogsender[1] [2]却只能在本地打日志&#xff0c;3天之后&#xff0c;借助deepseek我…

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…

织梦dedecms {dede:sql} LIKE模糊查询问题 多出‘号

我们在用到dede:sql这个标签时候&#xff0c;查询语句中 LIKE %~title~%&#xff0c;~title~这个like后会出现单引号&#xff0c;造成查询出错或者没有结果&#xff0c;下面就需要修改一下sql.lib.php这个文件&#xff0c;我们需要把自动为语句添加单引号去掉。 找到/include/…

Cursor-1.0安装Jupyter-Notebook,可视化运行.ipynb文件中Python分片代码

Cursor 1.0是AI代码编辑器的里程碑的最新版本。 Cursor - AI 代码编辑器 Cursor - The AI Code Editor 下载 Cursor 我使用的Cursor版本信息 Version: 1.0.0 (Universal) VSCode Version: 1.96.2 Commit: 53b99ce608cba35127ae3a050c1738a959750860 Date: 2025-06-04T19:21:39.…

SQL进阶之旅 Day 28:跨库操作与ETL技术

【SQL进阶之旅 Day 28】跨库操作与ETL技术 文章简述 在现代数据驱动的业务场景中&#xff0c;数据往往分布在多个数据库系统中&#xff0c;如MySQL、PostgreSQL、Oracle等。如何高效地进行跨库操作和**数据集成&#xff08;ETL&#xff09;**成为数据工程师和数据库开发人员必…

Flutter之GetX框架的使用

文章目录 前言GetX使用建议状态管理GetX快速上手GetX基本功能介绍**核心作用****代码示例****关键细节****性能建议** 参考链接 前言 在Reddit上&#xff0c;诟病GetX的声音很多&#xff0c;主要是说它做的事情太多&#xff0c;不是单一功能组件&#xff0c;违反单一职责原则。…

Kettle数据抽取(二)

一、脚本运用 从本地ORACLE11 数据库 抽取数据到 华为MYSQL8.1 数据库 抽取前先删除MYSQL8.1 数据库中emp_dept_salgrade表原有数据,避免重复 二、插入表更新 事实上前面一种方法不是增量处理,因为是全部删除合部重新写入相当于初始化一样,这种情形,如果数据量较大,如有1…

一套高质量的博客平台、社交应用UI

这是一套移动端UI设计素材包含14个高质量PSD文件&#xff0c;涵盖博客社交类APP的核心页面&#xff0c;包括登录界面、动态展示、文章详情、聊天会话等常用场景。所有素材均为可编辑PSD格式&#xff0c;支持快速二次开发&#xff0c;适用于移动网站和APP项目。资源提供完整的UI…

麒麟信安支撑2025年电力监控系统安全运维新技能推广应用示范培训班顺利举办

近日&#xff0c;由国调中心主办、国网技术学院电网运行培训部承办的“2025年电力监控系统安全运维新技能推广应用示范培训班&#xff08;第一期&#xff09;”顺利举办。电网运行培训部高度重视本次培训组织工作&#xff0c;在国调中心的指导下&#xff0c;精心编制培训方案&a…

支付系统架构图

简明产品架构图 1. 商户门户 商户通过该门户管理与支付平台的所有互动&#xff0c;包括&#xff1a; 登录&#xff1a;商户进入系统&#xff0c;进行身份验证。 入驻&#xff1a;新商户注册并加入平台&#xff0c;开始使用支付服务。 订单管理&#xff1a;商户可以管理自己…

企业如何一键复制 DolphinScheduler 项目到新项目服务器?全套自动化方案来了!(企业不外传的实用工具)

在企业生产实践中,常见的一种场景是:一个大数据调度项目需要为多个客户分别部署在不同服务器上,而每个客户的任务逻辑、工作流结构、资源文件基本相同。这种情况下,如果每次都手动创建 DolphinScheduler 项目、上传资源文件、配置流程和参数,不仅浪费大量时间,还极容易出…

Oracle中10个索引优化

Oracle数据库作为一个功能强大的企业级数据库系统&#xff0c;对于索引的优化有着丰富的技巧和方法。理解和运用这些技巧可以显著提高数据库性能。 示例代码&#xff1a; – 假设我们有一个员工表 CREATE TABLE employees ( emp_id NUMBER PRIMARY KEY, name VARCHAR2(100), de…

【cv学习笔记】YOLO系列笔记

写在前面&#xff1a;本文主要介绍YOLO系列的整体框架&#xff0c;以及改进点的介绍。前面有型号的类型是经典&#xff0c;常被应用&#xff0c;YOLOv5&#xff0c;YOLOv8&#xff0c;和YOLOv11是ultralytics公司作品 *YOLOv5 Ultralytics YOLOv5 -Ultralytics YOLO 文档 YOL…