跳到主要内容
跳到主要内容

在 Grafana 中配置 ClickHouse 数据源

ClickHouse Supported

修改配置的最简单方法是在 Grafana UI 的插件配置页面上进行,但数据源也可以通过 YAML 文件 进行配置。

本页显示了 ClickHouse 插件中可用于配置的选项列表,以及为那些通过 YAML 进行数据源配置的配置片段。

有关所有选项的快速概述,完整的配置选项列表可以在 此处 找到。

常见设置

示例配置屏幕:

常见设置的示例配置 YAML:

请注意,当从 UI 保存配置时,会添加一个 version 属性。这显示了保存配置时插件的版本。

HTTP 协议

如果您选择通过 HTTP 协议连接,将显示更多设置。

HTTP 路径

如果您的 HTTP 服务器在不同的 URL 路径下暴露,可以在这里添加该路径。

自定义 HTTP 头

您可以向发送到服务器的请求添加自定义头。

头可以是纯文本或安全的。所有头键以纯文本形式存储,而安全头值则保存在安全配置中(类似于 password 字段)。

通过 HTTP 的安全值

虽然安全头值在配置中安全存储,但如果禁用了安全连接,值仍会通过 HTTP 发送。

示例 YAML 用于纯/安全头:

其他设置

这些额外设置是可选的。

示例 YAML:

OpenTelemetry

OpenTelemetry (OTel) 在插件中深度集成。OpenTelemetry 数据可以通过我们的 exporter plugin 导出到 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 文档