常见问题与故障排除
快速自检:curl -s http://<bell>:9080/healthz(存活 + 版本)——不通先看服务进程与端口,通了再往下对号入座。
安装与登录
Q:全新实例打开是登录墙,设不了密码?
v0.1.0–v0.1.2 存在已知缺陷:首装设密页无法出现(API 侧 GET 携带空请求体被浏览器拒绝)。升级到包含修复的版本即可;旧版本可用 CLI 过渡:./mibee-bell hash-password 生成哈希填入 config.yaml auth.password_hash 后重启。
Q:忘记管理员密码?
服务器上 ./mibee-bell hash-password 按提示输入新密码,把输出的 bcrypt 哈希填入 config.yaml auth.password_hash 后重启。
Q:密码明明对了却一直登录失败? 同一客户端连续 5 次失败会锁定 15 分钟(锁定期内正确密码也拒绝)——常见于自动重试脚本在密码修改后持续砸门。停掉重试、等锁定期满。
Q:飞牛桌面能进,直连端口为什么要密码?
飞牛桌面走网关身份单点;直连 :9080 是独立鉴权路径,用本地管理密码。
通知链路
Q:事件发出去了(202),通知中心没看到?
①确认令牌没被删(删除即时生效,再发即 404);②看路由规则是否存在匹配规则且已启用——事件的 source 来自摄取令牌绑定的默认来源,与 payload 无关;③warning 及以下事件受「持续 N 点」过滤:同一去重键 10 分钟内出现 ≥3 次才通知(error/critical 直通),低频巡检类来源把规则「持续点数」设为 1。
Q:同一告警反复轰炸?
发送端每次 source_ref 不一致会导致去重键不同——固定 source_ref 或显式传 dedup_key;再配合调大规则冷却秒数。
Q:恢复事件没有和故障配对?
恢复事件必须与故障事件同 dedup_key(默认 source/type/source_ref),否则会被当作独立事件。
Q:渠道一直投递失败? 渠道页点「发送测试」立即复现并看错误信息:webhook 地址/凭证过期、出站网络不通、渠道限频、代理配置错误是四大根因;投递明细(点开通知展开)有每次尝试的响应码与错误摘要。
Q:夜间不想被吵?
两种姿势:通知上按 dedup_key 一键静默(30 分钟~24 小时);或建静默窗口规则 {"cron":"23:00-06:00"} 每日时间窗(支持跨午夜)。
AI 与高级
Q:AI 摘要时有时无? 设置 → AI 与预算 → AI 运行健康卡:云端 L2 受每日预算(默认 100 次/天)与熔断保护,触顶/熔断期间通知照发但缺摘要;预算按自然日重置。本地内嵌模型(L1)无预算概念、不连外部服务。
Q:AI 会不会丢我的告警? 默认不会——AI 只做摘要/打标/分诊;能让 AI「拦」告警的管道介入(抑制/聚合/分发)默认完全关闭,且要求先在观察模式(只记录不执行)验证准确率后再手动开启,且 AI 故障自动旁路放行。
Q:实时徽标变灰 / 数据流图不动?
SSE 断开。最常见原因是反向代理缓冲了事件流——对 /api/stream 关闭缓冲(nginx proxy_buffering off)。断线会自动重连续传,超过缓冲窗口(512 条)的数据刷新页面即可。
Q:升级会丢数据吗? 不会。配置与 SQLite 数据库在数据目录,升级自动保留;数据库迁移只增不改。升级前照常备份(拷 config.yaml + bell.db),详细步骤见部署。
还没解决?
- 反馈问题时请附:版本串(
/healthz)、相关日志行(脱敏后)、一条最小复现事件。