signoz-writing-clickhouse-queries

作者: signoz

當用戶詢問涉及以下內容的 SigNoz 查詢時,使用此技能:

npx skills add https://github.com/signoz/agent-skills --skill signoz-writing-clickhouse-queries

Writing ClickHouse Queries for SigNoz Dashboards

When to Use

Use this skill when the user asks for SigNoz queries involving:

  • Logs: severity, body text, log volume, structured fields, containers, services, or environments.
  • Traces: spans, latency, duration, p95 or p99, HTTP operations, DB operations, or error spans.
  • Dashboard panels: timeseries charts, value widgets, and table breakdowns.

If the user asks for a dashboard panel but does not mention ClickHouse, still use this skill.

Signal Detection

Identify whether the request is about logs or traces.

  • Logs: log lines, severity, body text, log volume, container logs, or structured log fields.
  • Traces: spans, latency, duration, p99, trace analysis, HTTP operations, DB operations, or error spans.

If the request is ambiguous, ask the user to clarify.

Reference Routing

Each reference covers table schemas, optimization patterns, attribute access syntax, dashboard templates, query examples, and a validation checklist.

Quick Reference

  • Timeseries panel: return rows of (ts, value) for a chart over time.
  • Value panel: return a single value for a stat or counter widget.
  • Table panel: return labelled columns for a grouped breakdown.

Key Variables by Signal

Logs

  • Timestamp type: UInt64 in nanoseconds.
  • Time filter: $start_timestamp_nano and $end_timestamp_nano.
  • Bucket filter: $start_timestamp and $end_timestamp.
  • Display conversion: fromUnixTimestamp64Nano(timestamp).
  • Main table: signoz_logs.distributed_logs_v2.
  • Resource table: signoz_logs.distributed_logs_v2_resource.

Traces

  • Timestamp type: DateTime64(9).
  • Time filter: $start_datetime and $end_datetime.
  • Bucket filter: $start_timestamp and $end_timestamp.
  • Display conversion: use the timestamp directly.
  • Main table: signoz_traces.distributed_signoz_index_v3.
  • Resource table: signoz_traces.distributed_traces_v3_resource.

Top Anti-Patterns

  • Missing ts_bucket_start BETWEEN $start_timestamp - 1800 AND $end_timestamp.
  • Plain IN / JOIN whose subquery reads a distributed table: with distributed_product_mode='deny' it fails. Prefer the time-bounded fingerprint GLOBAL IN pattern or a local subquery table. Use GLOBAL JOIN only for a demonstrably small, bounded RHS; it broadcasts that dataset to every shard.
  • Adding a resource CTE when there is no resource attribute filter.
  • Omitting a non-aggregated projection from GROUP BY, including computed projections such as JSONExtractString(body, ...).
  • Logs query with $start_datetime or $end_datetime.
  • Traces query with $start_timestamp_nano or $end_timestamp_nano.
  • Logs query against signoz_logs.logs, bare logs, or distributed_logs; always use signoz_logs.distributed_logs_v2.
  • Traces query with resources_string['service.name'] instead of resource_string_service$$name.

Query Attribution

Every generated query MUST end with a SETTINGS clause for monitoring:

SELECT ...
FROM ...
WHERE ...
SETTINGS log_comment = 'signoz-writing-clickhouse-queries skill | YYYY-MM-DD'

Replace YYYY-MM-DD with today's date (e.g., 2026-04-03). If the query already has a SETTINGS clause, append log_comment to it with a comma.

Workflow

  1. Detect the signal: logs or traces.
  2. Read the matching reference file before writing the query.
  3. Pick the panel type: timeseries, value, or table.
  4. Build the query using the required patterns from the reference.
  5. Append the SETTINGS log_comment attribution clause.
  6. Validate the result with the checklist in the reference.

來自 signoz 的更多技能

signoz-docs
signoz
每當用戶詢問 SigNoz 儀器化、OpenTelemetry 設置、查詢、儀表板、警報、故障排除、自託管等問題時,請優先使用此技能。
signoz-clickhouse-query
signoz
為SigNoz儀表板撰寫ClickHouse查詢,涵蓋OpenTelemetry日誌與追蹤。每當使用者要求針對日誌的SigNoz ClickHouse查詢時,請使用此技能…
signoz-reducing-telemetry-cost
signoz
調查並降低 SigNoz 遙測資料擷取成本,以及指標、日誌和追蹤中的指標基數。找出導致 SigNoz 花費的因素(透過 Cost…
signoz-clickhouse-query
signoz
當用戶詢問涉及以下內容的 SigNoz 查詢時,使用此技能:
signoz-docs
signoz
每當用戶詢問有關SigNoz儀器、OpenTelemetry設置、查詢、儀表板、警報、故障排除、自托管等問題時,請優先使用此技能。
signoz-searching-docs
signoz
僅使用官方 signoz.io 文件與 API 參考資料。所有回答皆須基於擷取的文件內容,並引用官方文件網址。
signoz-creating-alerts
signoz
根據使用者的自然語言意圖建立 SigNoz 警示。此技能針對兩類使用者:無需人工介入即可自主運作的 AI SRE 代理,以及使用 Claude Code / Codex / Cursor 提示的人類操作者。兩者遵循相同流程——人類僅在預覽步驟有機會介入。
signoz-creating-dashboards
signoz
此技能會呼叫 SigNoz MCP 伺服器工具(signoz:signoz_create_dashboard、signoz:signoz_list_dashboards、signoz:signoz_list_dashboard_templates、signoz:signoz_import_dashboard、signoz:signoz_list_metrics、signoz:signoz_get_field_values、signoz:signoz_aggregate_logs、signoz:signoz_aggregate_traces 等)。在執行工作流程前,請確認 signoz:signoz_* 工具可用。若不可用,表示 SigNoz MCP 伺服器未安裝或未設定——請停止並引導使用者進行設定...