SQL ベースの可視化の作成
- クエリの実行先となる ClickHouse 接続 を選択します。
- 必要に応じて ログソース を選択します。これにより、
$__filtersマクロを介してダッシュボードレベルのフィルタをグラフに適用できるようになります。 - エディタで SQL クエリを記述し、クエリパラメータとマクロを使ってダッシュボードの時間範囲やフィルタと連携させます。
- play ボタンをクリックして結果をプレビューし、Save をクリックします。
クエリパラメータ
{paramName:Type} を使用します。
利用可能なパラメータ
Table、Pie、および Number チャート:
マクロ
$__ というプレフィックスが付き、クエリが ClickHouse に送信される前に置換されます。
時間境界マクロ
時間フィルターマクロ
WHERE 句のフラグメントを生成します。
$__timeFilter(TimestampTime) の展開例:
時間インターバルマクロ
SELECT 句および GROUP BY 句で使用します。利用できるのは、折れ線グラフ と Stacked-bar の可視化のみです。
$__timeInterval(TimestampTime) の展開例:
ダッシュボードフィルタ用マクロ
グラフでログソースが選択されており、ダッシュボードフィルタが有効な場合、
$__filters は対応する SQL の WHERE 条件に展開されます。ログソースが選択されていない場合、またはフィルタが適用されていない場合は、(1=1) に展開されるため、WHERE 句に含めても常に安全です。
クエリ結果の表示方法
折れ線グラフと積み上げ棒グラフ
円グラフ
Number チャート
テーブルチャート
例
必要な system table へのアクセス権以下の例を play-clickstack.clickhouse.com 上で実行する場合は、
otel_v2.otel_logs または otel_v2.otel_traces を指定する必要があります。折れ線グラフ — サービス別の時間ごとのログ件数
ts(DateTime) は、x軸のタイムスタンプとして使用されます。count(数値) は、系列の値としてプロットされます。ServiceName(文字列) は、サービスごとに別々の線として表示されます。
折れ線グラフ — マクロを使う場合
積み上げ棒グラフ — 重大度別エラー数
テーブルチャート — 応答が最も遅いエンドポイント上位10件
円グラフ — サービス別リクエスト分布
request_count(数値) は各スライスの大きさを決定します。ServiceName(文字列) は各スライスのラベルを表します。
Number チャート — エラーの総数
total_errors が表示されます。
注記
- SQL ベースの可視化は
readonlyモードを有効にして実行されるため、SELECTクエリのみ実行できます。 - SQL ベースの可視化では、SQL クエリは必ず 1 つだけ指定する必要があります。複数クエリには対応していません。
- SQL エディタでは、クエリパラメータとマクロの両方でオートコンプリート候補が表示されます。
- SQL ベースの可視化にダッシュボードフィルタを適用するには、ログソースを選択する必要があります。正しくフィルタリングするには、ログソースをクエリ対象のテーブルに一致させる必要があります。