Temporal + Grafana Grafana+ ClickHouse ClickHouse+ Prometheus Prometheus + S3+ Docker+ OpenTelemetry+ Gigapipe+ Loki

一套自托管可观测性栈,兼容 Loki/Prometheus/Tempo/Pyroscope API,统一存查日志、指标、追踪与剖析

gigapipe 独立实现各原生 API,数据存 ClickHouse/S3,Grafana 原生数据源直连无需插件

✓ Grafana 原生兼容无需插件✓ 无需改 OpenTelemetry 埋点 ✕ README 未给完整部署配置细节

方案简介

Gigapipe(前身 qryn)是一个轻量、多标准、多语言的可观测性一体化栈,统一接收并存储 日志、指标、追踪和性能剖析 四类数据。它的核心价值在于 drop-in 兼容 Loki、Prometheus、Tempo、Pyroscope 的 API 与查询语言(LogQL、PromQL、TempoQL),因此任何这些系统的现有客户端都可以开箱即用地对接,无需修改 OpenTelemetry 埋点,也不需要中间代理。数据底层由 ClickHouse、DuckDB 或 GigAPI 配合 S3 对象存储承载,使用者完全掌控数据,是对厂商锁定型可观测性方案的开源替代。适合希望自建统一可观测性平台、同时保留 Grafana 生态习惯的团队。

亮点与能力

  • Polyglot:一体化,drop-in 兼容 Loki、Prometheus、Tempo、Pyroscope
  • Familiar:使用稳定流行的 LogQL、PromQL、TempoQL 查询与可视化数据
  • Voracious:支持 OpenTelemetry、Loki、Prometheus、Tempo、Influx、Datadog、Elastic 等多种格式摄入
  • Versatile:内置 Explorer 与 CLI 探索数据,或通过原生 Grafana 数据源兼容
  • Secure:使用 ClickHouse、DuckDB 或 GigAPI 配合 S3 对象存储,完全掌控数据
  • Independent:开源、社区驱动、反锁定的替代方案
  • 支持 TraceQL Metrics,从追踪数据直接计算错误率、延迟分布与吞吐
  • 支持 OTLP profiles 信号摄入(profiles/v1development

组成与分工

  • Gigapipe:核心服务,独立实现 Loki/Prometheus/Tempo/Pyroscope 的 API、协议与查询语言,统一接收与查询
  • ClickHouse / DuckDB / GigAPI:底层数据存储引擎,保存日志、指标、追踪等数据
  • S3:对象存储,承载数据留存
  • Grafana:原生数据源直连,浏览与可视化日志、指标、追踪,无需插件
  • OpenTelemetry:官方集成的采集端,支持任意日志、追踪或指标格式,无需修改埋点
  • Pyroscope SDK:持续剖析数据的客户端来源

前置要求

  • gigapipe 开源版部署(README 提供配置与 Docker 快速上手文档)
  • 可选存储后端之一:ClickHouse、DuckDB 或 GigAPI,并配合 S3 对象存储
  • 可选:Grafana 用于可视化;OpenTelemetry Collector 用于采集
  • 环境变量配置详见 docs/configuration.md

实施步骤

1. 部署 gigapipe

按照官方文档的 Configuration & Docker 指引,通过环境变量配置并使用 Docker 部署 gigapipe 开源版。

2. 配置存储后端

选择 ClickHouse、DuckDB 或 GigAPI 之一作为存储引擎,并连接 S3 对象存储,实现数据自主掌控。

3. 接入数据源

  • 使用 OpenTelemetry Collector 官方集成摄入任意日志、追踪或指标格式,无需修改埋点
  • 或直接使用原生 API 推送 Loki、Prometheus、Tempo/Zipkin、Pyroscope 等协议数据,无需中间代理
  • OTLP 指标经 /v1/metrics(protobuf + JSON)摄入,profiles 经 /v1development/profiles 摄入,追踪等经 OTLP/gRPC 接收器

4. 查询与可视化

用 Grafana 的 Loki、Prometheus、Tempo 原生数据源连接 gigapipe,使用 LogQL、PromQL、TraceQL 查询;也可使用内置 Explorer 与 CLI。

使用与配置要点

查询日志

Grafana Loki 数据源可原生浏览和查询日志并展示提取的时间序列,支持索引统计接口:

GET /loki/api/v1/index/stats?query={job="app"}&start=&end=

增强实时尾随

Tail 服务支持 limitstart 参数,WebSocket 响应包含 dropped_entries 字段提示背压丢弃。

TraceQL Metrics

从追踪数据计算指标,例如:

GET /api/metrics/query_range?q={span.http.status_code=200}&since=1h&step=1m

该查询以 1 分钟分辨率统计过去一小时成功 HTTP 请求的 span 数量。

验证成功

任何 Loki / Prometheus / Tempo 兼容客户端均可开箱即用,即接入即可查询即为验证。

优缺点

  • ✓ Grafana 原生兼容无需插件
  • ✓ 无需改 OpenTelemetry 埋点
  • ✕ README 未给完整部署配置细节

出处

本方案挖掘自开源项目 metrico/gigapipe,方案内容与实施命令均来自其 README 原文。

方案出处
metrico/gigapipe:⭐️ The Open-Source Polyglot Observability Warehouse: Light, Fast, Cloud Native,
1703 star ⭐️ The Open-Source Polyglot Observability Warehouse: Light, Fast, Cloud Native, Drop-in Grafana LGTMP alternative :rocket: Indie All-in-One Opentelemetry, Loki, Prometheus, Tempo, Pyroscope On-Prem Al

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。