用途:在终端中直接查询 SigNoz 的 traces、logs 和 metrics,并在调试可观测性数据、检查告警规则、列出服务时使用。
安装:npm i -g @jcit/signoz
认证:凭证解析顺序为 CLI 参数、环境变量、系统钥匙串、默认值。可用 signoz auth login 交互登录,或 signoz auth login --url https://signoz.example.com --token sk-xxx。凭证存放于 macOS Keychain 或 Linux libsecret。也可设置 SIGNOZ_URL 与 SIGNOZ_TOKEN,或每条命令加 --url、--token。退出用 signoz auth logout。
主要命令:query 为统一查询 API,支持三种互斥输入:--promql、--sql、-f/--file。时间与输出选项包括 --since(默认 1h)、--until(默认 now)、--step(默认 60 秒,仅 PromQL)、--format(json/table/text)。--since/--until 仅对 PromQL 和文件模式生效;使用 --sql 时必须自行在 SQL 中写时间戳 WHERE 条件。
alerts 列出告警规则,services 列出服务,均支持 --format json。
API 端点:query 用 POST /api/v5/query_range,alerts 用 GET /api/v1/rules,services 用 GET /api/v1/services/list,默认 base URL 为 http://localhost:3301。认证头为 SIGNOZ-API-KEY,由 CLI 自动处理。
限制与注意:relative duration 表示“多久前”。ClickHouse SQL 需用 distributed_* 表,logs 与 traces 还需加 ts_bucket_start 过滤以提升性能。非物化属性在 Map 列中,物化列将 . 编码为 $$。分布式查询连接资源表用 GLOBAL IN。常见问题包括未配置 token、连接被拒、401、查询超时、--sql 空结果及无效 --step 值。