Skip to content

故障排查 ​

机器一直显示离线 ​

按这个顺序查:

bash
systemctl status pulse-agent              # 服务在跑吗
journalctl -u pulse-agent -n 30           # 日志说了什么

日志里常见的几种:

报错原因
401 Unauthorizedtoken 不对。多半是后台重新生成过安装命令 —— 重装一次
连接… 失败Server 地址不通。检查防火墙、PULSE_PUBLIC_URL 设对没有
invalid peer certificateServer 用了自签证书。见配置 → 自签证书
CaUsedAsEndEntity你给的是 CA 证书,不是服务器证书

Server 起不来,报 migration 被改过 ​

migration N was previously applied but has been modified

已发布的迁移文件被改动了。 sqlx 对每个文件算校验和记在库里,改一个字节(连注释也算) 已部署的实例就全起不来。

把迁移文件恢复原样即可。如果是自己改的 schema,正确做法是新增一个迁移文件。

硬盘用量和 df 对不上 ​

不会。用的口径和 df 完全一致:已用 = 总块数 − 空闲块数,总量 = 已用 + 可用块数。

ext4 默认给 root 预留 5%,早期版本把这部分算成了已用,导致数字偏大 —— 已经修了。

数据库会不会太大 ​

分层存储,自动上卷和清理:

层粒度保留
分钟表1 分钟7 天
小时表1 小时13 个月

200 台机器跑满一年约 2 GB。

支持多少台机器 ​

设计目标是 50 ~ 200 台。

再多的话目前没有现成方案 —— 存储只有 SQLite 一个实现。拆成多个 Server 实例分组管理是可行的做法。

Agent 占多少资源 ​

实测:2.4 MB 二进制、 4 MB 内存、 80 分钟约 1 秒 CPU 时间。

能不能不用 sudo 装 ​

Linux 上不行 —— 要写 systemd unit 和建专用用户。但装完之后是非特权运行的。

macOS 上装成用户级 launchd agent,不需要 root。

忘记管理员密码 ​

停掉面板,用环境变量重设:

bash
PULSE_ADMIN_PASSWORD='新密码' ./pulse-server   # 库里已有管理员时不生效,需先删掉旧记录

只在管理员不存在时生效。已存在的话,直接改数据库里的 admin_user 表。

Server 挂了会丢数据吗 ​

不会,但会有空缺。指标每分钟落盘一次, Server 崩溃最多丢最近一分钟的实时数据。

Agent 不缓存断线期间的采样 —— 断开到重连之间的那段在图上是空的。 补一段来历不明的数据比留一个诚实的空缺更糟,而且空缺本身也是信息: 那段时间这台机器联系不上。

能自定义主题吗 ​

目前只有深浅两色(跟随系统,也可手动切)。配色都在 CSS 变量里,改起来不难。

基于 MIT 许可发布