fleet-health-report

par nvidia

Générez un instantané HTML autonome de l’état de santé de la flotte à partir des données nvfleetint en direct, incluant la santé des nœuds, la capacité, l’impact des alertes actives, les erreurs récentes, et…

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.

Plus de skills de nvidia

compileiq-debug
nvidia
Utilisez quand quelque chose ne va pas : Search() bloque, toutes les évaluations retournent INVALID_SCORE, les scores ne s'améliorent pas, chaque configuration retourne le même nombre, erreurs ptxas…
create-github-pr
nvidia
Créer des pull requests GitHub en utilisant l'interface en ligne de commande gh. Utiliser lorsque l'utilisateur souhaite créer une nouvelle PR, soumettre du code pour révision, ou ouvrir une pull request. Mots-clés de déclenchement -…
nemoclaw-maintainer-cross-issue-sweep
nvidia
Analyse les autres problèmes ouverts pour trouver ceux qu’une PR donnée pourrait également corriger ou casser accidentellement. Génère des opportunités de correctifs adjacents et des risques de contradiction avec fichier:ligne…
fhir-basics
nvidia
Apprend aux agents comment fonctionnent les API FHIR R4, quelles ressources sont disponibles, comment les interroger avec des paramètres de recherche, et comment analyser correctement tous les formats de réponse…
compileiq-validate-result
nvidia
Utiliser APRÈS qu'une recherche soit terminée et AVANT de réclamer un accélérateur ou d'expédier un ACF. Charge le CSV dump_results, extrait les K meilleurs candidats (mono-objectif)…
changelog-audit
nvidia
Auditer le CHANGELOG.md de Warp avant une publication : récupérer les entrées perdues, trier par impact utilisateur, affiner le langage des entrées, ajuster les retours à la ligne et (en mode branche de publication) mettre à jour la comparaison…
maintain-dynamic-plugins
nvidia
Maintenir les chargeurs de plugins dynamiques NeMo Relay, les manifestes, les SDK natifs Rust, le protocole worker gRPC, le SDK worker Python, la documentation, les tests et la couverture du workflow de publication
dgx-diagnose
nvidia
Diagnostiquer les problèmes courants du DGX Station GB300 — plantages CUDA, ciblage incorrect du GPU, bugs de conteneur vLLM/SGLang, problèmes d'état MIG, erreurs NVLink/Fabric Manager,…