La fonctionnalité du système de diagnostic en ligne (ODS) automatise le débogage de NSX lors de l'exécution. ODS est implémenté via des manuels d'exécution intégrés NSX. Les manuels d'exécution contiennent des procédures de débogage et disposent d'une observabilité complète des composants NSX. Un manuel d'exécution génère un rapport de débogage. Il génère également des artefacts d'exécution d'un problème tel que la capture de paquets, le vidage de mémoire en direct du processus utilisateur et la sortie des scripts et des outils. Ces artefacts peuvent être collectés ultérieurement et utilisés pour l'analyse et le débogage hors ligne. Notez que vous ne pouvez pas modifier un manuel d'exécution prédéfini.

Vous pouvez utiliser des API pour effectuer les opérations de manuel d'exécution suivantes :

  • Appeler un manuel d'exécution pour lancer le débogage d'exécution
  • Vérifier le rapport de débogage
  • Télécharger les artefacts générés par le manuel d'exécution appelé
  • Gérer le cycle de vie d'un manuel d'exécution

Manuels d'exécution prédéfinis

À partir de NSX 4.1.1, ODS est également pris en charge pour Unified Appliance (UA). Le tableau suivant répertorie les manuels d'exécution et également les nœuds sur lesquels vous pouvez les exécuter.

Tableau 1.
Manuel d'exécution Description Nœud Version
PnicPerf Ce manuel d'exécution peut identifier les problèmes de performances TX et RX de la carte réseau physique.

Ce manuel d'exécution utilise l'ID du port logique à diagnostiquer comme argument d'entrée.

ESXi 4.1
OverlayTunnel Ce manuel d'exécution peut identifier les échecs du tunnel de superposition tels qu'un tunnel d'erreur de configuration de la passerelle manquant ou un tunnel inactif.

Ce manuel d'exécution utilise l'adresse IP du VTEP source et l'adresse IP du VTEP de destination comme arguments d'entrée.

ESXi 4.1
PortBlock Ce manuel d'exécution peut identifier les causes du blocage d'un port, par exemple un DVPort peut être bloqué en raison d'une configuration LSP/LS incorrecte. ESXi 4.1
AdfCollect Ce manuel d'exécution collecte les données de performances du chemin de données ESXi via le collecteur ADF.

Ce manuel d'exécution prend les arguments d'entrée suivants :

  • avancé : indique si les outils de performance avancés sont activés.
  • cycle : nombre de cycles de collecte ADF.
  • intervalle : intervalle d'attente entre les cycles de collecte ADF consécutifs en secondes.
ESXi 4.1
ControllerConn Ce manuel d'exécution peut identifier les problèmes de connectivité du contrôleur causés par une panne du contrôleur, une panne de proxy, une panne du réseau de sous-couche ou un échec de résolution du nom de domaine complet.

Ce manuel d'exécution utilise l'adresse IP de l'hôte ESXi et l'adresse IP du contrôleur comme arguments d'entrée.

ESXi 4.1
NxgiPlatform

Ce manuel d'exécution diagnostique les problèmes dans le chemin de données de la plate-forme NXGI qui alimente diverses fonctionnalités, telles que MPS distribué, protection de point de terminaison, IDFW, IDS et Intelligence.

Ce manuel d'exécution utilise la fonctionnalité comme argument d'entrée. Il s'agit de la fonctionnalité dépendante spécifique de NXGI (une de MPS, IDFW, IDS, EPP et Intelligence avec EPP comme valeur par défaut) qui doit être vérifiée ou déboguée.

ESXi 4.1.1
VifInfo

Ce manuel d'exécution obtient des informations détaillées sur une interface virtuelle, qui peuvent être utilisées comme entrée dans d'autres manuels d'exécution.

Ce manuel d'exécution prend VIF comme argument d'entrée.

ESXi 4.1.1
EdgeHealth
Ce manuel d'exécution exécute les fonctions suivantes :
  • Trie les problèmes courants de mise hors service edge se produisant lors des déploiements et des mises à niveau.
  • Suggère des solutions pour remettre le nœud Edge dans un état sain et reprendre son fonctionnement normal.

Ce manuel d'exécution n'a pas d'argument d'entrée.

