@Greptime:正在使用 Remote Write 2.0 的 Prometheus?GreptimeDB v1.2 已支持接收常规样本:只需在 prometheus.yml 中添加一行 protobuf_message 配置即可

X AI KOLs Timeline 工具

摘要

GreptimeDB v1.2.0 正式发布,新增 JSON2 结构化类型(支持 SQL 嵌套路径查询)、支持 Prometheus Remote Write 2.0,并带来可续传的并行 Import/Export V2,面向日志与 AI 代理事件场景。

正在使用 Remote Write 2.0 的 Prometheus?GreptimeDB v1.2 已支持接收常规样本:只需在 prometheus.yml 中添加一行 protobuf_message 配置,GreptimeDB 侧无需做任何改动。目前暂不存储 metadata 和 exemplars。https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#ingestion…
查看原文
查看缓存全文

缓存时间: 2026/10/09 12:27

正在运行 Prometheus 并使用 Remote Write 2.0?GreptimeDB v1.2 已支持接收常规样本数据:只需在 prometheus.yml 中添加一行 protobuf_message 配置,GreptimeDB 侧无需任何改动。元数据和 Exemplars 目前尚不存储。https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#ingestion…


GreptimeDB v1.2.0:JSON2 类型,为日志和 Agent 事件而生

来源:https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release

经过两个 Beta 版本后,我们于 2026 年 9 月 8 日正式发布了 GreptimeDB v1.2.0。该版本自 v1.1.0 以来合并了来自 25 位贡献者的 331 个提交,其中 7 位是首次为 GreptimeDB 贡献代码。主要变更包括:

  • JSON2 类型新增 SQL 查询支持,包括嵌套路径访问、列表索引和 Pipeline 转换
  • 导入/导出 V2,支持并行导入导出、进度展示和任务断点续传
  • 支持 Prometheus Remote Write v2 的常规指标样本写入
  • 新增 Flow 运行时状态查询,内置 Dashboard 更新至 v0.13.13

