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

在Linux中使用docker-compose快速搭建Prometheus监控系统

写在前面

Prometheus是一款开源的系统监控和警报工具包,特别适合容器化环境。本文将详细介绍如何使用docker-compose在Linux系统中快速部署完整的Prometheus监控系统,包含核心监控组件、可视化界面和服务器指标采集等功能。

环境准备

确保系统已安装Docker和docker-compose工具。建议使用Linux服务器(如Ubuntu/CentOS)进行操作。

步骤

  1. 创建监控目录结构
    首先创建专用目录存放配置文件:
mkdir -p /usr/local/bin/monitor
cd /usr/local/bin/monitor
touch docker-compose.yml prometheus.yml

2.配置docker-compose.yml
以下是完整的docker-compose配置,包含5个核心服务:

version: '3'networks:monitor:driver: bridgeservices:prometheus:image: prom/prometheuscontainer_name: prometheushostname: prometheusrestart: alwaysvolumes:- ./prometheus.yml:/etc/prometheus/prometheus.ymlports:- "9090:9090"networks:- monitoralertmanager:image: prom/alertmanagercontainer_name: alertmanagerhostname: alertmanagerrestart: alwaysports:- "9093:9093"networks:- monitorgrafana:image: grafana/grafanacontainer_name: grafanahostname: grafanarestart: alwaysports:- "3000:3000"networks:- monitornode-exporter:image: quay.io/prometheus/node-exportercontainer_name: node-exporterhostname: node-exporterrestart: alwaysports:- "9100:9100"networks:- monitorcadvisor:image: google/cadvisor:latestcontainer_name: cadvisorhostname: cadvisorrestart: alwaysvolumes:- /:/rootfs:ro- /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:roports:- "8899:8080"networks:- monitor
  1. 配置prometheus.yml
    配置Prometheus抓取指标的目标:
global:scrape_interval: 15sevaluation_interval: 15sscrape_configs:- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']- job_name: 'cadvisor'static_configs:- targets: ['localhost:8899']- job_name: 'node'static_configs:- targets: ['localhost:9100']
  1. 启动服务
    在配置文件所在目录执行:
# 首次启动建议前台运行以便查看日志
docker-compose --compatibility up# 确认无误后可使用后台模式
docker-compose --compatibility up -d
  1. 访问服务
    启动成功后,可通过以下地址访问各组件:
  • Prometheus UI: http://<服务器IP>:9090
  • Grafana: http://<服务器IP>:3000 (默认账号/密码: admin/admin)
  • Node Exporter指标: http://<服务器IP>:9100/metrics
  • cAdvisor指标: http://<服务器IP>:8899/metrics

组件说明

  • Prometheus‌: 核心监控组件,负责指标采集、存储和查询
  • ‌Grafana‌: 数据可视化平台,提供丰富的监控仪表盘
  • ‌Node Exporter‌: 采集主机硬件和操作系统指标
  • cAdvisor‌: 采集Docker容器资源使用情况
  • Alertmanager‌: 告警管理组件(本文暂未配置)

Tips:确保9090、3000、9100等端口未被占用!!!


The end.

http://www.dtcms.com/a/325869.html

相关文章:

  • foreach 块并行加速
  • 澳洲增高营养品排行榜
  • 小波卷积YYDS!小波变换+CNN创新结合
  • 无人机航拍数据集|第11期 无人机人员行为目标检测YOLO数据集1868张yolov11/yolov8/yolov5可训练
  • 【bug】diff-gaussian-rasterization Windows下编译 bug 解决
  • STM32 HAL库驱动0.96寸OLED屏幕
  • 【学习】DCMM认证从“跟风“到“生存法则“的进化
  • EI检索-学术会议 | 人工智能、虚拟现实、可视化
  • react中父子数据流动和事件互相调用(和vue做比较)
  • 小杰python高级(three day)——matplotlib库
  • 关于微信小程序的笔记
  • 告别“焊武帝”时代!30-65W零外围A+C快充协议正式上线
  • Cherryusb UAC例程对接STM32内置ADC和PWM播放音乐和录音(下)=>UAC+STM32 ADC+PWM实现录音和播放
  • TradingAgents-CN: 基于多智能体的中文金融交易决策框架
  • Apache Ignite超时管理核心组件解析
  • XX生产线MES系统具体实施方案
  • 第2节 大模型分布式推理架构设计原则
  • react+echarts实现图表展示的两种方法
  • uni-app app端安卓和ios如何申请麦克风权限,唤起提醒弹框
  • 初识影刀:将多个相同格式EXCEL中内容汇总到一个EXCEL文件中去
  • HRM分层推理模型在医疗AI上的应用探析
  • LeetCode算法日记 - Day 8: 串联所有单词的子串、最小覆盖子串
  • 学习嵌入式-IMX6ULL学习——中断
  • 防火墙组网方式总结
  • 阿里发布数字人模型echomimic_v3,在视频合成的基础上支持prompt输入~
  • 计算机组成原理2-5:C语言中的数据类型及转换
  • LangChain 框架 Parser 讲解
  • LeetCode 2438.二的幂数组中查询范围内的乘积:模拟(前缀和可选)
  • 十二、Linux Shell脚本:正则表达式
  • Linux线程——线程控制及理解