メインコンテンツまでスキップ
メインコンテンツまでスキップ

Grafana での ClickHouse データソースの設定

設定を変更する最も簡単な方法は、Grafana UI のプラグイン設定ページで行うことですが、データソースは YAML ファイルでプロビジョニング することもできます。

このページでは、ClickHouse プラグインでの設定に利用可能なオプションのリストと、YAML でデータソースをプロビジョニングするための設定スニペットを示します。

すべてのオプションの簡単な概要については、完全な設定オプションのリストを こちら で確認できます。

共通設定

例の設定画面:

Example secure native config

共通設定のための例の YAML 構成:

構成が UI から保存されるときに version プロパティが追加されます。これは、その設定が保存されたプラグインのバージョンを示します。

HTTP プロトコル

HTTP プロトコルで接続することを選択した場合、さらに設定が表示されます。

Extra HTTP config options

HTTP パス

HTTP サーバーが別の URL パスの下に公開されている場合、ここに追加できます。

カスタム HTTP ヘッダー

サーバーに送信されるリクエストにカスタムヘッダーを追加できます。

ヘッダーはプレーンテキスト、またはセキュアであることができます。 すべてのヘッダーキーはプレーンテキストで格納され、セキュアなヘッダー値はセキュアな設定に保存されます(password フィールドに似ています)。

HTTP のセキュア値

セキュアヘッダー値は設定でセキュアに保存されますが、セキュア接続が無効の場合、値は HTTP 経由で送信されます。

プレーン/セキュアヘッダーの例 YAML:

追加設定

これらの追加設定は任意です。

Example additional settings

例の YAML:

OpenTelemetry

OpenTelemetry (OTel) はプラグイン内に深く統合されています。 OpenTelemetry データは、当社の エクスポータープラグイン を使用して ClickHouse にエクスポートできます。 最良の使用法のためには、ログ および トレース の両方に OTel を設定することをお勧めします。

また、データリンク を有効にするために、これらのデフォルトを設定する必要があります。データリンク機能は強力な可観測性ワークフローを実現します。

ログ

ログのクエリビルディングを迅速化するために、デフォルトのデータベース/テーブルと、ログクエリのためのカラムを設定できます。これにより、クエリビルダーが実行可能なログクエリで事前にロードされ、可観測性のための探索ページでのブラウジングが迅速になります。

OpenTelemetry を使用している場合は、"Use OTel" スイッチを有効にし、デフォルトログテーブルotel_logs に設定する必要があります。 これにより、デフォルトのカラムが選択された OTel スキーマバージョンを使用するように自動的にオーバーライドされます。

OpenTelemetry はログに必須ではありませんが、単一のログ/トレースデータセットを使用することで、データリンク を介したスムーズな可観測性ワークフローが可能になります。

例のログ設定画面:

Logs config

例のログ設定 YAML:

トレース

トレースのクエリビルディングを迅速化するために、デフォルトのデータベース/テーブルと、トレースクエリのためのカラムを設定できます。これにより、クエリビルダーが実行可能なトレース検索クエリで事前にロードされ、可観測性のための探索ページでのブラウジングが迅速になります。

OpenTelemetry を使用している場合は、"Use OTel" スイッチを有効にし、デフォルトトレーステーブルotel_traces に設定する必要があります。 これにより、デフォルトのカラムが選択された OTel スキーマバージョンを使用するように自動的にオーバーライドされます。 OpenTelemetry は必ずしも必要ではありませんが、この機能はトレース用のスキーマを使用する場合に最適に機能します。

例のトレース設定画面:

Traces config

例のトレース設定 YAML:

カラムエイリアス

カラムのエイリアスは、異なる名前や型でデータをクエリする便利な方法です。 エイリアスを使用すると、ネストされたスキーマをフラット化し、Grafana で簡単に選択できるようにできます。

あなたに関連するかもしれないエイリアスは次の通りです:

  • スキーマとそのほとんどのネストされたプロパティ/型を知っている
  • データを Map 型で保存している
  • JSON を文字列として保存している
  • 選択するカラムを変換するために関数を適用することがよくある

テーブル定義エイリアスカラム

ClickHouse にはカラムエイリアスが組み込まれており、Grafana でそのまま動作します。 エイリアスカラムはテーブルに直接定義できます。

上記の例では、ナノ秒タイムスタンプを Date 型に変換する TimestampDate というエイリアスを作成します。 このデータは最初のカラムのようにディスクに保存されるのではなく、クエリ時に計算されます。 テーブル定義エイリアスは SELECT * では返されませんが、これはサーバー設定で構成できます。

詳細については、ALIAS カラムタイプのドキュメントを参照してください。

カラムエイリアステーブル

デフォルトでは、Grafana は DESC table の応答に基づいてカラムの提案を提供します。 場合によっては、Grafana が見るカラムを完全にオーバーライドしたいことがあります。 これにより、複雑なテーブルを持つ場合のユーザーエクスペリエンスが向上します。

テーブル定義のエイリアスに対する利点は、テーブルを変更することなく簡単に更新できることです。一部のスキーマでは、これが数千のエントリに及ぶことがあり、基となるテーブル定義が混雑する可能性があります。また、ユーザーに無視してほしいカラムを非表示にすることもできます。

Grafana には、エイリアステーブルに次のカラム構造が必要です:

次のようにしてエイリアステーブルを使用して ALIAS カラムの動作を再現できます:

このテーブルを Grafana で使用するように構成できます。名前は何にでも設定でき、別のデータベースに定義することもできます:

Example alias table config

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

Example alias table select

両方のタイプのエイリアスを使用して、複雑な型変換や JSON フィールドの抽出を実行できます。

すべての YAML オプション

これらはプラグインによって利用可能にされたすべての YAML 設定オプションです。 いくつかのフィールドには例の値があり、他のものは単にフィールドの型を示しています。

YAML でデータソースをプロビジョニングする詳細については、Grafana ドキュメント を参照してください。