关于 signoz-clickhouse-query
signoz-clickhouse-query 是用于编写 SigNoz 仪表板 ClickHouse 查询的技能。它指导用户识别日志或追踪信号、选择相应参考资料,并按面板类型构造和验证查询。
主要功能
- 01识别日志与追踪请求
- 02按信号选择参考资料
- 03时序、数值和表格查询模式
- 04SigNoz 架构与变量指引
- 05使用 SETTINGS 添加查询标记
- 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 操作、数据库 操作或错误跨度。
- 仪表板面板:时间序列图表、数值组件和表格细分。
如果用户要求创建仪表板面板,但没有提到 ClickHouse,也请使用此技能。
信号检测
判断请求涉及日志还是追踪。
- 日志:日志行、严重程度、正文文本、日志量、容器日志或 结构化日志字段。
- 追踪:跨度、延迟、持续时间、p99、追踪分析、HTTP 操作、数据库 操作或错误跨度。
如果请求含糊不清,请让用户进一步说明。
参考资料路由
- 日志:编写任何查询前,先阅读
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。 - 在资源指纹子查询中使用普通的
IN,而不是GLOBAL IN。 - 没有资源属性筛选器时仍添加资源 CTE。
- 日志查询使用
$start_datetime或$end_datetime。 - 追踪查询使用
$start_timestamp_nano或$end_timestamp_nano。 - 追踪查询使用
resources_string['service.name'],而不是resource_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