用途:评估 APM 服务健康状态,回答“服务是否健康”“为何变慢”等问题,并给出下一步排查建议。
主要能力:综合 SLO(燃烧率、状态、错误预算)、触发中的告警、ML 异常、吞吐量、延迟(avg/p95/p99)、错误率、依赖健康、基础设施(CPU、内存、OOM、CPU 限流)与日志等信号,输出健康/降级/不健康结论。
使用方式:通过 Observability API 的 SLOs API 与 Alerting API 获取 SLO 与告警;用 ES|QL 查询 tracesapm、tracesotel、metricsapm、metricsotel,按 service.name(必要时加 service.environment)与时间范围过滤;依赖与服务地图数据可用 ES|QL 或 Kibana 路由获取。仅部分事务受影响时,运行相关性脚本: node skills/observability/service-health/scripts/apm-correlations.js latency-correlations --service-name <name> node skills/observability/service-health/scripts/apm-correlations.js failed-correlations --service-name <name> 脚本先尝试 Kibana 内部 APM 相关性 API,失败则回退到 Elasticsearch significant_terms。需配置 KIBANA_URL、KIBANA_API_KEY(或用户名/密码),回退时需 ELASTICSEARCH_URL、ELASTICSEARCH_API_KEY。
适用场景:服务状态巡检、性能下降与错误率升高排查、依赖与基础设施关联分析、按 trace.id 或 service.name 过滤日志定位根因。
限制:ES|QL 需 Elasticsearch 8.11+(8.14 GA)或 Serverless;TS 命令需 9.3+ 或 Serverless。判断当前活跃告警应使用 Alerting API,不要查询 .alerts* 索引。时间范围应沿用用户给定范围,未提供时默认最近一小时。资料未提供具体收费与价格信息。