00 / 06 · OBSERVE
观测窗
看到的,就是测到的。
- 设备未提供的传感器显示为空
- 首次尚无差分基线时标为不可用
- 暂时失败的结果标注「N 秒前」
不以零冒充,也不阻塞设备上线。
§ 01 · 剖面
观测单元 GL-01 是为观澜设计的一件虚构仪器:每一层对应观澜实际采集的一类硬件,最上层是观测窗。向下滚动,逐层剖开。

00 / 06 · OBSERVE
看到的,就是测到的。
不以零冒充,也不阻塞设备上线。
01 / 06 · FAN
每一只风扇单独成列。
主板或驱动未暴露转速时,对应读数留空。
02 / 06 · GPU
负载、编解码、频率、显存、核心温度。
测试版 v3.0.158 起,实时进程列表增加进程级 GPU 占用。
03 / 06 · CPU
使用率、频率与温度。
04 / 06 · MEMORY
物理内存与已提交内存。
05 / 06 · STORAGE
驱动器、挂载点与 I/O。
单个缺失的磁盘容量不会把整台机器的容量清零。
06 / 06 · NETWORK
物理网卡吞吐与流量日历。
§ 02 · 数据流
Agent 在每台设备上采集并上报,中枢负责汇聚与保存,客户端只和中枢对话。链路断开时,样本先留在设备上,恢复后补传。
设备 · Agent
中枢 · Docker Compose
终端
示意动画:断开后样本在设备本地排队,恢复后按顺序补传;无法恢复的样本会被隔离,不阻塞队列。
COLLECT
安装包注册机器级 guanlan-agent 服务(Windows 服务,Linux systemd 系统单元),开机即采集,无需登录。快速指标不等待慢探针;温度、风扇、GPU 等慢采集带实际采集时间。
AGGREGATE
中枢以 Docker Compose 部署在你的服务器上:Redis 保存短窗口序列,MySQL 保存分钟与小时历史。所有客户端和 Agent 使用同一个公开入口(默认端口 38472)。
VIEW
Web、Windows、GNOME Linux 与 Android 共用一个访问密钥。设备详情可在实时、5 分钟、1 小时、6 小时、24 小时与 7 天之间切换。
§ 03 · 实时查看 测试版
设备详情页展开「实时」后,按 1 / 2 / 5 秒间隔查询快速指标、进程与 Docker 容器。它走一条独立的设备双向连接,不把数据库里的「在线」当作可达依据,每秒的数据也不写入历史库。
最近两分钟的设备实时数据,直接来自设备,不写入历史。
—
| 进程 | PID | 线程 |
|---|
只读:本机 Engine API 的容器列表与单次 stats;CPU 按单核口径,可超过 100%。
| 容器 | 状态 | CPU | 内存 | 网络 ↓ / ↑ |
|---|
§ 04 · 终端
Browser
Windows
Linux
Android
同一个公开入口
所有客户端和 Agent 都使用同一个中枢地址。默认建议 HTTPS;不要把 Docker 容器内部的 4000 端口填入客户端。
§ 05 · 无人值守
& "DeviceStateConsole-Windows-Setup-vX.Y.Z.exe" /S `
/HUB="https://hub.example.com" /KEY="<ACCESS_KEY>" `
/DEVICE=node-01 /HOSTNAME="节点01" /VERIFY=120sudo GUANLAN_HUB=https://hub.example.com GUANLAN_KEY="$KEY" GUANLAN_DEVICE_ID=node-01 \
apt-get install -y ./DeviceStateConsole-Linux-Install-vX.Y.Z.deb
sudo guanlan-agent wait-for-upload --timeout 120 # 退出码 0 表示已确认上报命令取自产品 README;把 X.Y.Z 换成 Releases 中的版本号,hub.example.com 换成你的中枢地址。
随包发布的 guanlan-agent 命令
卸载默认保留机器级配置;只有 --purge(deb)或 /REMOVECONFIG(Windows)才删除。
§ 06 · 中枢
Docker Compose 默认只拉取 GitHub Container Registry 中已发布的镜像,不从源码构建。生产环境使用固定版本或不可变 digest,并通过 TLS 反向代理访问控制台。
准备配置
cp .env.example .env至少修改 SESSION_SECRET、ACCESS_KEY、MYSQL_ROOT_PASSWORD、MYSQL_PASSWORD、REDIS_PASSWORD,并为 REDIS_URL 配置相同的认证密码。
拉取并启动
DSC_VERSION=<版本号> docker compose pull
DSC_VERSION=<版本号> docker compose up -d接入设备
在各客户端与 Agent 中填写同一个入口,例如 https://服务器域名:38472。
docker-compose.yml · 4 services
§ 07 · 边界
01 · KEY
访问密钥只通过 --key-stdin 或 --key-file 传入,不会出现在进程参数里;status、export 与诊断输出全部脱敏。
02 · TLS
SESSION_COOKIE_SECURE 与 AGENT_REQUIRE_HTTPS 默认开启。只有在明确受信的网络里,才由部署参数改用 HTTP。
03 · IDENTITY
实时通道为每台设备登记独立密钥,中枢只保存哈希;另一个安装实例不能覆盖同名设备。
04 · RATE
统一凭证层对所有鉴权失败做频率限制与防爆破,覆盖控制台路由与 Agent 上报入口。
05 · DOCKER
只读取本机 Engine API;DOCKER_HOST 只接受本地 unix:// 或 npipe://,不跟随重定向,也不提供启停、日志或 exec。
06 · TRUTH
设备、硬件或驱动未提供的传感器显示为空;首次尚无差分基线时标为不可用。观澜不以零冒充测量值。
§ 08 · 开始
测试版通道 · v3.0.158 · 2026-10-17
当前发布均为 GitHub prerelease(测试版通道),产品说明不建议直接用于生产部署。