IDEAICU 聚焦 VPS 云服务器评测、AI 工具、自托管部署教程与独立开发实践。

IDEAICU

用 Glances 查看 VPS 当前负载:Docker 部署、进程视图与指标范围

部署 Glances 私人实时监控,辨认宿主与容器指标范围,结合进程、内存和负载排查问题。

文章目录

网站突然响应变慢时,登录服务器以后往往要连续打开几个工具:看 CPU,查内存,找占用高的进程,再观察磁盘和网络。Glances 把这些当前状态集中在一个终端或网页里,适合日常排查时先看全局,再去定位具体服务。

这个入口主要回答“现在发生了什么”。没有另外配置持久导出时,不把它当作长期监控数据库。昨晚的峰值已经过去,今天打开页面看见正常,并不能证明那一段没有出现问题。

Glances 官方 Web 界面示例

官方截图用于说明指标的组织方式,界面版本和插件范围可能不同,图中的数值不属于本文服务器。尤其 Docker 中运行时,需要先理解进程、网络和文件系统各自来自哪一层。

签到攒积分,兑换续期|雨云 · 积分商城 · 云服务器

部署前先确认 VPS 的磁盘、内存和公网访问条件,也可以查看雨云云服务器;注册时填写优惠码 KuZhuJi。

从私人网页入口开始

下面使用包含较完整依赖的官方 latest-full 镜像,启用 Web 模式。共享宿主 PID 命名空间以观察宿主进程,网页端口只发布在回环地址,不启用 privileged,也暂不挂载 Docker Socket。

mkdir -p ~/services/glances
cd ~/services/glances

保存 compose.yaml:

services:
  glances:
    image: nicolargo/glances:latest-full
    pid: host
    environment:
      GLANCES_OPT: "-w"
      TZ: Asia/Shanghai
    ports:
      - "127.0.0.1:61208:61208"
    restart: unless-stopped
docker compose config --quiet
docker compose up -d
docker compose logs --tail=100 glances
ssh -L 16108:127.0.0.1:61208 user@your-server

本机打开 http://127.0.0.1:16108。示例通过 SSH 限制访问,不能把它改成公网监听后仍称为私人监控。监控页面会暴露进程、主机资源及其他运行信息,正式远程入口需要额外认证和 HTTPS。

首次页面打开后,对照宿主机的 ps、free 和 df 看几项已知数据。数值采样时间不完全相同,不能要求每一秒逐项一致,但主机身份、进程范围与文件系统应当解释得通。

PID 共享不代表全部资源都变成宿主视角

pid: host 让进程可见范围扩大,容器的网络和挂载命名空间仍然有自己的边界。这份配置没有使用宿主网络,网络面板不能直接视为完整宿主出口统计;文件系统列表也应对照实际挂载理解。

排查磁盘容量时,宿主机另运行 df -h,确认自己关心的分区。页面显示一个容器挂载空间,不一定就是保存数据库的那块盘。设备、温度与硬件信息在云服务器上也可能根本不可读取,空白不等于传感器故障。

一些功能需要额外设备、依赖或权限。不要为了补齐所有图表直接添加特权模式,把它从观察工具变成获得广泛宿主访问的服务。先判断那项指标是否真的能帮助解决问题,再按官方说明配置具体插件。

Glances 采样、指标范围与排查关系示意

先辨认指标来源,再决定下一步检查。页面看见某个进程占用高,是一条线索;要确定它为什么占用,还需要应用日志、请求情况和任务时间。

准备独立实例时,可在雨云选择适合的云服务器配置,优惠码 KuZhuJi。配置按实际任务选择,数据库和附件另做备份。

CPU 百分比与负载不能混着读

CPU 使用率描述采样间隔内的情况,负载平均值涉及可运行或等待的任务。看到负载升高时,结合虚拟 CPU 数量、进程状态和持续时间判断,不用一个固定数字给所有机器下结论。

单个进程的 CPU 数值还可能按核心合计,展示方式与系统整体百分比不同。先看当前版本说明及页面单位,再比较。多核机器上某个进程显示超过 100%,不一定代表页面错误。

观察数轮变化,比只截一张峰值图更有用。计划任务刚好运行时,CPU 短时升高可以符合预期;如果持续占用、同时请求积压,就进一步查具体进程和应用任务。排查记录里写下时间与当时操作,后面才能对照。

内存先区分缓存和持续增长

Linux 会利用内存做缓存。看见“已用”很多,不要立刻认为应用发生泄漏;结合可用内存、交换空间、进程驻留内存及增长趋势。缓存可回收与进程持续增大是不同情况。

需要判断某服务是否增长时,记录相同条件下的多次观察,特别是处理同类请求前后。一次重启后下降,只能说明重启改变了状态,不能独自证明泄漏原因已经找到。保留应用日志和请求量,继续查长期变化。

交换空间有活动时,检查是否伴随响应变慢、内存压力或磁盘等待。不能只因为配置了 Swap 就推断它在拖慢网站,也不能因为 CPU 空闲就排除内存与 I/O 问题。

签到攒积分,兑换续期|雨云 · 积分商城 · 云服务器

需要增加服务器时,可以打开雨云选购页面,填写优惠码 KuZhuJi;迁移前保留数据与原有部署配置。

容器指标按需要再接入

想查看 Docker 容器信息时,官方示例会挂载 /var/run/docker.sock。Rootless Docker 或 Podman 的路径和连接方式不同,使用自己实际运行的接口,不照抄一条不存在的路径。

Docker Socket 即使标了 :ro,也不会把通过 Socket 调用的 API 自动限制为只读。是否接入、谁能访问 Glances、如何保护实例,需要一起考虑。仅为了看到几个容器指标,不宜把接口暴露到公网上。

接入后选择一个已知容器,对照 docker stats 和页面检查。宿主进程与容器进程之间可能有重叠,不把两块面板里的数据简单相加;采样频率和计数方式也要先理解。

排查记录需要留在页面之外

Glances 的实时页面方便观察,正式事故记录仍应包含时间、受影响服务、当时任务与后续动作。截图能保留一刻状态,但不能补出发生前后的过程。需要历史趋势时,再配置适合的监控存储或导出方案。

如果以后启用导出插件,先确认目标存储能够接收数据、字段与时间正常,再谈保留周期。容器 running、页面有数字和历史数据库成功写入,是三个不同检查点。

本例没有业务持久目录,恢复主要保留 Compose 与使用的镜像标识;添加自定义配置、认证文件或导出凭据后,一并保存到受保护的外部副本。升级时先重建测试实例,对照进程、主要指标和实际接口,再替换正式观察入口。

继续阅读 · 自托管 返回顶部