主要观点:Oxide 机架的遥测和指标数据是其重要特征,oximeter
程序收集并存储在 ClickHouse 数据库中,Oximeter Query Language(OxQL)用于查询和处理这些数据,旨在作为内部和面向客户软件的构建块。
关键信息:
- OxQL 可用于理解 Oxide 部署,提取和导出原始数据,处理数据以提供洞察,并作为观测工具的基础。
- 已有多种查询指标数据的语言,但没有一种能满足 Oxide 的需求,OxQL 具有独特优势,如可增量构建复杂处理管道、与 Oxide 其他部分良好集成等。
- OxQL 基于表格操作,包括
get
、filter
、align
、group_by
、join
、first
、last
等,可通过管道连接构建复杂查询,还支持子查询。 - 数据以表格形式呈现,包含时间序列、字段、数据类型等信息,有多种数据类型,如整数、浮点数、字符串、UUID、直方图等,以及不同的指标类型,如 gauge、cumulative counter、delta。
- 安全方面,理想情况是 OxQL 查询与 Oxide 公共 API 采取相同的安全立场,但目前暂未讨论具体实现。
重要细节: - 示例查询展示了 OxQL 的各种功能,如选择原始数据、计算平均网络使用量、按 sled 平均网络使用量、连接网络输入和输出等。
- 详细介绍了 OxQL 的词汇项,包括标识符、表名、字面量、比较和逻辑运算符等。
- 介绍了基本查询结构,包括表格操作、构建管道、子查询等。
- 详细描述了支持的表格操作,如
get
、filter
、align
、group_by
、join
、first
、last
等的用法和示例。 - 输出为包含时间序列的表格,查询输出的完整 JSON 模式可在 OpenAPI 规范中查看。
- 给出了 OxQL 烹饪书,包含常用查询示例,如获取最后样本、最后 5 分钟数据、平均 5 分钟窗口数据、按唯一 ID 分组、关联两个时间序列等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。