Edge 4.1.1
MacAddressInfo
Ce manuel d'exécution diagnostique les problèmes liés à une adresse MAC spécifique et vérifie et corrige les problèmes de performances sur un commutateur hôte. Il exécute les fonctions suivantes :
  • Pour une adresse MAC et un commutateur hôte donnés, ce manuel d'exécution obtient les détails de l'adresse MAC (tels que MAC, VLAN, VNI et portID) à partir de la table d'adresses MAC du commutateur hôte et fournit un diagnostic en cas d'absence d'adresse MAC.
  • Pour une adresse MAC statique donnée utilisée par une VNIC, elle récupère également les informations VLAN et VNI du port VNIC.

Ce manuel d'exécution prend le nom du commutateur hôte et l'adresse mac comme arguments d'entrée.

ESXi 4.1.1
EdgeDpBfd

Ce manuel d'exécution trie les problèmes NSX Edge BFD.

Ce manuel d'exécution prend l'adresse IP source et l'adresse IP de destination de la session BFD comme arguments d'entrée. Il prend également la capture comme argument facultatif pour s'assurer que seuls les paquets BFD spécifiques à la session sont filtrés et capturés.

Edge 4.1.1
DistributedMps

Ce manuel d'exécution vérifie la santé du pipeline Malware Prevention Service (MPS) et diagnostique tous les problèmes rencontrés avec MPS, par exemple si la protection ne fonctionne pas sur une machine virtuelle spécifique ou si certains fichiers n'ont pas été analysés.

L'argument d'entrée de ce manuel d'exécution est l'UUID de la machine virtuelle à diagnostiquer pour la protection.

ESXi 4.1.1
DuplicateVtepDetectorProvider

Ce manuel d'exécution détecte les adresses IP ou libellés en double dans les VTEP.

Ce manuel d'exécution n'a pas d'argument d'entrée.

UA 4.1.1
LspStaleInfo

Ce manuel d'exécution extrait les ports logiques périmés.

Ce manuel d'exécution n'a pas d'argument d'entrée.

UA
BgpNeighborState

Ce manuel d'exécution diagnostique divers flux qui peuvent entraîner l'inactivité du voisin BGP. Le manuel d'exécution collecte également les artefacts de prise en charge suivants pour le débogage hors ligne.

  • Capture de paquets BGP et BFD.
  • Résultats de la commande ping et du traceroute.

Ce manuel d'exécution prend les arguments d'entrée suivants :

  • Adresse IP de l'homologue : il s'agit d'un argument obligatoire qui prend l'adresse IP du voisin BGP.
  • Nom du routeur logique : il s'agit d'un argument obligatoire qui prend le nom du routeur logique configuré par l'utilisateur.
  • Capture de paquets : il s'agit d'un argument facultatif. Si cette option est définie sur True, le manuel d'exécution capture les paquets BGP/BFD. Par défaut, cette valeur est définie sur False.
Edge 4.1.1
PimMrouteState

Ce manuel d'exécution trie la perte de trafic multicast qui peut se produire pour diverses raisons.

Compte tenu de l'adresse IP source de l'expéditeur du trafic multicast et de l'adresse IP du groupe du trafic multicast, ce manuel d'exécution permet d'identifier la cause principale du problème et de collecter les artefacts de prise en charge pour le débogage hors ligne.

Ce manuel d'exécution prend l'adresse IP source, l'adresse IP de groupe et la direction du trafic comme arguments d'entrée.

Edge 4.1.1
OspfNbrState

Ce manuel d'exécution trie les problèmes d'état de voisin OSPF en diagnostiquant divers flux logiques.

Ce manuel d'exécution prend l'adresse IP du voisin comme argument d'entrée.

Edge 4.1.1
IdpsDpStatus

Ce manuel d'exécution vérifie l'état du module IDPS/IDS (moteur contextuel) et du moteur IDPS. Il compare également les profils, les règles, les signatures et les événements capturés chargés dans le module IDPS et le module moteur IDPS.

Ce manuel d'exécution n'a pas d'argument d'entrée.

ESXi 4.1.1
NxgiPlatformUA

Ce manuel d'exécution diagnostique les problèmes dans le plan de gestion de la plate-forme NXGI, qui alimente diverses fonctionnalités, telles que MPS distribué, protection de point de terminaison, IDFW, IDS et Intelligence. Ce manuel d'exécution peut être utilisé conjointement avec le manuel d'exécution NxgiPlatform qui s'exécute sur les nœuds de transport.

