- Table: データをテーブル形式で表示するための、最もシンプルなクエリタイプです。集計関数を含む単純なクエリにも複雑なクエリにも、汎用的に適しています。
- ログ: ログ用のクエリ作成に最適化されています。デフォルトを設定した Explore ビューで最も効果を発揮します。
- Time Series: 時系列クエリの作成に最適です。専用の時刻カラムを選択し、集計関数を追加できます。
- トレース: トレースの検索や表示に最適化されています。デフォルトを設定した Explore ビューで最も効果を発揮します。
- SQL Editor: クエリを完全に制御したい場合は SQL エディタを使用できます。このモードでは、あらゆる SQL クエリを実行できます。
クエリタイプ
Table
最も柔軟なクエリタイプは、テーブルクエリです。これは、シンプルなクエリや集約クエリを扱うために設計された、ほかのクエリビルダー全般を包括するクエリタイプです。
このクエリタイプでは、データがテーブルとして表示されます。
ログ
ログのクエリタイプでは、ログデータのクエリに特化したクエリビルダーを利用できます。 クエリビルダーでデフォルトのデータベース/テーブルやカラムをあらかじめ読み込めるように、デフォルト値はデータソースのログ設定で構成できます。 また、OpenTelemetry を有効にすると、スキーマバージョンに応じてカラムを自動選択できます。 Time と Level のフィルターはデフォルトで追加され、さらに Time カラムに対する ORDER BY も追加されます。 これらのフィルターはそれぞれ対応するフィールドに関連付けられており、カラムが変更されると更新されます。 Level フィルターはデフォルトでは SQL に含まれず、IS ANYTHING オプションから変更すると有効になります。
ログのクエリタイプはデータリンクをサポートしています。
このクエリタイプでは、データはログパネルに表示され、上部にはログヒストグラムパネルも表示されます。 クエリで選択した追加カラムは、展開したログの行で確認できます。
時系列
- 専用の Time フィールドがあります。
- 集計モードでは、Time フィールドに対する Group By とあわせて、時間間隔マクロが自動的に適用されます。
- 集計モードでは、“カラム” フィールドは表示されません。
- Time フィールドに対して、時間範囲フィルターと Order By が自動的に追加されます。
このクエリタイプでは、データが時系列パネルで表示されます。
トレース
トレースクエリタイプには、トレースを簡単に検索して表示できるクエリビルダーが用意されています。 これは OpenTelemetry データ向けに設計されていますが、別のスキーマのトレースを表示するためにカラムを選択することもできます。 デフォルトはデータソースのトレース設定で設定でき、クエリビルダーにデフォルトのデータベース/テーブルとカラムを事前に読み込ませることができます。デフォルトが設定されている場合、カラム選択は既定で折りたたまれます。 また、OpenTelemetry を有効にすると、スキーマバージョンに応じてカラムを自動選択できます。 既定のフィルターは、トップレベルの span のみを表示する目的で追加されています。 また、Time カラムと Duration Time カラムに対する ORDER BY も含まれています。 これらのフィルターはそれぞれ対応するフィールドに紐付いており、カラムを変更すると更新されます。 Service Name フィルターは既定では SQL に含まれず、IS ANYTHING オプションから変更した場合に有効になります。
トレースクエリタイプはデータリンクをサポートしています。
このクエリタイプでは、Trace Search モードではデータがテーブルビューで表示され、Trace ID モードではトレースパネルで表示されます。
SQL エディタ
クエリビルダーでは対応できないような複雑なクエリには、SQL エディタを使用できます。 プレーンな ClickHouse SQL を記述して実行できるため、クエリを完全に制御できます。 SQL エディタは、クエリエディタ上部の “SQL Editor” を選択すると開けます。 このモードでも マクロ関数 を引き続き使用できます。 クエリに最適な可視化を表示するために、クエリタイプを切り替えることもできます。 この切り替えはダッシュボード表示にも影響し、特に時系列データで顕著です。データリンク
Grafana の データリンク を使うと、新しいクエリへリンクできます。 この機能は、トレースからログへ、またログからトレースへリンクできるように、ClickHouse プラグインで有効化されています。最も効果的に利用するには、data source’s config でログとトレースの両方に対して OpenTelemetry を設定してください。テーブル内のトレースリンクの例
ログ内のトレースリンクの例
データリンクを作成する方法
traceID という名前のカラムを選択すると、データリンクを作成できます。この名前は大文字と小文字を区別せず、“ID” の前にアンダースコアを付けた形式にも対応しています。たとえば、traceId、TraceId、TRACE_ID、tracE_iD はいずれも有効です。
ログ または トレース のクエリで OpenTelemetry が有効になっている場合、トレース ID カラムが自動的に含まれます。
トレース ID カラムが存在する場合、プラグインはデータに「View Trace」および「View Logs」のリンクを追加できます。
トグルはデフォルトで有効になっています。現在のクエリタイプのリンクにはデフォルトを設定する必要はありませんが、クロスシグナルリンクは、データソースにターゲットシグナル用のデフォルトが設定されている場合にのみ表示されます。データソースのトレースおよびログ設定セクションにある Show “View trace” links と Show “View logs” links のトグルで非表示にできます。
リンク機能
データリンクがあると、指定された トレース ID を使って トレース と ログ を開けます。 “View Trace” をクリックすると、trace を表示する分割パネルが開きます。“View Logs” をクリックすると、トレース ID で絞り込まれた ログ クエリが開きます。 Explore ビューではなくダッシュボードからリンクをクリックした場合、そのリンクは Explore ビューの新しいタブで開きます。 クエリタイプをまたぐ場合 (ログ から トレース、トレース から ログ) は、ログ と トレース の両方でデフォルトを設定しておく必要があります。同じクエリタイプのリンクを開く場合は、クエリをそのままコピーできるため、デフォルトは不要です。ログ クエリ (左パネル) から trace (右パネル) を表示する例
マクロ
マクロの使用
$__timeFilter マクロの使用例を以下に示します。
入力:
log_time カラムに適用されます。
このプラグインは、中括弧 {} を使う記法にも対応しています。parameters 内でクエリが必要な場合は、この記法を使用してください。