shirainbown
|
af306c183c
|
fix: 防止 SSH 系统信息同步覆盖自定义主机名,优化 Debian 12 兼容性
核心修复:
- 后端 SyncSSH 接口彻底移除 hostname 字段更新,仅保留 os_version、cpu_info、
memory_info、disk_info、uptime、listen_ports 的系统信息同步。
- 前端 MachineDetail.vue 在 openSSH(自动获取)和 fetchSSH(手动输入密码)
两条路径均增加 delete syncData.hostname 保护,确保即使误传也不会覆盖。
- 重新编译后端二进制并重启服务,解决了旧二进制残留 hostname 更新逻辑的问题。
SSH 采集兼容性优化(server/services/ssh.go):
- CPU:将复杂 shell 脚本改为 Go 层两次读取 /proc/stat 并计算利用率,避免
Debian 12 dash 对引号嵌套解析失败。
- 内存:改用 /proc/meminfo 替代 free -m,兼容最小化/容器环境。
- 磁盘:简化 df -hP 过滤,仅保留真实块设备( ~ /^/dev/)。
- 端口:增加 ss → netstat → /proc/net/tcp 三级回退,确保任何 Linux 环境
都能获取监听端口。
- 系统版本:采用 . /etc/os-release && printf '%s\n' 方式,
兼容所有 Linux 发行版。
构建与部署:
- 重新构建前端并更新 server/static/。
- 交叉编译 Linux amd64 二进制并更新 deploy/lan-manager-debian12.tar.gz。
- 恢复数据库中被污染的主机名记录。
|
2026-04-15 02:05:37 +08:00 |
|
shirainbown
|
1a5f5ee3b5
|
feat: 机器离线统计/日志、连通性重试检测与暗黑模式支持
后端更新:
- 在 machines 表新增 offline_count、total_offline_seconds、last_offline_at、last_offline_reason 字段,用于记录机器离线统计信息。
- 新增 offline_logs 表,记录每次离线的开始时间、结束时间、持续时长及离线原因。
- 重写 ping 服务为状态机模式:
– 单台机器依次使用 system ping / ICMP / TCP(SSH端口) 三种方式检测连通性;
– 任意一次成功即视为在线;
– 若一次失败,则会连续重试 3 次(间隔 2 秒),3 次均失败才判定为离线,避免网络抖动导致误判。
– 仅在状态发生 online→offline 或 offline→online 变化时更新 offline_logs 与累计时长。
– 机器按顺序逐个检测,每台间隔 30 秒。
- 新增 API:GET /admin/machines/:id/offline-logs,用于查询最近 50 条离线记录。
- CleanupLogs 增加对 offline_logs 的过期清理。
前端更新:
- 机器详情页(MachineDetail.vue)新增离线统计卡片,展示离线次数、累计离线时长、上次离线原因及最近 5 条离线记录。
- 全局支持暗黑模式:
– App.vue 引入 light/dark CSS 变量,并加载 Element Plus 深色主题(dark/css-vars.css)。
– MainLayout.vue 侧边栏新增主题切换按钮,支持深浅色切换并持久化到 localStorage。
– Topology.vue 监听主题变化,动态重绘 G6 节点/边的颜色、背景与阴影。
– MachineList.vue / MachineDetail.vue 全面适配深色变量(卡片、表格、标签、进度条等)。
- 机器列表卡片 UI 调整:改为顶部 OS 色点 + 在线/离线状态胶囊标签,离线卡片降低透明度并去色。
构建与部署:
- 重新构建前端并打包静态资源。
- 交叉编译 Linux amd64 二进制并更新 deploy/lan-manager-debian12.tar.gz 部署包。
|
2026-04-15 01:34:06 +08:00 |
|
shirainbown
|
80d21f68e4
|
feat: color-code machine cards by OS type and fade offline cards
|
2026-04-15 00:59:13 +08:00 |
|
shirainbown
|
d28aae585f
|
Initial commit: LAN Manager with Go backend and Vue frontend
|
2026-04-15 00:52:25 +08:00 |
|