Ce manuel d'exécution prend l'ID du nœud de transport comme argument d'entrée facultatif.

UA 4.1.1
CorfuServer

Ce manuel d'exécution vérifie la stabilité de la disposition du serveur Corfu, le ping de l'infrastructure et la condition d'E/S de disque, ainsi que la santé du compacteur.

Pour remplacer les jours ou heures de récupération par défaut des événements de journaux, ce manuel d'exécution prend les jours et les heures de recherche en tant qu'arguments d'entrée.

UA 4.1.1
EdgeIDPS

Ce manuel d'exécution vérifie et récupère les statistiques de la signature IDS/IPS présente dans le dispositif Edge.

Ce manuel d'exécution utilise l'ID de signature comme argument d'entrée.

Edge 4.1.1
EdgeRouting

Ce manuel d'exécution vérifie plusieurs aspects de la santé d'un routeur logique donné et fournit une liste des processus Edge qui ne sont pas en bonne santé. Le manuel d'exécution fournit des instructions de dépannage pour les problèmes courants de routage nord/sud.

Le manuel d'exécution rassemble diverses informations et indique l'état des protocoles de routage, des tunnels et des ports. Il effectue un contrôle de santé pour la pile de routage et différents démons utilisés par le routage sur le dispositif Edge. Pour l'adresse IP de destination fournie, il vérifie les tables RIB, FIB et ARP. Il exécutera également un test ping et de traceroute à l'aide des adresses IP source et de destination.

Ce manuel d'exécution prend les arguments d'entrée suivants :
  • Adresse IP de destination/de l'homologue : il s'agit d'un argument obligatoire.
  • Adresse IP source : il s'agit d'un argument obligatoire. L'adresse IP source est utilisée pour le test ping et de traceroute, et doit être une adresse IP de l'interface vers laquelle l'adresse IP de destination doit être dirigée.
  • Nom du routeur logique (LR) : il s'agit d'un argument obligatoire. Il s'agit du nom du routeur logique tel que configuré dans le système.
Edge 4.1.1

PimConfigCheck

Ce manuel d'exécution fournit plus de détails sur ce qui a échoué exactement lorsque le dispositif Edge génère une erreur routing_config_error. Il aide également à trier le problème.

Ce manuel d'exécution n'a pas d'argument d'entrée.

Edge 4.1.1
NCPPendingPod Ce manuel d'exécution débogue l'espace bloqué dans un état d'attente.

Ce manuel d'exécution prend l'espace de noms et le nom de l'espace en attente comme arguments d'entrée.

ESXi 4.1.2
PortStatusInfo Ce runbook identifie les problèmes sur un port connecté à vSwitch.

Ce runbook utilise l'ID de VIF comme argument d'entrée pour récupérer les détails du port.

ESXi 4.2.1

Étapes de débogage lors de l'exécution

Pour déboguer lors de l'exécution, procédez comme suit :

Étape 1 : extrayez une liste de manuels d'exécution prédéfinis.

Exécutez l'API suivante pour extraire une liste de manuels d'exécution prédéfinis.

GET https://<nsx-mgr>/policy/api/v1/infra/sha/pre-defined-runbooks

Cette API renvoie une liste de manuels d'exécution prédéfinis avec les informations suivantes :

  • Détails de la configuration.
  • Type de nœud sur lequel le manuel d'exécution est pris en charge.
  • Détails généraux du manuel d'exécution tels que l'ID, le nom et le chemin d'accès.
  • Détails du paramètre, le cas échéant, au moment de l'appel du manuel d'exécution.

Exemple de réponse :

