个人总结 搭建Docker监控

监控 Docker系统

Prometheus + Grafana 监控 Docker 系统搭建指南。

要实现对 Docker 的全面监控,需要按照以下步骤搭建 PrometheusGrafana 并进行配置:

4.1、安装 Prometheus
  1. 下载并解压 Prometheus

    bash 复制代码
    wget https://github.com/prometheus/prometheus/releases/download/v2.47.0/prometheus-2.47.0.linux-amd64.tar.gz
    tar xvfz prometheus-2.47.0.linux-amd64.tar.gz
    cd prometheus-2.47.0.linux-amd64
  2. 配置 Prometheus

    编辑 prometheus.yml 添加 Docker 监控目标:

    yaml 复制代码
    global:
      scrape_interval: 15s  # 数据采集间隔
    
    scrape_configs:
      - job_name: 'prometheus'
        static_configs:
          - targets: ['localhost:9090']
    
      - job_name: 'docker'  # Docker 监控任务
        static_configs:
          - targets: ['localhost:9323']  # 对应 Docker metrics-addr 配置
  3. 启动 Prometheus

    bash 复制代码
    ./prometheus --config.file=prometheus.yml
  4. 验证 Prometheus

    访问 http://localhost:9090,查看状态 → 目标,确保 docker 目标状态为 UP

4.2、安装 Grafana
  1. 添加 Grafana 仓库并安装

    bash 复制代码
    sudo apt-get install -y apt-transport-https software-properties-common
    wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
    echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
    sudo apt-get update
    sudo apt-get install grafana
  2. 启动 Grafana 服务

    bash 复制代码
    sudo systemctl start grafana-server
    sudo systemctl enable grafana-server
  3. 验证 Grafana

    访问 http://localhost:3000,默认用户名 / 密码:admin/admin

4.3、配置 Grafana 数据源与仪表盘
  1. 添加 Prometheus 数据源
  2. 登录 Grafana,导航至 配置 → 数据源 → 添加数据源
  3. 选择 Prometheus
    URL: http://localhost:9090
  4. 点击 "保存并测试"
  5. 导入 Docker 监控仪表盘
  6. 导航至 仪表盘 → 管理 → 导入
  7. 输入仪表盘 ID: 11332 (Docker 综合监控) 或 893 (Docker 详细监控)
    选择 Prometheus 数据源
  8. 点击 "导入"
4.4、高级配置:持久化与服务化
  1. 创建 Prometheus 服务文件

    bash 复制代码
    sudo tee /etc/systemd/system/prometheus.service <<EOF
    [Unit]
    Description=Prometheus
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    User=prometheus
    Group=prometheus
    Type=simple
    ExecStart=/usr/local/bin/prometheus \
      --config.file=/etc/prometheus/prometheus.yml \
      --storage.tsdb.path=/var/lib/prometheus/ \
      --web.console.templates=/etc/prometheus/consoles \
      --web.console.libraries=/etc/prometheus/console_libraries
    
    [Install]
    WantedBy=multi-user.target
    EOF
  2. 创建数据目录并设置权限

    bash 复制代码
    sudo mkdir -p /etc/prometheus /var/lib/prometheus
    sudo cp prometheus.yml /etc/prometheus/
    sudo useradd -rs /bin/false prometheus
    sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus
  3. 启动并验证服务

    bash 复制代码
    sudo systemctl daemon-reload
    sudo systemctl start prometheus
    sudo systemctl enable prometheus
4.5、关键监控指标说明
  1. 导入的仪表盘通常包含以下核心监控板块:
  2. 容器概览
  3. 运行中 / 暂停 / 停止的容器数量
  4. 容器创建 / 启动 / 停止操作频率
  5. 资源使用
  6. CPU 使用率(系统 / 容器)
  7. 内存使用率(总内存 / 容器内存)
  8. 网络流量(入站 / 出站)
  9. 磁盘 I/O 速率
  10. 性能分析
  11. 容器启动耗时分布
  12. 镜像拉取 / 构建时间
  13. 服务响应延迟
相关推荐
IT策士2 小时前
第49篇 k8s之服务网格入门:Istio 简介
容器·kubernetes·istio
维度攻城狮3 小时前
在Vscode连接的Docker容器中使用codex,并配置DeepSeek模型
vscode·docker·codex
l1t6 小时前
DeepSeek总结的使用 Docker 对 PostgreSQL 进行 Beta 测试
docker·postgresql·容器
暮云星影11 小时前
个人总结 docker 常用命令
docker·容器
极客先躯12 小时前
高级java每日一道面试题-2026年01月19日-实战篇[Docker]-如何配置镜像仓库的垃圾回收 (GC)?
java·运维·docker·容器
日取其半万世不竭13 小时前
low-memory-server-swap-20260601
docker·容器·https
暮云星影13 小时前
个人总结 docker搭建PDF操作工具
docker·容器·pdf
zhoupenghui16813 小时前
AI大模型应用部署之Flask框架使用
运维·python·docker·容器·flask·flask框架
kishu_iOS&AI14 小时前
Mac —— Docker Desktop(Milvus和Redis)部署
redis·docker·milvus