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

共通設定のための例の YAML 構成:
構成が UI から保存されるときに version
プロパティが追加されます。これは、その設定が保存されたプラグインのバージョンを示します。
HTTP プロトコル
HTTP プロトコルで接続することを選択した場合、さらに設定が表示されます。

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

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

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

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

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

両方のタイプのエイリアスを使用して、複雑な型変換や JSON フィールドの抽出を実行できます。
すべての YAML オプション
これらはプラグインによって利用可能にされたすべての YAML 設定オプションです。 いくつかのフィールドには例の値があり、他のものは単にフィールドの型を示しています。
YAML でデータソースをプロビジョニングする詳細については、Grafana ドキュメント を参照してください。