{
    "results": [
        {
            "version": {
                "major": 1,
                "minor": 0
            },
            "default_config": {
                "enabled": true,
                "timeout": 300,
                "threshold_number": 5,
                "throttle_cycle": 10
            },
            "supported_node_types": [
                "nsx-esx"
            ],
            "parameters": [
                {
                    "name": "advanced",
                    "optional": true,
                    "parameter_type": "BOOLEAN",
                    "default_value": "False"
                },
                {
                    "name": "cycle",
                    "optional": false,
                    "parameter_type": "INTEGER",
                    "max": "20",
                    "min": "1"
                },
                {
                    "name": "interval",
                    "optional": true,
                    "parameter_type": "INTEGER",
                    "max": "300",
                    "min": "1"
                }
            ],
            "resource_type": "OdsPredefinedRunbook",
            "id": "00000000-0000-4164-6643-6f6c6c656374",
            "display_name": "AdfCollect",
            "path": "/infra/sha/pre-defined-runbooks/00000000-0000-4164-6643-6f6c6c656374",
            "relative_path": "00000000-0000-4164-6643-6f6c6c656374",
            "parent_path": "/infra",
            "remote_path": "",
            "unique_id": "069a4c7b-532a-4926-a402-6a7986a306b2",
            "realization_id": "069a4c7b-532a-4926-a402-6a7986a306b2",
            "owner_id": "f2a2a9e1-2578-435d-877d-47e01eb04954",
            "origin_site_id": "f2a2a9e1-2578-435d-877d-47e01eb04954",
            "marked_for_delete": false,
            "overridden": false,
            "_create_time": 1669600880454,
            "_create_user": "system",
            "_last_modified_time": 1669600880454,
            "_last_modified_user": "system",
            "_system_owned": false,
            "_revision": 0
        },
        {
            "version": {
                "major": 1,
                "minor": 0
            },
            "default_config": {
                "enabled": true,
                "timeout": 60,
                "threshold_number": 5,
                "throttle_cycle": 3
            },
            "supported_node_types": [
                "nsx-esx"
            ],
            "resource_type": "OdsPredefinedRunbook",
            "id": "0000436f-6e74-726f-6c6c-6572436f6e6e",
            "display_name": "ControllerConn",
            "path": "/infra/sha/pre-defined-runbooks/0000436f-6e74-726f-6c6c-6572436f6e6e",
            "relative_path": "0000436f-6e74-726f-6c6c-6572436f6e6e",
            "parent_path": "/infra",
            "remote_path": "",
            "unique_id": "3914cbe4-41b4-45f1-9dad-2bd96a2de0d8",
            "realization_id": "3914cbe4-41b4-45f1-9dad-2bd96a2de0d8",
            "owner_id": "f2a2a9e1-2578-435d-877d-47e01eb04954",
            "origin_site_id": "f2a2a9e1-2578-435d-877d-47e01eb04954",
            "marked_for_delete": false,
            "overridden": false,
            "_create_time": 1669600880493,
            "_create_user": "system",
            "_last_modified_time": 1669600880493,
            "_last_modified_user": "system",
            "_system_owned": false,
            "_revision": 0
        },
        {
            "version": {
                "major": 1,
                "minor": 0
            },
            "default_config": {
                "enabled": true,
                "timeout": 120,
                "threshold_number": 5,
                "throttle_cycle": 5
            },
            "supported_node_types": [
                "nsx-esx"
            ],
            "parameters": [
                {
                    "name": "src",
                    "optional": false,
                    "parameter_type": "COMPOUND"
                },
                {
                    "name": "dst",
                    "optional": false,
                    "parameter_type": "COMPOUND"
                }
            ],
            "resource_type": "OdsPredefinedRunbook",
            "id": "0000004f-7665-726c-6179-54756e6e656c",
            "display_name": "OverlayTunnel",
            "path": "/infra/sha/pre-defined-runbooks/0000004f-7665-726c-6179-54756e6e656c",
            "relative_path": "0000004f-7665-726c-6179-54756e6e656c",
            "parent_path": "/infra",
            "remote_path": "",
            "unique_id": "3597af28-e670-456e-8347-4d1a53a5cb90",
            "realization_id": "3597af28-e670-456e-8347-4d1a53a5cb90",
            "owner_id": "f2a2a9e1-2578-435d-877d-47e01eb04954",
            "origin_site_id": "f2a2a9e1-2578-435d-877d-47e01eb04954",
            "marked_for_delete": false,
            "overridden": false,
            "_create_time": 1669600880518,
            "_create_user": "system",
            "_last_modified_time": 1669600880518,
            "_last_modified_user": "system",
            "_system_owned": false,
            "_revision": 0
        },
        {
            "version": {
                "major": 1,
                "minor": 0
            },
            "default_config": {
                "enabled": true,
                "timeout": 120,
                "threshold_number": 5,
                "throttle_cycle": 5
            },
            "supported_node_types": [
                "nsx-esx"
            ],
            "parameters": [
                {
                    "name": "lsp",
                    "optional": false,
                    "parameter_type": "STRING"
                }
            ],
            "resource_type": "OdsPredefinedRunbook",
            "id": "00000000-0000-0000-506e-696350657266",
            "display_name": "PnicPerf",
            "path": "/infra/sha/pre-defined-runbooks/00000000-0000-0000-506e-696350657266",
            "relative_path": "00000000-0000-0000-506e-696350657266",
            "parent_path": "/infra",
            "remote_path": "",
            "unique_id": "53f29b77-dcf5-4561-85ec-8f35280e3f3a",
            "realization_id": "53f29b77-dcf5-4561-85ec-8f35280e3f3a",
            "owner_id": "f2a2a9e1-2578-435d-877d-47e01eb04954",
            "origin_site_id": "f2a2a9e1-2578-435d-877d-47e01eb04954",
            "marked_for_delete": false,
            "overridden": false,
            "_create_time": 1669600880553,
            "_create_user": "system",
            "_last_modified_time": 1669600880553,
            "_last_modified_user": "system",
            "_system_owned": false,
            "_revision": 0
        },
        {
            "version": {
                "major": 1,
                "minor": 0
            },
            "default_config": {
                "enabled": true,
                "timeout": 60,
                "threshold_number": 5,
                "throttle_cycle": 3
            },
            "supported_node_types": [
                "nsx-esx"
            ],
            "parameters": [
                {
                    "name": "vif",
                    "optional": false,
                    "parameter_type": "STRING"
                }
            ],
            "resource_type": "OdsPredefinedRunbook",
            "id": "00000000-0000-0050-6f72-74426c6f636b",
            "display_name": "PortBlock",
            "path": "/infra/sha/pre-defined-runbooks/00000000-0000-0050-6f72-74426c6f636b",
            "relative_path": "00000000-0000-0050-6f72-74426c6f636b",
            "parent_path": "/infra",
            "remote_path": "",
            "unique_id": "6f411a92-30c0-4838-9758-c00220cb5fab",
            "realization_id": "6f411a92-30c0-4838-9758-c00220cb5fab",
            "owner_id": "f2a2a9e1-2578-435d-877d-47e01eb04954",
            "origin_site_id": "f2a2a9e1-2578-435d-877d-47e01eb04954",
            "marked_for_delete": false,
            "overridden": false,
            "_create_time": 1669600880572,
            "_create_user": "system",
            "_last_modified_time": 1669600880572,
            "_last_modified_user": "system",
            "_system_owned": false,
            "_revision": 0
        }
    ],
    "result_count": 5,
    "sort_by": "display_name",
    "sort_ascending": true
}
Dans la réponse ci-dessus, les manuels d'exécution prédéfinis suivants sont renvoyés.
  • AdfCollect
  • ControllerConn
  • OverlayTunnel
  • PnicPerf
  • PortBlock

    Si un manuel d'exécution nécessite un paramètre au moment de l'appel, les détails du paramètre sont spécifiés dans la clé parameters. Par exemple, le manuel d'exécution du tunnel de superposition nécessite deux paramètres, source et destination, qui sont des adresses IP VTEP locales et distantes du tunnel à diagnostiquer.

