个人总结 搭建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. 服务响应延迟
相关推荐
Patrick_Wilson3 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
SRETalk3 天前
Zabbix、Prometheus、Grafana、Nightingale,四个监控如何选型?
zabbix·grafana·prometheus·nightingale
Suroy4 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭4 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩5 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵6 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1116 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽7 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康9 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
虚无境11 天前
如何编写一个SpringBoot项目告警推送的Starter
java·prometheus·webhook