架构
关键点:日志、指标、追踪落进同一批列式文件(不同的流、同一物理存储),所以一条查询可以原生地在它们之间 join —— 没有跨存储联邦。节点角色
| 角色 | 启动什么 | 状态 |
|---|---|---|
standalone | 同进程内 HTTP API + 所有 worker | — |
router | 反向代理 + 限流 | 无状态 |
ingester | 数据接入 + 预写日志 + 缓冲 + 周期 flush 到列式文件 | 本地日志(≤ flush 窗口) |
querier | 分布式扫描端 + 查询执行 | 无状态 |
compactor | 周期合并文件 + 清理过期数据 | 无状态 |
alert_manager | 规则评估 + 升级派发 | 无状态 |
[node].roles 配置(或 MS_NODE.ROLES)选择。只有 ingester 持有本地状态(flush 窗口内的
WAL),因此其余角色都能自由扩缩。
部署方式
- Docker Compose
- Kubernetes
仓库提供两个 profile:
依赖
- Postgres —— 元数据(
FileMeta、流、告警、身份)。 - 对象存储 ——
local、s3(及 S3 兼容:MinIO、R2、阿里云 OSS)、azure、gcs。
运维
- 单一二进制,所有角色同一镜像。
- Prometheus
/metrics,含丰富的 cache / object_store / ingester / compactor 指标。 - 健康探针 —— readiness 由 ingester WAL 回放加对象存储往返探测共同把关。
- TLS + ACME —— 经
[http.tls]可选自动证书(HTTP-01 challenge,Let’s Encrypt)。