在 Grafana 中配置 ClickHouse 数据源
修改配置的最简单方法是在 Grafana UI 的插件配置页面上,但数据源也可以通过 YAML 文件进行预配置。
此页面列出了 ClickHouse 插件中可用的配置选项,以及为使用 YAML 预配置数据源的配置片段。
有关所有选项的快速概览,完整的配置选项列表可以在 这里 找到。
常见设置
示例配置屏幕:

常见设置的示例配置 YAML:
请注意,version
属性在从 UI 保存配置时会被添加。它显示了保存配置时插件的版本。
HTTP 协议
如果您选择通过 HTTP 协议连接,将显示更多设置。

HTTP 路径
如果您的 HTTP 服务器在不同的 URL 路径下暴露,可以在此添加。
自定义 HTTP 头
您可以为发送到服务器的请求添加自定义头。
头可以是纯文本或安全的。
所有头键以纯文本存储,而安全头值则保存在安全配置中(类似于 password
字段)。
虽然安全头值在配置中安全存储,但如果禁用安全连接,值仍将通过 HTTP 发送。
纯文本/安全头的示例 YAML:
附加设置
这些附加设置是可选的。

示例 YAML:
OpenTelemetry
OpenTelemetry (OTel) 与插件深度集成。 可以通过我们的 导出插件 将 OpenTelemetry 数据导出到 ClickHouse。 为了获得最佳使用效果,建议同时为 日志 和 追踪 配置 OTel。
还需要配置这些默认设置以启用 数据链接,这是一个启用强大可观察性工作流的功能。
日志
为了加快 日志的查询构建,您可以设置默认的数据库/表以及日志查询的列。这将使查询构建器预加载一个可运行的日志查询,从而加快了探索页面的浏览速度,提升可观察性。
如果您使用 OpenTelemetry,您应打开“使用 OTel”开关,并将 默认日志表 设置为 otel_logs
。
这将自动覆盖默认列以使用所选的 OTel 架构版本。
虽然 OpenTelemetry 不是日志的必需品,但使用单一的日志/追踪数据集有助于通过 数据链接 启用更流畅的可观察性工作流。
示例日志配置屏幕:

示例日志配置 YAML:
追踪
为了加快 追踪的查询构建,您可以设置默认的数据库/表以及追踪查询的列。这将使查询构建器预加载一个可运行的追踪搜索查询,从而加快了探索页面的浏览速度,提升可观察性。
如果您使用 OpenTelemetry,您应打开“使用 OTel”开关,并将 默认追踪表 设置为 otel_traces
。
这将自动覆盖默认列以使用所选的 OTel 架构版本。
虽然 OpenTelemetry 不是必需的,但在使用其追踪架构时此功能效果最好。
示例追踪配置屏幕:

示例追踪配置 YAML:
列别名
列别名是以不同名称和类型查询数据的便捷方式。 通过别名,您可以将嵌套架构扁平化,以便在 Grafana 中轻松选择。
如果您符合以下情况,则别名可能与您相关:
- 您了解您的架构及其大部分嵌套属性/类型
- 您将数据存储在 Map 类型中
- 您将 JSON 存储为字符串
- 您经常应用函数以转换所选列
表定义的 ALIAS 列
ClickHouse 内置了列别名,并且可以与 Grafana 开箱即用。 别名列可以直接在表上定义。
在上述示例中,我们创建了一个名为 TimestampDate
的别名,将纳秒时间戳转换为 Date
类型。
这些数据并不像第一列那样存储在磁盘上,而是在查询时计算。
表定义的别名不会通过 SELECT *
返回,但这可以在服务器设置中配置。
有关更多信息,请阅读 ALIAS 列类型的文档。
列别名表
默认情况下,Grafana 会根据 DESC table
的响应提供列建议。
在某些情况下,您可能希望完全覆盖 Grafana 看到的列。
这有助于在选择列时隐藏您的架构,从而提高用户体验,具体取决于表的复杂性。
与表定义的别名相比,这种方法的好处在于,您可以轻松更新它们,而无需更改表。在某些架构中,这可能会有数千个条目,可能会使基础表定义混乱。它还允许隐藏您希望用户忽略的列。
Grafana 要求别名表具有以下列结构:
以下是我们如何使用别名表复制 ALIAS
列的行为:
然后我们可以配置此表在 Grafana 中使用。请注意,名称可以是任何名称,或者甚至在单独的数据库中定义:

现在 Grafana 将看到别名表的结果,而不是 DESC example_table
的结果:

这两种类型的别名都可以用于执行复杂的类型转换或 JSON 字段提取。
所有 YAML 选项
这些是插件提供的所有 YAML 配置选项。 一些字段有示例值,而其他字段则仅显示字段的类型。
有关使用 YAML 预配置数据源的更多信息,请参阅 Grafana 文档。