53 lines
3.0 KiB
Bash
Executable File
53 lines
3.0 KiB
Bash
Executable File
#!/bin/bash
|
||
# 优化后观察数据采集(2026-09-05 建立,post-optimize 周观察)
|
||
# 覆盖待观察项:
|
||
# 1. LanceDB 膨胀速率(周 VACUUM 是否够用,2-3 周后决定频率)
|
||
# 2. 104 bge 稳定性(connection 污染是否复发 → proxy 降级次数)
|
||
# 3. consolidate distill 在 compact 后文件上的健康(journal 错误)
|
||
# 4. CBM 周日首跑状态
|
||
# 5. 磁盘趋势
|
||
# 输出结构化数据供 agent 分析投递。静默采集,无输出逻辑由 agent 判断。
|
||
export XDG_RUNTIME_DIR=/run/user/$(id -u)
|
||
echo "=== 观察时间 $(date '+%F %T') ==="
|
||
|
||
echo ""
|
||
echo "── 1. LanceDB 体积与版本趋势 ──"
|
||
for t in memories episodes; do
|
||
d=$(du -sh /var/lib/memoryweave/${t}.lance 2>/dev/null | cut -f1)
|
||
v=$(ls /var/lib/memoryweave/${t}.lance/_versions/ 2>/dev/null | wc -l)
|
||
rows=$(ls /var/lib/memoryweave/${t}.lance/*.lance 2>/dev/null | head -0; echo "?")
|
||
echo " ${t}.lance: ${d} / ${v} 版本"
|
||
done
|
||
echo " memoryweave 总量: $(du -sh /var/lib/memoryweave 2>/dev/null | cut -f1)"
|
||
echo " 最近 VACUUM(lance-vacuum.log 尾部 6 行):"
|
||
tail -6 /home/muc/.logs/lance-vacuum.log 2>/dev/null | sed 's/^/ /'
|
||
|
||
echo ""
|
||
echo "── 2. 104 bge 链路稳定性(proxy 降级统计)──"
|
||
total_fail=$(grep -c '远端 embedding 实发失败' /tmp/bge_proxy.log 2>/dev/null || echo 0)
|
||
last_fail=$(grep '远端 embedding 实发失败' /tmp/bge_proxy.log 2>/dev/null | tail -1 | awk '{print $2, $3}')
|
||
cur_route=$(curl -s -m 8 -o /dev/null -D - -X POST http://127.0.0.1:8000/v1/embeddings -H 'Content-Type: application/json' -d '{"input":["observe"],"model":"bge-m3"}' 2>/dev/null | grep -i X-BGE-Proxy | tr -d '\r')
|
||
echo " 累计降级次数(自proxy起): ${total_fail}"
|
||
echo " 最近一次降级: ${last_fail:-无}"
|
||
echo " 当前选路: ${cur_route:-未知}"
|
||
echo " bge-embed(8001): $(systemctl --user is-active bge-embed.service 2>/dev/null || echo inactive)"
|
||
|
||
echo ""
|
||
echo "── 3. consolidate distill 健康 ──"
|
||
con_err=$(journalctl --user -u zhiyi-consolidate --since "7 days ago" 2>/dev/null | grep -ciE 'error|panic|fatal' || echo 0)
|
||
con_state=$(systemctl --user is-active zhiyi-consolidate.service 2>/dev/null || echo down)
|
||
zhi_err=$(journalctl --user -u zhiyid --since "7 days ago" 2>/dev/null | grep -ciE 'error|panic|fatal' || echo 0)
|
||
zhi_state=$(systemctl --user is-active zhiyid.service 2>/dev/null || echo down)
|
||
echo " consolidate: ${con_state} (7d 错误 ${con_err})"
|
||
echo " zhiyid: ${zhi_state} (7d 错误 ${zhi_err})"
|
||
echo " consolidate RSS: $(ps -o rss= -p $(pgrep -f zhiyi-consolidate | head -1) 2>/dev/null | awk '{printf "%.0fMB", $1/1024}')"
|
||
|
||
echo ""
|
||
echo "── 4. CBM 周日索引状态 ──"
|
||
echo " 最近 CBM cron 运行: $(journalctl --user -u hermes-gateway --since '7 days ago' 2>/dev/null | grep -i cbm | tail -1 | cut -c1-80 || echo 无记录)"
|
||
|
||
echo ""
|
||
echo "── 5. 磁盘趋势 ──"
|
||
df -h / | tail -1
|
||
echo " backup/快照目录: $(du -sh ~/.hermes/snapshots ~/.hermes/backups /home/muc/.memoryweave* 2>/dev/null | sort -rh | head -3 | tr '\n' ' ')"
|