ClickHouse データソースの Grafana における設定
構成を変更する最も簡単な方法は、Grafana UI のプラグイン設定ページで行うことですが、データソースも YAML ファイルでプロビジョニング できます。
このページでは、ClickHouse プラグインでの設定に利用可能なオプションのリストと、YAML でデータソースをプロビジョニングするための構成スニペットを示します。
すべてのオプションの概要については、完全な構成オプションのリストを こちら で確認できます。
一般的な設定
例の設定画面:

一般的な設定のための例の YAML:
設定が UI から保存されると、version
プロパティが追加されることに注意してください。これにより、その設定が保存されたプラグインのバージョンが表示されます。
HTTP プロトコル
HTTP プロトコル経由で接続を選択すると、追加の設定が表示されます。

HTTP パス
HTTP サーバーが異なる URL パスで公開されている場合は、ここに追加できます。
カスタム HTTP ヘッダー
サーバーに送信するリクエストにカスタムヘッダーを追加できます。
ヘッダーはプレーンテキストまたはセキュアであることができます。
すべてのヘッダーキーはプレーンテキストで保存され、セキュアヘッダー値はセキュア構成に保存されます(password
フィールドに似ています)。
セキュアヘッダー値はセキュア構成に安全に保存されますが、セキュア接続が無効になっている場合は、値が HTTP 経由で送信されます。
プレーン/セキュアヘッダーの例 YAML:
追加設定
これらの追加設定はオプションです。

例の YAML:
OpenTelemetry
OpenTelemetry (OTel) はプラグインに深く統合されています。 OpenTelemetry データは、当社の exporter plugin を使用して ClickHouse にエクスポートできます。 最適な使用法のために、logs と traces の両方に OTel を設定することをお勧めします。
また、data links を有効にするためのデフォルトも設定する必要があります。これは強力な可観測性ワークフローを可能にする機能です。
ログ
ログのクエリビルディングを加速するため、デフォルトのデータベース/テーブルおよびログクエリのカラムを設定できます。これにより、クエリビルダーに実行可能なログクエリが事前ロードされ、探求ページでのブラウジングが速くなります。
OpenTelemetry を使用している場合は、"Use OTel" スイッチを有効にし、default log table を otel_logs
に設定する必要があります。
これにより、デフォルトのカラムが選択された OTel スキーマバージョンを使用するように自動的に上書きされます。
OpenTelemetry がログに必要ではありませんが、単一のログ/トレースデータセットを使用すると、data linking による可観測性ワークフローがスムーズになるのに役立ちます。
ログ設定画面の例:

ログ設定の例 YAML:
トレース
トレースのクエリビルディングを加速するため、デフォルトのデータベース/テーブルおよびトレースクエリのカラムを設定できます。これにより、クエリビルダーに実行可能なトレース検索クエリが事前ロードされ、探求ページでのブラウジングが速くなります。
OpenTelemetry を使用している場合は、"Use OTel" スイッチを有効にし、default trace table を otel_traces
に設定する必要があります。
これにより、デフォルトのカラムが選択された OTel スキーマバージョンを使用するように自動的に上書きされます。
OpenTelemetry は必須ではありませんが、この機能はトレースのスキーマを使用する際に最も効果を発揮します。
トレース設定画面の例:

トレース設定の例 YAML:
カラムエイリアス
カラムエイリアスは、異なる名前や型でデータをクエリするための便利な方法です。 エイリアスを使用すると、ネストされたスキーマをフラット化し、Grafana で簡単に選択できるようにできます。
次の条件に当てはまる場合は、エイリアスが関連するかもしれません:
- スキーマとそのネストされたプロパティ/型のほとんどを知っている
- Map タイプでデータを保存している
- JSON を文字列として保存している
- 選択するカラムを変換するために関数を頻繁に適用している
テーブル定義エイリアスカラム
ClickHouse にはエイリアス機能が組み込まれており、Grafana と連携して動作します。 エイリアスカラムはテーブル上で直接定義できます。
上記の例では、ナノ秒のタイムスタンプを Date
型に変換するエイリアス TimestampDate
を作成しています。
このデータは、最初のカラムのようにディスクに保存されることはなく、クエリ実行時に計算されます。
テーブル定義エイリアスは SELECT *
で返されませんが、サーバー設定でこの動作を構成できます。
詳細については、ALIAS カラムタイプのドキュメントを参照してください。
カラムエイリアステーブル
デフォルトでは、Grafana は DESC table
の応答に基づいてカラムの提案を提供します。
場合によっては、Grafana が見るカラムを完全に上書きしたいことがあります。
これにより、カラムを選択する際に Grafana でスキーマを隠すことができ、テーブルの複雑さに応じてユーザーエクスペリエンスが向上します。
テーブル定義エイリアスの利点は、テーブルを変更することなく、エイリアスを簡単に更新できることです。一部のスキーマでは、これが何千件ものエントリに達することがあり、基になるテーブル定義が乱雑になる可能性があります。また、ユーザーに無視してほしいカラムを隠すこともできます。
Grafana では、エイリアステーブルに次のカラム構造が必要です:
次のように、エイリアステーブルを使用して ALIAS
カラムの動作を再現できます:
このテーブルを Grafana で使用するように構成できます。名前は何でもよく、別のデータベースに定義することも可能です:

これで、Grafana は DESC example_table
の結果ではなく、エイリアステーブルの結果を表示します:

両方のエイリアス方式を使用して、複雑な型変換や JSON フィールド抽出を実行できます。
すべての YAML オプション
これが、プラグインによって提供されるすべての YAML 構成オプションです。 一部のフィールドには例の値が、他のフィールドにはフィールドの型が表示されます。
YAML でデータソースをプロビジョニングする方法についての詳細は、Grafana ドキュメント を参照してください。