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 대시보드에서 OpenTelemetry 로그 및 트레이스에 대한 ClickHouse 쿼리를 작성합니다. 사용자가 로그에 대한 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 참조만 사용하세요. 모든 답변은 가져온 문서 내용에 근거하고 공식 문서 URL을 인용하세요.
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 서버가 설치 또는 구성되지 않은 것이므로 중단하고 사용자에게 설정하도록 안내합니다...