Étape 2 : obtenez les détails des paramètres du runbook.

Exécutez l'API suivante pour extraire les détails des paramètres d'un runbook que vous souhaitez appeler.

https://{{MANAGER_IP}}/policy/api/v1/infra/sha/pre-defined-runbooks/0000004f-7665-726c-6179-54756e6e656c/help
{
    "summary": "Runbook to diagnose overlay tunnel issues.",
    "parameter_info": [
        {
            "summary": "IP address of source VTEP",
            "parameter": {
                "name": "src",
                "optional": false,
                "parameter_type": "COMPOUND"
            }
        },
        {
            "summary": "IP address of destination VTEP",
            "parameter": {
                "name": "dst",
                "optional": false,
                "parameter_type": "COMPOUND"
            }
        }
    ]
}
Notez que parameter name est mappé à key et que parameter type est mappé à value dans l'API d'appel d'un runbook.
Étape 3 : appelez le runbook.

Exécutez l'API suivante pour appeler un manuel d'exécution.

POST https://<nsx-mgr>/policy/api/v1/infra/sha/runbook-invocations/<invoke-name>

Exemple de demande : appel du manuel d'exécution du tunnel de superposition.

POST https://<nsx-mgr>/policy/api/v1/infra/sha/runbook-invocations/OverlayTunnel
{
    "runbook_path": "/infra/sha/pre-defined-runbooks/0000004f-7665-726c-6179-54756e6e656c",
    "target_node": "6c7a9374-459d-46b2-9ea6-c63b37c7cc38",
    "arguments": [
        {
            "key": "src",
            "value": "192.168.0.11"
        },
        {
            "key": "dst",
            "value": "192.168.0.10"
        }
    ]
}
Le target_node peut être un nœud hôte, un nœud Edge ou un nœud Unified Appliance.

