signoz-clickhouse-query について
signoz-clickhouse-queryは、SigNozダッシュボード向けのClickHouseクエリ作成スキルです。ログかトレースかを判別し、対応するリファレンスを選び、パネルに合わせたクエリの作成と検証を案内します。
主な機能
- 01ログとトレースの判別
- 02シグナル別リファレンスの選択
- 03時系列・値・テーブルのクエリ形式
- 04SigNozのスキーマと変数の案内
- 05SETTINGSによるクエリ属性付与
- 06リファレンスに基づく検証チェックリスト
活用シーン
- 01ログのダッシュボードパネル作成
- 02トレースのレイテンシやエラーの検索
- 03時系列・統計値・テーブル結果の作成
- 04生成クエリのよくある問題の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ signoz/ agent-skills --skill signoz-clickhouse-queryインストール後、Claude Code で/signoz-clickhouse-queryを入力して読み込まれたか確認します。
同梱ファイルreferences/clickhouse-logs-reference.mdreferences/clickhouse-traces-reference.md
詳細
SigNoz ダッシュボード用 ClickHouse クエリの作成
使用するタイミング
次のような SigNoz クエリをユーザーから依頼された場合に、このスキルを使用します。
- ログ:重大度、本文テキスト、ログ量、構造化フィールド、コンテナー、 サービス、環境。
- トレース:スパン、レイテンシ、所要時間、p95 または p99、HTTP 操作、DB 操作、エラースパン。
- ダッシュボードパネル:時系列グラフ、値ウィジェット、テーブルの内訳。
ユーザーがダッシュボードパネルを依頼し、ClickHouse に言及していない場合も、 このスキルを使用してください。
シグナルの判定
リクエストがログとトレースのどちらに関するものかを判定します。
- ログ:ログ行、重大度、本文テキスト、ログ量、コンテナーログ、または 構造化ログフィールド。
- トレース:スパン、レイテンシ、所要時間、p99、トレース分析、HTTP 操作、DB 操作、またはエラースパン。
リクエストが曖昧な場合は、ユーザーに確認してください。
参照先の案内
- ログ:クエリを作成する前に
references/clickhouse-logs-reference.mdを読んでください。 - トレース:クエリを作成する前に
references/clickhouse-traces-reference.mdを読んでください。
各リファレンスでは、テーブルスキーマ、最適化パターン、属性アクセス構文、 ダッシュボードテンプレート、クエリ例、検証チェックリストを説明しています。
クイックリファレンス
- 時系列パネル:時間の経過に伴うグラフ用に、
(ts, value)の行を返します。 - 値パネル:統計またはカウンターウィジェット用に、単一の
valueを返します。 - テーブルパネル:グループ化した内訳用に、ラベル付きの列を返します。
シグナル別の主な変数
ログ
- タイムスタンプ型:ナノ秒単位の
UInt64。 - 時間フィルター:
$start_timestamp_nanoと$end_timestamp_nano。 - バケットフィルター:
$start_timestampと$end_timestamp。 - 表示変換:
fromUnixTimestamp64Nano(timestamp)。 - メインテーブル:
signoz_logs.distributed_logs_v2。 - リソーステーブル:
signoz_logs.distributed_logs_v2_resource。
トレース
- タイムスタンプ型:
DateTime64(9)。 - 時間フィルター:
$start_datetimeと$end_datetime。 - バケットフィルター:
$start_timestampと$end_timestamp。 - 表示変換:タイムスタンプをそのまま使用します。
- メインテーブル:
signoz_traces.distributed_signoz_index_v3。 - リソーステーブル:
signoz_traces.distributed_traces_v3_resource。
主なアンチパターン
ts_bucket_start BETWEEN $start_timestamp - 1800 AND $end_timestampがない。- リソースのフィンガープリントサブクエリで
GLOBAL INではなく通常のINを使用する。 - リソース属性フィルターがないのに、リソース CTE を追加する。
$start_datetimeまたは$end_datetimeを使ったログクエリ。$start_timestamp_nanoまたは$end_timestamp_nanoを使ったトレースクエリ。resource_string_service$$nameではなくresources_string['service.name']を使ったトレースクエリ。
クエリの帰属情報
生成するすべてのクエリは、監視用の SETTINGS 句で終わらなければなりません。
SELECT ...
FROM ...
WHERE ...
SETTINGS log_comment = 'signoz-clickhouse-query skill | YYYY-MM-DD'
YYYY-MM-DD を今日の日付(例:2026-04-03)に置き換えます。クエリにすでに
SETTINGS 句がある場合は、カンマを付けて log_comment を追加します。
ワークフロー
- シグナルを判定します:ログまたはトレース。
- クエリを作成する前に、対応するリファレンスファイルを読みます。
- パネルの種類を選びます:時系列、値、またはテーブル。
- リファレンスにある必須パターンを使ってクエリを作成します。
SETTINGS log_commentの帰属情報句を追加します。- リファレンスのチェックリストを使って結果を検証します。
コメント
Markdown 対応