Axiom 指标查询技能
让 AI 代理通过脚本直接查询 Axiom MetricsDB,自动发现指标、标签与数值,并用 MPL 语法执行 OpenTelemetry 指标查询。
技能仅通过 curl/jq 调用 Axiom API 查询指标,数据流清晰;README 建议使用最小权限的 scoped API token 并避免 Personal Access Token,配置存放于 ~/.axiom.toml,无破坏性默认操作。扣分点:核心脚本内容未随证据提供,无法验证其是否真正最小权限;axiom-api 暴露任意认证 API 调用面;无回滚或敏感数据脱敏说明。
文档自洽、参数表完整、错误码与 500 排障流程(trace ID)写得较细,工作流顺序明确。扣分点:脚本本体未在证据中呈现,无法静态确认关键路径可运行;依赖 jq/curl 与 ~/.axiom.toml 的失败反馈仅有 setup 检查,边缘情况覆盖薄,且无针对本技能的测试。
触发描述明确(查询指标、探索 OTel 指标数据集),工作流分层(datasets→spec→info→query)并界定了 find-metrics 的不适用场景,边界较清晰。扣分点:完全依赖 Axiom 海外云服务(api.axiom.co 及边缘端点),未说明中国大陆可达性,中文环境无支持说明。
SKILL.md 与 README 分层合理,示例丰富,安装方式、前置条件、相关技能均列明,仓库有 MIT 许可证与 lint/release CI。扣分点:技能本身无版本号、变更日志和维护责任人声明,安装指引指向 axiomhq/skills 而 assessed 路径在 pinchbench/skill 仓库内,来源归属存在不一致。
声称可完成指标发现与 MPL 查询,输出为结构化 JSON,直接可用性合理,边际价值在于自动边缘部署解析与强制拉取 spec 避免语法猜测。扣分点:静态审阅无任何执行证据,实际查询结果正确性与成本收益无法验证。
有可审计的主文档与一致的参数/示例描述。扣分点:本技能无自带测试(仓库中的 shell 测试属于 building-dashboards),CI 仅覆盖 lint,不覆盖本技能关键路径,无第三方执行证据,因此按静态上限不超过 5。
- 技能完全依赖 Axiom 海外云服务,中国大陆网络可达性未声明,使用前请自行验证端点连通性。
- 本技能的脚本源码未在本次证据中提供,最小权限与数据处理行为未经静态核实。
- axiom-api 脚本支持任意认证 API 调用,建议为自动化配置最小权限的 scoped token。
- 技能缺少版本号与变更日志,且安装来源(axiomhq/skills)与评审仓库(pinchbench/skill)不一致,更新追踪需谨慎。
- 静态评审未执行任何脚本,所有可靠性结论均基于文档推断。
这个 Skill 能做什么,适合哪些场景?
这是一个面向 AI 代理的技能,用于查询存储在 Axiom MetricsDB 中的 OpenTelemetry 指标。它通过一组脚本(datasets、metrics-spec、metrics-info、metrics-query 等)完成数据集发现、指标与标签探索和查询执行。脚本会自动解析数据集所在的边缘部署区域并路由到正确的端点,无需手动配置。该技能强制要求在编写查询前先获取最新的 MPL 查询语法规范,避免凭记忆猜测语法。配置读取自 ~/.axiom.toml,需提供目标部署的 URL、token 和 org_id,且数据集类型必须为 otel:metrics:v1。
运行 scripts/setup 检查环境(curl、jq、~/.axiom.toml);列出指定部署下的数据集并可按 otel:metrics:v1 过滤;自动将数据集解析到对应区域边缘端点(如 us-east-1.aws.edge.axiom.co);通过 scripts/metrics-spec 获取 MPL 查询规范;用 scripts/metrics-info 发现指标、标签及标签值,或用 find-metrics 按已知搜索值定位相关指标;用 scripts/metrics-query 执行 MPL 查询,支持 RFC3339 或相对时间(如 now-1d);HTTP 错误按状态码给出含义,500 错误时用 curl -v 抓取响应头中的 trace ID 供后端排查。
- SRE 或运维工程师让代理排查某个服务在特定时段的延迟或错误率指标变化
- 开发者想先浏览数据集中有哪些指标、标签和标签值,再决定如何查询
- 团队需要按 service.name、status_code 等标签过滤并分组聚合 OTel 指标
- 只知道服务名(如 frontend)时,用 find-metrics 快速定位相关指标
- 代理遇到 Axiom 500 错误时自动收集 trace ID 供后端团队调试
这个 Skill 有哪些优点和局限?
- 强制先取 MPL 规范再写查询,避免语法随版本变化导致的错误
- 自动解析数据集所在区域边缘端点,无需手动处理多区域部署
- 提供完整的发现式工作流:数据集、指标、标签、标签值逐层探索
- 错误处理指引明确,包含常见状态码含义和 500 错误的 trace ID 上报流程
- 依赖外部 Axiom 账号和 ~/.axiom.toml 配置,无账号则完全不可用
- 目标数据集必须为 otel:metrics:v1 类型,不适用于其他类型数据
- 源文档未提供任何测试套件或平台兼容性验证说明
- 没有对请求成本或速率限制的规避机制说明(仅提示 429 状态码含义)
如何安装这个 Skill?
克隆仓库:git clone https://github.com/pinchbench/skill.git。技能位于 .agents/skills/query-metrics/。运行脚本前需满足环境要求:curl、jq,以及包含目标部署(url、token、org_id)的 ~/.axiom.toml 配置文件,可先运行 scripts/setup 自检。注意:脚本路径必须使用技能文件夹内的完整路径调用。将技能放入你的代理技能目录的具体机制(如符号链接方式)在源文档中未说明。
如何使用这个 Skill?
典型流程:1) 运行 scripts/setup 确认环境;2) scripts/datasets <deployment> 列出数据集;3) scripts/metrics-spec <deployment> <dataset> 获取语法规范(强制步骤);4) scripts/metrics-info <deployment> <dataset> metrics|tags 探索可用指标和标签;5) scripts/metrics-query <deployment> '<mpl>' '<startTime>' '<endTime>' 执行查询,例如:scripts/metrics-query prod 'my-dataset:http.server.duration | where service.name == "frontend" | align to 5m using avg' 'now-1d' 'now'。也可以直接用自然语言触发:"查询过去一天 frontend 服务的 HTTP 延迟"。