L'ID d'un hôte ou d'un dispositif Edge peut être obtenu via l'API suivante.

https://{{MANAGER_IP}}/api/v1/transport-nodes

La liste des ID de dispositif peut être obtenue à partir de l'API du cluster. L'ID valide est l'ID externe du dispositif disposant du rôle de gestionnaire.

https://{{MANAGER_IP}}/api/v1/cluster/nodes
Étape 4 : vérifiez le rapport du runbook appelé.

Exécutez l'API suivante pour obtenir le rapport du manuel d'exécution appelé.

GET https://<nsx-mgr>/policy/api/v1/infra/sha/runbook-invocations/<invoke-name>/report

Exemple de demande :

GET https://<nsx-mgr>/policy/api/v1/infra/sha/runbook-invocations/OverlayTunnel/report

Exemple de réponse :

{
    "invocation_id": "70527fed-1e5e-4fed-a880-28cde04a66b1",
    "target_node": "6c7a9374-459d-46b2-9ea6-c63b37c7cc38",
    "timestamp": 1662469099,
    "sys_info": {
        "host_name": "sc2-10-185-4-158.eng.vmware.com",
        "os_name": "VMkernel",
        "os_version": "7.0.3"
    },
    "result_message": "Tunnel 192.168.0.11 -> 192.168.0.10 is in up state",
    "recommendation_message": "No changes required as the tunnel is in up state.",
    "step_details": [
        {
            "step_id": 1,
            "action_summary": "Check the status of tunnel for the given source/destination VTEPs.",
            "action_result": "Tunnel 192.168.0.11 -> 192.168.0.10 is in state up"
        }
    ],
    "status": {
        "request_status": "SUCCESS",
        "operation_state": "FINISHED"
    }
}

La réponse renvoie des informations sur les métadonnées telles que l'état et les détails du système (le nom d'hôte et le système d'exploitation par exemple). Le rapport renvoie également le résultat du débogage, la suggestion de correction, le cas échéant, ainsi que les étapes exécutées pour le débogage avec le résumé des actions et le résultat de l'action de chaque étape. Si le débogage est interrompu pour une raison quelconque, le champ operation_state contient une valeur pour définir la raison de l'interruption. Si l'invocation du manuel d'exécution échoue, le rapport fournit des détails sur l'erreur et n'affiche pas les champs associés au débogage.

Étape 5 : téléchargez les artefacts.
  1. Exécutez l'API suivante pour collecter des artefacts.

    POST https://{{mgr-ip}}/policy/api/v1/infra/sha/runbook-invocations/{{invocation-name}}

    Exemple de demande :
    POST https://{{mgr-ip}}/policy/api/v1/infra/sha/runbook-invocations/{{invocation-name}}
    {
        "runbook_path": "/infra/sha/pre-defined-runbooks/00000000-0000-4164-6643-6f6c6c656374",
        "target_node": "{{target-node}}",
        "arguments": [
            {
                "key": "advanced",
                "value": "{{advanced-mode}}"
            },
            {
                "key": "cycle",
                "value": "{{cycle-count}}"
            },
            {
                "key": "interval",
                "value": "{{interval-in-sec}}"
            }
        ]
    }

    Si le paramètre advanced est défini sur false au moment de l'appel, le manuel d'exécution collecte des informations de topologie, des statistiques réseau, des statistiques NSX DP et des informations de liaison montante. Si le paramètre advanced est défini sur true, le manuel d'exécution exécute également des outils de performances avancés tels que vmkstats (disponible uniquement sur la machine physique).

    Le paramètre cycle définit le nombre de fois où le collecteur ADF est exécuté dans un appel.

    Le paramètre interval définit l'intervalle d'attente entre les exécutions consécutives du collecteur ADF. Il prend effet uniquement lorsque le paramètre cycle est défini sur une valeur supérieure à 1.

    Exemple de réponse :

    {
        "invocation_id": "80a0037a-52e1-48d7-b28e-c3bfb8475e8c",
        "target_node": "b794f78f-7eb0-433f-8f11-63e6b3121c28",
        "timestamp": 1668674073,
        "sys_info": {
            "host_name": "sc2-rdops-vm06-dhcp-204-101.eng.vmware.com",
            "os_name": "VMkernel",
            "os_version": "7.0.3"
        },
        "result_message": "ADF data collection runbook completes.",
        "recommendation_message": "No action needs to be taken.",
        "step_details": [
            {
                "step_id": 1,
                "action_summary": "Run ADF collector.",
                "action_result": "ADF data collection is successfully performed in the following time point(s) along with the following artifact(s): [(2022-11-17 08:35:30, a44f0446-0ac3-4e7f-8513-fb1248985d9e.tar)]",
                "artifacts": [
                    "a44f0446-0ac3-4e7f-8513-fb1248985d9e"
                ]
            }
        ],
        "status": {
            "request_status": "SUCCESS",
            "operation_state": "FINISHED"
        }
    }
  2. Exécutez l'API suivante pour télécharger les artefacts.

    GET https://<nsx-mgr>/policy/api/v1/infra/sha/runbook-invocations/<invoke-name>/artifact

