fleet-health-report

作成者: nvidia

ライブのnvfleetintデータから、ノードのヘルス、容量、アクティブアラートの影響、最近のエラーなどを含む、スタンドアロンのフリート全体のHTMLヘルススナップショットを生成します。

npx skills add https://github.com/nvidia/fleet-intelligence-client --skill fleet-health-report

Fleet Health Report

Generate one offline HTML snapshot from fresh nvfleetint JSON. Read the CLI contract, HTML theme, and workspace guide before collecting data.

Workflow

1. Resolve and verify the profile

Resolve credentials before any report query:

nvfleetint auth list --output json
nvfleetint auth status --profile <profile> --output json

Use the user-named profile or the sole configured profile. If multiple profiles exist and none was requested, ask which one to use and identify the current one as the default suggestion. Require connection equal to ok, then pass the same explicit --profile <profile> to every API-backed command below.

2. Collect overview

Collect the tenant overview before inventory:

nvfleetint overview --profile <profile> --output json

Use it for the entire-fleet headline. In a scoped report, label it fleet-wide context and derive scoped totals from the filtered node list instead.

3. Collect inventory and resolve scope

Accept the entire fleet, compute-zone names, or node-group names. List compute zones first, node groups second, and nodes third. Resolve supplied names to IDs internally; clarify only ambiguous name matches.

Probe each list with the same filters, --view basic where supported, and --page-size 1 before its full pull. Collect the full lists in this order:

nvfleetint computezone list --all --profile <profile> --output json
nvfleetint nodegroup list --all --profile <profile> --output json
nvfleetint node list <scope> --all --profile <profile> --output json

After the first two lists, apply resolved --compute-zone-ids or --nodegroup-ids to the node query.

4. Collect recent errors

Pin one 24-hour error window. Use GNU date -u -d "@$now" and date -u -d "@$((now - 86400))", or BSD/macOS date -u -r "$now" and date -u -r "$now" -v-24H, formatted as RFC3339 UTC.

nvfleetint report error --view list --group-by error \
  --start "$start" --end "$end" --all \
  --profile <profile> --output json

Sum row count; pagination total counts grouped rows, not error occurrences. The error API cannot filter by zone/group, so label it tenant-wide in a scoped report or omit it when strictly scoped evidence is required.

5. Collect filtered active alerts

Discover the server-supported filter values first:

nvfleetint alert options --view active --profile <profile> --output json

From the returned componentTypes options, build a comma-separated list of component IDs excluding exact IDs psirt and agent_liveness. Stop if no component IDs remain.

Request the filtered count of all affected nodes and up to 10 machines ordered by active-alert count:

nvfleetint alert summary <scope> --view active \
  --component-type <component-types> \
  --sort-by alert --order desc --page-size 10 \
  --profile <profile> --output json

Use summary .total for all Nodes with Active Alerts and .totalCritical/.totalWarning for filtered fleet-wide severity totals. The bounded page contains up to 10 machines ordered by active-alert count; state showing N of total when applicable. Do not fetch every affected node merely to count or rank them.

For each returned UUID only, fetch its full filtered drill-down:

nvfleetint alert node <node_uuid> --view active \
  --component-type <component-types> --all \
  --profile <profile> --output json

Run at most four node calls concurrently. Alert collection invokes at most 12 nvfleetint commands: one options command, one summary command, and up to 10 node commands. An --all command may make multiple paginated requests.

6. Derive and write the report

  • Entire fleet: show overview.healthPercentage once as Fleet Health Percentage. Scoped: show 100 * healthy / total once as Healthy Node Percentage and its formula. Do not show both or repeat the percentage in Fleet Summary.
  • Keep node health/severity at source level; present fleet counts and distributions without an aggregate fleet severity badge.
  • Join the returned summary machines to inventory by UUID and preserve the returned order.
  • Use node-alert rows only for those machines' drill-down detail; do not infer unseen component distribution.

Apply the shared HTML theme and use these four report sections:

  1. Fleet Summary: executive summary, fleet totals, and health distribution.
  2. Fleet Distribution: compute zones, node groups, capacity, and operational signals.
  3. Active Alerts: filtered Nodes with Active Alerts, severity aggregates, Machines Needing Immediate Attention (up to 10), and one expandable per-machine drill-down showing component, status, start time, last update, and available evidence text.
  4. Error Distribution: grouped recent errors over the pinned window.

7. Validate and deliver

Apply the CLI contract's completeness checks. The bounded summary page is the only intentional partial result; use its top-level aggregates for fleet-wide claims. For an entire-fleet report, reconcile overview totals with complete inventory totals.

Validate the final HTML:

for id in at-a-glance distribution alerts errors; do
  grep -q "id=\"$id\"" "$out" || exit 1
done
grep -q '</html>' "$out" && ! grep -qE '\[[a-z_]+\]' "$out"

Leave only the final HTML and return its path, scope, collection time, and error window.

nvidiaのその他のスキル

compileiq-debug
nvidia
何かがおかしいときに使用:Search()がハングする、すべての評価がINVALID_SCOREを返す、スコアが改善しない、すべての設定が同じ数値を返す、ptxasエラー…
create-github-pr
nvidia
gh CLIを使用してGitHubのプルリクエストを作成します。ユーザーが新しいPRを作成したい、コードをレビューに提出したい、またはプルリクエストを開きたい場合に使用します。トリガーキーワード -…
nemoclaw-maintainer-cross-issue-sweep
nvidia
他のオープンなIssueをスキャンし、特定のPRが修正する可能性があるものや、誤って壊す可能性があるものを見つけます。隣接修正の機会や矛盾リスクをfile:line…と共に出力します。
fhir-basics
nvidia
エージェントにFHIR R4 APIの動作方法、利用可能なリソース、検索パラメータを使ったクエリ方法、およびすべてのレスポンス形式を正しく解析する方法を教えます…
compileiq-validate-result
nvidia
検索が完了した後、かつスピードアップの申請やACFの発送の前に使用します。dump_results CSVを読み込み、トップK候補(単一目的)を抽出します…
changelog-audit
nvidia
リリース前にWarp CHANGELOG.mdを監査:失われたエントリを復元、ユーザー影響で並べ替え、エントリの文言を洗練、行折り返し、および(リリースブランチモードで)比較をバンプ…
maintain-dynamic-plugins
nvidia
NeMo Relayの動的プラグインローダー、マニフェスト、RustネイティブSDK、gRPCワーカープロトコル、PythonワーカーSDK、ドキュメント、テスト、およびリリースワークフローのカバレッジを維持する
dgx-diagnose
nvidia
一般的なDGX Station GB300の問題(CUDAクラッシュ、誤ったGPUターゲット、vLLM/SGLangコンテナのバグ、MIG状態の問題、NVLink/Fabric Managerエラーなど)を診断します。