SuperAPI AI 工具集

signoz-clickhouse-query

通用与其它

查看项目

更新于 10-16 01:08

技能介绍

用途:当用户需要为 SigNoz 仪表盘编写涉及日志或追踪(traces)的 ClickHouse 查询时使用此技能。即使请求只提到仪表盘面板而未提 ClickHouse,也应使用。日志范围包括严重级别、正文文本、日志量、结构化字段、容器、服务或环境;追踪范围包括 span、延迟、时长、p95/p99、HTTP 操作、数据库操作或错误 span。

使用方式:先判断信号类型(日志或追踪),若请求含糊应请用户澄清。日志需先阅读 references/clickhouse-logs-reference.md,追踪需先阅读 references/clickhouse-traces-reference.md,其中包含表结构、优化模式、属性访问语法、仪表盘模板、查询示例与校验清单。面板类型分时序图(返回 ts、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,桶过滤相同,主表为 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、日志查询误用 datetime 变量、追踪查询误用纳秒变量、追踪用 resources_string['service.name'] 而非 resource_string_service$$name。每个生成的查询必须以 SETTINGS 子句结尾用于监控归因,如 SETTINGS log_comment = 'signoz-clickhouse-query skill | YYYY-MM-DD',日期替换为当天;若已有 SETTINGS 子句则用逗号追加 log_comment。