个人总结 搭建Docker监控

监控 Docker系统

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

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

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. 服务响应延迟
相关推荐
余槐i2 小时前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
csdn_aspnet3 小时前
如何在本地 Docker 容器中运行 Redis,并使用 Redis Insight 和 Redis CLI 进行管理
redis·docker·容器
且从容.3 小时前
Ubuntu 安装 Docker
linux·ubuntu·docker
todoitbo4 小时前
我在 Mac 上用 Docker 部署 Nexent:从拉取镜像到接入模型
macos·docker·大模型·ai智能体·nexent·快速入门与环境准备
Goboy5 小时前
夯爆了,我被一个一句话接入的免费可观测平台策反了,那一刻我决定放弃用了3年的Prometheus
后端·docker·kubernetes
吴声子夜歌5 小时前
Kubernetes权威指南——深入掌握Service(一)
云原生·容器·kubernetes
java_logo15 小时前
Docker 部署 Liquibase:轻松搭建数据库变更管理
数据库·docker·容器·数据库管理·liquibase·轩辕镜像·数据库变更
IT利刃出鞘1 天前
Docker Compose--解决修改配置后不生效的问题
运维·docker·容器
java_logo1 天前
Docker 部署 CloudBeaver:轻松搭建网页数据库管理平台
数据库·docker·容器·数据库管理·dbeaver·轩辕镜像·cloudbeaver
Lsetea1 天前
Docker更新SSL证书后容器仍读旧文件:单文件挂载与目录挂载排查
运维·nginx·docker·https·ssl证书