SuperAPI AI 工具集

fleet-health-report

前端与建站

查看项目

更新于 10-16 02:34

技能介绍

用途:从新鲜的 nvfleetint JSON 数据生成一份独立的、可离线查看的机群范围 HTML 健康快照,包含节点健康、容量、活动告警影响、近期错误等信息。使用前需先阅读 CLI 契约、HTML 主题与工作区指南。

主要步骤与用法:

  1. 先解析并校验 profile:运行 nvfleetint auth list --output json 与 nvfleetint auth status --profile <profile> --output json,要求连接状态为 ok,之后所有 API 命令都带上同一显式 --profile <profile>。多 profile 且未指定时先询问。
  2. 采集概览:nvfleetint overview --profile <profile> --output json,用于机群整体头条指标。
  3. 采集清单并解析范围:依次拉取 computezone、nodegroup、node 列表,均加 --all、--output json,node 查询不支持 --view basic;先计算区域、后节点组、再节点,将名称解析为 ID。
  4. 采集近期错误:固定一个 24 小时窗口,用 date 生成 RFC3339 UTC 起止时间,运行 nvfleetint report error --view list --group-by error --start "$start" --end "$end" --all --profile <profile> --output json,对行数求和;分页 total 计的是分组行数而非错误次数。错误 API 无法按区域/分组过滤,限定范围报告中应标注为租户级或按需省略。
  5. 采集过滤后的活动告警:先用 nvfleetint alert options --view active 获取支持值,从 componentTypes 中构造组件 ID 列表并排除 psirt 和 agent_liveness;随后用 alert summary 获取受影响节点总数及最多 10 台机器的排序列表(--sort-by alert --order desc --page-size 10),再对返回的 UUID 逐个执行 alert node 下钻,节点调用最多并发 4 个,整个告警采集最多 12 条命令。
  6. 生成报告:整机群显示 overview.healthPercentage 一次;限定范围显示 100 * healthy / total 及其公式,两者不可同时出现。按共享 HTML 主题输出四部分:Fleet Summary、Fleet Distribution、Active Alerts(含最多 10 台需关注机器及其可展开下钻)、Error Distribution。
  7. 校验交付:完成 CLI 契约的完整性检查,仅保留最终 HTML,并用 grep 检查 id="at-a-glance"、distribution、alerts、errors 及 </html> 存在、无未替换占位符,最后返回文件路径、范围、采集时间与错误窗口。

限制:分页摘要页会返回最多 10 台机器的有限结果,这是唯一有意为之的部分结果;限定范围报告中错误数据只能标注为租户级;严格限定范围时不应据此推断未见的组件分布。报告本身为静态离线 HTML。官方文档未提供的内容暂未提供。