本篇文章使用的是centos7.2009版本,只有docker和docker-compose安装过程 依据服务器版本不同安装不同,监控项目可直接使用
安装docker
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y yum-utils
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable docker
sudo systemctl start docker
安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose version
Docker Compose version v2.2.2
监控项目部署
unzip dashboard-project.zip -d /opt/
cd /opt/dashboard-project/
#导入nginx镜像
docker load -i nginx.tar
#查看镜像id,给导入的镜像打标签
docker tag 6769 nginx:1.27-alpine
docker load -i node.tar
docker tag ee77 node:18-alpine
#编辑配置文件
[root@chang dashboard-project]# cat .env
# ===== 登录账号 =====
DASHBOARD_USER=rangrang
DASHBOARD_PASS=rangrang20240601
DASHBOARD_SECRET=some-long-random-secret
# ===== 主机标识(会显示在仪表盘 & 告警邮件里)=====
DASHBOARD_HOSTNAME=chang
# ===== 邮件 SMTP 配置(以 QQ 邮箱为例)=====
ALERT_SMTP_HOST=smtp.qq.com
ALERT_SMTP_PORT=465
ALERT_SMTP_SECURE=true
ALERT_SMTP_USER=xxx@qq.com
ALERT_SMTP_PASS=邮箱授权码
ALERT_FROM=xxx@qq.com
ALERT_TO=xxx@qq.com
# ===== 告警参数 =====
ALERT_CPU_THRESHOLD=90 # CPU 告警阈值:90%
ALERT_CPU_DURATION_MIN=10 # 连续 10 分钟
ALERT_CPU_INTERVAL_SEC=60 # 每 60 秒采样一次
ALERT_COOLDOWN_MIN=30 # 同一类告警冷却 30 分钟发一次
# 需要重点监控的容器名关键字(包含匹配)
ALERT_WATCH_CONTAINERS=dashboard-frontend,dashboard-backend,wordpress_db,caddy,portainer,wordpress
#启动
docker-compose up -d --build
[root@chang dashboard-project]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8d6c40dcb89a dashboard-project_dashboard-frontend "/docker-entrypoint.…" 52 seconds ago Up 50 seconds 0.0.0.0:7000->80/tcp, :::7000->80/tcp dashboard-frontend
28bdbaa21ab6 dashboard-project_dashboard-backend "docker-entrypoint.s…" 52 seconds ago Up 51 seconds 0.0.0.0:7001->7001/tcp, :::7001->7001/tcp dashboard-backend
[root@chang dashboard-project]# docker logs dashboard-backend
[alert] SMTP 已配置,启用邮件告警
[alert] CPU 告警未启用(未配置 SMTP 或阈值 <= 0)
[alert] 容器告警监控启动,监控列表: dashboard-frontend, dashboard-backend, wordpress_db, caddy, portainer, wordpress
Backend running on http://0.0.0.0:7001
浏览器访问
账户密码 在.env文件里定义


以上是监控的部署过程。
Docker 运维监控 Web 应用 目前具备以下功能:
🖥 宿主机监控
- 实时监控 宿主机 CPU 使用率
- 实时监控 内存使用情况
- 展示 网络流量 相关数据(如各网卡的收发流量)
🐳 容器管理与监控
- 列出当前宿主机上所有 Docker 容器及其状态
- 对容器支持一键操作:
- 启动容器
- 停止容器
- 重启容器
- 支持查看:
- 容器的 运行日志
- 容器的 运行详情(CPU、内存、网络等)
📡 告警功能(邮件告警)
持续监控宿主机 CPU 负载:
当 CPU 使用率持续 10 分钟超过 90% 时,自动发送邮件告警
持续监控容器运行状态:
当被监控的容器 状态不为 running(如 exited、异常退出等)时,自动发送邮件告警