个人总结 搭建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. 服务响应延迟
相关推荐
修罗王12 小时前
Linux Docker 服务管理与排查实战指南(新手速查版)
运维·docker
云川之下14 小时前
【k8s】NAD(NetworkAttachmentDefinition)与SR‑IOV‑Operator 关系
云原生·容器·kubernetes
张龙68714 小时前
Docker 镜像瘦身实战:从 1.2GB 到 128MB,我踩过的 7 个坑和一套可复制的方法论
运维·后端·docker
杨浦老苏16 小时前
开源堡垒机 Warpgate:一个容器搞定 SSH、MySQL 和 Web 访问
运维·docker·ssh·堡垒机·群晖
ERD Online16 小时前
docker-compose 一键部署的 MIT 开源数据库建模平台
数据库·docker·开源
ZzzZZzzzZZZzzzz…17 小时前
K8S实战:NFS+StorageClass+PV/PVC+Deployment
运维·云原生·容器·kubernetes·storageclass·linux运维·持久卷
三言老师17 小时前
CentOS7.9 + Kubernetes 1.18.20 -清理所有 docker / containerd 残留
docker·容器·kubernetes
凤山老林17 小时前
可观测性落地:Spring Boot 3.x + Actuator + Prometheus + Grafana 监控体系搭建
spring boot·grafana·prometheus
circuitsosk18 小时前
从Docker到Kubernetes:AI应用服务化与弹性伸缩的落地实践
人工智能·docker·kubernetes·ai应用部署
showyoui19 小时前
K8s 集群迁移踩坑:Istio 升级后 nginx 403
网络·docker·kubernetes·istio·service_mesh