CoolFace
Apppublic

pjpjq/daili-usage-keeper

sourceHugging Faceupdated 13d agoView on Hugging Face
0likes
App README

HF 长期 Loki(简化方案)

Space 运行单实例 Loki 3.5.1。Loki 的 chunks 与已 ship 的 TSDB index 写入 HF Storage Bucket 挂载 /data/loki;WAL、active index、cache、compactor 工作目录全部位于本地 /tmp/loki。不使用 journal、GenerationJournal、migration、checkpoint、verifier 或 GC。

Secrets

仅配置 LOKI_BASIC_AUTH_USERLOKI_BASIC_AUTH_PASSWORD(以及 Space 运行所需的 HF_TOKEN,若平台要求)。不要提交凭据。Bucket 通过 Space Volume 挂载到 /data/loki,新建空 bucket/prefix 后直接使用。

链路与边界

VM logs → Alloy(本地 WAL + 长时间重试)→ Caddy → gateway(校验并代理)→ Loki → HF Bucket chunks/index。Alloy 同时保留 Grafana Cloud Loki 写入。gateway 只有在 Loki 返回 2xx 时才向 Alloy 返回 204;HF Space 短暂不可用时由 Alloy WAL 补发。接受 Loki 已返回 2xx 但硬崩溃发生在 chunk flush 前的极小丢失窗口;不把 /flush 204 当作持久化证明。

Loki retention_period: 0s,因此 HF Bucket 是长期历史 source of truth。Space 重启后本地 WAL/active index 会重建,但已写入 Bucket 的 chunks/index 继续可查询。不要把 WAL 或 active index 放到 HF FUSE 卷。

上线步骤

  1. 1.创建新的 HF Storage Bucket,并以 read-write Volume 挂载到 /data/loki
  2. 2.部署本目录到 pjpjq/daili-usage-keeper,确认 /ready 返回 200。
  3. 3.Grafana 新增 Loki datasource:https://pjpjq-daili-usage-keeper.hf.space,保留现有 Cloud datasource。
  4. 4.推送一条带 machine_id/app/level labels 的日志,分别在 Cloud 与 HF 查询;重启 Space 后再次查询,确认 Bucket 中出现 chunks/tsdb-index/

回滚

恢复 Space 到上一个稳定 commit 或停用 HF Alloy destination;Grafana Cloud 链路无需改动。不要删除 Bucket,除非确认不再需要历史。