自托管的可观测性后端,接收日志、指标、链路追踪和性能剖析数据,并兼容 Loki、Prometheus、Tempo、Pyroscope 的 API。
GreptimeTeam/greptimedb
开源可观测性数据库,在对象存储上用同一列式引擎统一存储指标、日志和链路追踪,支持 SQL 和 PromQL 查询。
- Star
- 6,751
- Fork
- 570
- 未关闭 Issue
- 326
- 最近提交
- 6小时前
这是什么?
GreptimeDB 是一个可观测性数据库,将指标、日志和链路追踪统一存放在对象存储上的列式引擎中。三类数据共用由标签、时间戳和字段组成的同一张表模型,只要带有服务名、主机或 trace ID 等公共标识,就能直接用 SQL 关联查询,无需在多个系统之间搬运数据。
它支持通过 OpenTelemetry(OTLP)、Prometheus Remote Write、Loki Push、Elasticsearch Bulk、InfluxDB 行协议和 gRPC 写入数据,查询可使用 SQL 或 PromQL,也兼容 Jaeger 链路查询以及 MySQL、PostgreSQL 协议。存储可接入 S3、GCS、Azure Blob 及兼容 S3 的端点,并配有内存和本地磁盘缓存。
项目既可以作为单个二进制文件以单机模式运行,也可以拆分为 frontend、datanode、metasrv 等组件以分布式方式部署。Apache-2.0 版本已包含数据保留策略、降采样、持续聚合和多种索引;只读副本和负载隔离等功能属于企业版。
核心功能
- 01将指标、日志和链路追踪统一存放在 S3、GCS、Azure Blob 或兼容 S3 的对象存储中。
- 02支持通过 OpenTelemetry、Prometheus Remote Write、Loki Push、Elasticsearch Bulk 和 InfluxDB 行协议写入数据。
- 03所有信号均可用 SQL 查询,指标也支持 PromQL。
- 04通过 trace_id、服务名等共享标签对不同信号做 JOIN 关联。
- 05内置数据保留策略、降采样和持续聚合。
- 06提供单机和分布式两种部署模式。
适用场景
- 用单一后端替代 Prometheus、Loki 和 Tempo 组合。
- 将长期遥测数据保存在对象存储上,无需额外的分析系统。
- 通过关联错误链路与其中的日志排查故障。
- 将 GenAI 或 Agent 的遥测数据与基础设施指标存放在一起。
快速上手
- 1
使用 Docker 运行单机版服务
docker run -p 127.0.0.1:4000-4003:4000-4003 -v "$(pwd)/greptimedb_data:/greptimedb_data" --name greptime --rm greptime/greptimedb:latest standalone start --http-addr 0.0.0.0:4000 --grpc-bind-addr 0.0.0.0:4001 --mysql-addr 0.0.0.0:4002 --postgres-addr 0.0.0.0:4003 - 2
在 http://localhost:4000/dashboard 打开控制台
使用前须知
- 集群部署和 Flow 引擎包含在 Apache-2.0 版本中,但读副本、工作负载隔离和自动重分区仅属于企业版功能。
- 部分 Elasticsearch 和 Loki 查询 API 不兼容,不支持 LogQL。
- 从源码构建需要 Rust 工具链、Protobuf 编译器以及 C/C++ 构建工具。
标签
常见问题
- greptimedb 是什么?
- 开源可观测性数据库,在对象存储上用同一列式引擎统一存储指标、日志和链路追踪,支持 SQL 和 PromQL 查询。 GreptimeDB 是一个可观测性数据库,将指标、日志和链路追踪统一存放在对象存储上的列式引擎中。三类数据共用由标签、时间戳和字段组成的同一张表模型,只要带有服务名、主机或 trace ID 等公共标识,就能直接用 SQL 关联查询,无需在多个系统之间搬运数据。
- greptimedb 可以免费使用吗?用的什么许可证?
- greptimedb 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- greptimedb 还在维护吗?
- 活跃维护中。greptimedb 最近一次提交是在 2026年10月21日。
- greptimedb 适合用来做什么?
- 用单一后端替代 Prometheus、Loki 和 Tempo 组合。 将长期遥测数据保存在对象存储上,无需额外的分析系统。 通过关联错误链路与其中的日志排查故障。 将 GenAI 或 Agent 的遥测数据与基础设施指标存放在一起。
- greptimedb 怎么安装和运行?
- 使用 Docker 运行单机版服务: docker run -p 127.0.0.1:4000-4003:4000-4003 -v "$(pwd)/greptimedb_data:/greptimedb_data" --name greptime --rm greptime/greptimedb:latest standalone start --http-addr 0.0.0.0:4000 --grpc-bind-addr 0.0.0.0:4001 --mysql-addr 0.0.0.0:4002 --postgres-addr 0.0.0.0:4003 在 http://localhost:4000/dashboard 打开控制台
- 在哪里获取 greptimedb?
- 源代码和安装说明在 GitHub 上:https://github.com/GreptimeTeam/greptimedb
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
Prometheus 是一套开源的系统与服务监控系统,负责采集指标、评估规则并触发告警。
开源的监控与可观测性平台,可查询、可视化并对来自多种数据源的指标、日志和链路数据设置告警。
与厂商无关的服务,用于接收、处理并导出链路追踪、指标和日志数据到多种可观测性后端。
Datadog 开源的监控代理,负责从主机采集指标、日志、链路追踪和性能剖析数据并发送到 Datadog 平台。
开源的实时基础设施监控工具,支持逐秒指标、自动发现、内置机器学习异常检测与告警。