Si le manuel d'exécution a généré les artefacts, l'API renvoie un fichier groupé. Sinon, elle renvoie un message d'erreur. Enregistrez la réponse binaire dans un fichier tar.gz. Ce fichier contient un rapport d'appel de manuel d'exécution (au format JSON) ainsi qu'un fichier tar pour la collecte ADF effectuée.

Modification d'une configuration de manuel d'exécution

Un groupe de nœuds de transport (TN) est d'abord créé puis un profil de manuel d'exécution lui est lié. Si vous modifiez la configuration d'un manuel d'exécution, elle est modifiée sur tous les nœuds auxquels le profil de manuel d'exécution est lié. Vous pouvez configurer si un manuel d'exécution est activé ou non, le délai d'expiration du débogage et la fréquence à laquelle le manuel d'exécution peut être appelé à l'aide du mécanisme de cycle de limitation. Le mécanisme de cycle de limitation spécifie le nombre de fois qu'un manuel d'exécution peut être exécuté à une heure spécifique.

Notez qu'un manuel d'exécution ne peut avoir qu'un seul profil, mais qu'un nœud peut avoir plusieurs profils de manuel d'exécution basés sur les groupes TN auxquels il appartient. Dans ce cas, le profil ayant la priorité la plus élevée est appliqué sur le nœud.

Pour modifier le configuration d'un manuel d'exécution, procédez comme suit :

Étape 1 : créez un groupe TN d'ESXi.

Exécutez l'API suivante pour créer un groupe TN.

PATCH https://<nsx-mgr>/policy/api/v1/infra/domains/default/groups/<group-name>

Exemple de demande :

PATCH https://<nsx-mgr>/policy/api/v1/infra/domains/default/groups/<group-name>
{
    "expression": [
        {
            "paths": [
                "/infra/sites/default/enforcement-points/default/host-transport-nodes/TN1"
            ],
            "resource_type": "PathExpression"
        }
    ],
    "extended_expression": [],
    "reference": false,
    "group_type": [],
    "resource_type": "Group"
}
Étape 2 : modifiez la configuration du profil de manuel d'exécution et liez le groupe TN au profil.

Exécutez l'API suivante pour modifier la configuration,

PATCH https://<nsx-mgr>/policy/api/v1/infra/sha/runbook-profiles/<profile-name>

Exemple de demande :

PATCH https://<nsx-mgr>/policy/api/v1/infra/sha/runbook-profiles/<profile-name>
{
    "runbook_path": "/infra/sha/pre-defined-runbooks/0000004f-7665-726c-6179-54756e6e656c",
    "applied_to_group_path": "/infra/domains/default/groups/tngroup2",
    "config": {
        "enabled": true,
        "timeout": 120,
        "threshold_number": 2,
        "throttle_cycle": 6
    }
}

Dans cet exemple, le throttle_cycle est de 6 minutes et le hreshold_number est 2, ce qui signifie qu'en 6 minutes, le manuel d'exécution ne peut pas être appelé plus de deux fois.

Pour obtenir des informations complètes sur les API ODS, reportez-vous au Guide de l'API de NSX Intelligence et de NSX Application Platform.