亮点(https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#highlights)

JSON2 类型:结构化存储与 SQL 查询(https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#the-json2-type-structured-storage-and-sql-queries)

GreptimeDB 原有的 JSON 类型将整个对象编码为 JSONB 二进制值。它保留了完整的结构,适用于整体读取、访问频率低或模式难以预测的数据。但日志、链路追踪、事件流以及 AI 应用(尤其是 Agent)产生的海量事件则不同:它们的 JSON 对象结构大多相似,而查询通常只涉及少数几个字段。由于 JSONB 将字段隐藏在二进制值中,查询引擎不得不读取整个值来提取其中一小部分数据,白白浪费了存储带宽和计算资源。JSON2 正是为此类数据而设计:对用户来说,它仍然是一个完整的 JSON 对象;对存储和查询引擎来说,它是可以按路径进行裁剪的结构化数据。

v1.2.0 完善了 JSON2 类型:新增 SQL 路径访问、函数支持、列表索引以及空值和 NULL 的处理。Pipeline 现在能识别目标表中的 JSON2 列,并相应地转换输入数据。

例如,将 HTTP 请求信息写入日志表后,可以直接读取状态码和请求路径:

sql

CREATE TABLE application_logs (
    ts TIMESTAMP TIME INDEX,
    attrs JSON2
) WITH (
    'append_mode' = 'true'
);
INSERT INTO application_logs VALUES
    (1, '{"http":{"status":200,"path":"/api/orders"}}');
SELECT
    attrs.http.status::BIGINT AS status,
    json_get(attrs, 'http.path')::STRING AS path
FROM application_logs;

嵌套字段使用点路径访问,就像访问普通列一样。当需要以参数形式传递路径时,使用 json_get。

包含 JSON2 列的新表需要启用 append_mode。v1.2.0 还更改了 JSON2 的物理存储布局,因此如果你在 v1.2.0-beta.1 或 v1.2.0-beta.2 上创建过 JSON2 表,请在升级前阅读文末的兼容性说明。

我们将在后续文章中详细介绍 JSON2 的存储格式、写入路径和查询裁剪。

导入/导出 V2:并行迁移、进度展示和断点续传(https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#import-export-v2-parallel-migration-progress-display-and-resumable-tasks)

导出时,--chunk-parallelism 可并行处理数据块;导入时,--task-parallelism 控制任务并发数。如果任务被中断,保留导出快照和导入状态文件,然后重新运行相同命令即可:已完成的数据块或任务将被跳过,仅处理剩余数据。

--progress 控制进度输出。在交互式终端中默认显示进度条;在其他环境中则输出日志行。

完整用法请参阅导入/导出 V2 文档(https://docs.greptime.com/1.2/user-guide/deployments-administration/disaster-recovery/export-import-v2)。

Splunk HEC:新的日志接入路径(https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#splunk-hec-a-new-log-ingestion-path)

兼容 Splunk HTTP Event Collector(HEC)的采集器现在可以直接将数据发送到 GreptimeDB:

  • 结构化事件发送至 /v1/splunk/services/collector/event
  • 原始日志发送至 /v1/splunk/services/collector/raw

/events/logs 还支持 x-greptime-pipeline-name 请求头,用于指定处理日志的 Pipeline。

Flow:通过 SQL 查询运行时状态(https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#flow-runtime-status-via-sql)

创建 Flow 后,可以使用 SHOW FLOW STATUS 和 information_schema.flow_statistics 查询其运行时统计信息:

sql

SHOW FLOW STATUS LIKE 'my%';
SELECT * FROM information_schema.flow_statistics;

对于分布式 Flow,start_time 和 uptime_seconds 仍返回 NULL。如果你的监控依赖这两个字段,请注意这一点。

我们还将内置 Dashboard 从 v1.1.0 随附的 v0.12.2 更新到了 v0.13.13。主要变更:

  • 支持保存 Dashboard 快照
  • 结果表支持列宽调整、单元格展开和全屏查看
  • Trace 表格支持选择,显示版本和构建信息
  • 新增命令面板,切换连接地址后支持自动重连

完整变更列表请参阅发布说明的 Dashboard 部分(https://github.com/GreptimeTeam/greptimedb/releases/tag/v1.2.0#dashboard)。

性能(https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#performance)

  • 序列键现在采用字典编码,避免字符串展开的开销。在 PR 作者本地的 200 余条查询测试中,端到端查询性能提升约 24%;实际效果取决于工作负载(测试记录:https://github.com/GreptimeTeam/greptimedb/pull/8541)。同时修正了字典编码列的正则过滤语义。
  • RangeSelect 提前裁剪未使用的输入列。
  • Prometheus remote read 结果转换减少了标签的内存分配和拷贝。
  • Compactor 选择器改为异步运行,不再阻塞 Region Worker。
  • 优化了 OTLP 链路追踪的写入路径。
  • 精简了 Parquet 元数据缓存,降低内存占用。

其他改进(https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#other-improvements)

数据写入(https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#ingestion)

Prometheus Remote Write v2 支持常规样本。 Prometheus 端必须显式配置 protobuf_message: io.prometheus.write.v2.Request。该版本暂不存储元数据、Exemplars 和常规样本的创建时间戳;v2 请求中的 Pipeline 参数将被忽略,样本直接写入。

实验性原生直方图(Native Histogram)写入。 默认禁用,且 PromQL 查询路径尚未完全支持。如需测试,可在 GreptimeDB HTTP 配置中启用:

toml

[http]
experimental_enable_prometheus_native_histogram = true

如果你曾用早期 Beta 版本写入过原生直方图数据,请在升级前规划好迁移或重写方案。详见文末的兼容性说明。

运维(https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#operations)

  • 支持表级 auto_flush_interval,可在建表时设置或通过 ALTER TABLE SET 修改。
  • 每个 Region 的写缓冲区上限可配置。
  • 手动 Compaction 可以指定时间范围。

协议与认证(https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#protocols-and-authentication)

PostgreSQL 协议支持 SCRAM 认证。

重要修复(https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#notable-fixes)

  • PromQL 查询正确性:常规 NaN 样本被正确保留,or 匹配能正确处理缺失标签和空操作数,与查询范围对齐的 range 尾部数据得以保留。
  • Flow:修复了运行时统计聚合和名称引用问题。
  • 权限检查:新增数据库 ACL 检查、查询和写入协议的表级权限检查,以及受限 HTTP 端点的权限检查。

兼容性说明(https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#compatibility-notes)

升级前请阅读以下七项不兼容变更和已知限制。如果你是从 v1.2 Beta 版本升级,请特别关注 Soft-Drop、原生直方图和 JSON2 类型的相关说明。

  1. 本地 SQL 文件访问被限制在允许的目录内。 在单机部署中,本地 COPY 和外部表只能访问许可的 copy root 目录;在分布式部署中,SQL 语句中的本地路径已被禁用。现有工作流需要移动文件、配置专用目录或切换到对象存储。请参阅本地 SQL 文件访问迁移指南(https://docs.greptime.com/1.2/user-guide/deployments-administration/migrate-local-sql-file-access)。
  2. holt_winters 已被移除。 请将受影响的 PromQL 查询和告警规则改为使用 double_exponential_smoothing。
  3. sparse_primary_key_encoding 选项已被移除。 Metric Engine 的 Data Region 默认使用稀疏主键编码。旧配置文件仍可加载,但该选项将被忽略,可在更新配置时一并删除。
  4. Pipeline 整数转换增加了值范围校验。 将整数转换为更窄的类型时,系统会校验目标类型的值范围,超出范围的值将按配置的 on_failure 策略处理。依赖旧的回绕行为的 Pipeline 需要调整输入或失败处理配置。
  5. Soft-Drop 和恢复是企业版功能。 这些操作在 beta1 的 OSS 构建中可用;从 beta2 起,OSS 版本的 metasrv 会拒绝 gc.experimental_soft_drop.enable = true。从 beta1 升级前,请先恢复仍然需要的已 Soft-Drop 的表。在 beta1 中已 Soft-Drop 的表无法通过 OSS 版本恢复或清除,其过期墓碑也不会被清理;要继续这一生命周期需要企业版。
  6. 早期 Beta 版本写入的原生直方图数据格式已变更。 部分持久化字段从无符号整数变更为有符号整数,字段名称也做了调整。使用旧格式写入的原生直方图数据可能无法读取。目前没有迁移工具、降级支持或混合版本兼容层,因此请在升级前规划好数据迁移或重写。此限制仅影响实验性原生直方图,不影响常规的 v1.1 指标表。
  7. 在 v1.2 Beta 版本上创建的 JSON2 表存在已知限制。 v1.2.0 更改了 JSON2 的物理存储布局。在 Beta 版本上创建的非 append 表(使用旧的 greptime.json 类型)在升级后可能在 flush 或 compaction 时失败。v1.2.0 中未修复此问题。请推迟升级受影响的表,或执行迁移: - 在兼容的旧版本环境中逻辑导出数据,然后导入到新创建的 v1.2.0 表中。不要直接复制旧表目录或元数据。 - 迁移前做好备份,并用代表性数据验证迁移结果。 - 切换前检查数据完整性,并在新表上实际执行一次 flush 和 compaction。仅设置 append_mode 并不能保证修复。 - 此外,旧版本无法读取新布局写入的 SST,因此升级前请评估好回滚方案。

精确范围和完整详情请参阅 v1.2.0 不兼容变更说明(https://github.com/GreptimeTeam/greptimedb/releases/tag/v1.2.0#breaking-changes)。

获取 v1.2.0(https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#get-v1-2-0)

安装包和完整更新日志可在 GitHub Release 页面获取(https://github.com/GreptimeTeam/greptimedb/releases/tag/v1.2.0)。升级步骤请参阅升级指南(https://docs.greptime.com/user-guide/deployments-administration/upgrade/)。如遇到问题,请在 GitHub Issues(https://github.com/GreptimeTeam/greptimedb/issues)上反馈。

数据统计(https://greptime.com/blogs/2026-09-08-greptimedb-v1-2-0-release#by-the-numbers)

排除自动化依赖升级后,331 个提交按类型分布如下:

  • 92 个功能增强:JSON2 类型、导入/导出 V2、Flow 状态查询、Splunk HEC 接入等
  • 138 个 Bug 修复:PromQL 查询正确性、JSON2 读写、权限检查、存储稳定性等
  • 19 个重构:JSON2 写入路径、Compaction 调度模块拆分、端点命名权限动作等
  • 8 个性能优化:字典编码序列键、Parquet 元数据缓存、OTLP 链路追踪写入、异步 Compactor 选择器等
  • 24 个测试改进:导入导出、版本兼容性、查询回归测试等
  • 3 个文档更新:项目及各模块的开发指南和架构约束,以及一个新的实体关系和图查询 RFC
  • 47 个工程及其他改进:查询回归 CI、jsonbench、远程 WAL 模糊测试稳定性等

v1.1.0 到 v1.2.0 期间的 GreptimeDB 贡献者

感谢本次发布的 25 位贡献者,并欢迎首次贡献者:@agrawalx(https://github.com/agrawalx)、@raphaelroshan(https://github.com/raphaelroshan)、@srivtx(https://github.com/srivtx)、@yimeng(https://github.com/yimeng)、@grezzko(https://github.com/grezzko)、@fzlzjerry(https://github.com/fzlzjerry)和 @wy471x(https://github.com/wy471x)。

相似文章

介绍 Grok Build(2 分钟阅读)

TLDR AI

Grok Build 是一款从终端运行的新编码代理,目前面向 SuperGrok Heavy 订阅者提供早期测试版。它支持插件、子代理和深度工作树集成,包括用于脚本编写的无头模式。

@corbin_braun: W

X AI KOLs Following

Grok 4.7 已发布,在保持相同价格和速度的同时,相比 Grok 4.6 提供了显著改进。

chenyme/grok2api

GitHub Trending (daily)

Grok2API 是一个开源的 Grok API 网关,支持 Grok Build、Grok Web 和 Grok Console 多账号池,提供 OpenAI 兼容接口和管理后台,方便开发者集成。