La función Sistema de diagnóstico en línea (ODS) automatiza la depuración de NSX en tiempo de ejecución. ODS se implementa a través de runbooks que vienen incorporados en NSX. Los runbooks contienen procedimientos de depuración y tienen una observabilidad total de los componentes de NSX. Un runbook genera un informe de depuración. También genera artefactos de tiempo de ejecución de un problema, como la captura de paquetes, el volcado de núcleo activo del proceso de usuario y los resultados de scripts y herramientas. Estos artefactos se pueden recopilar más adelante y utilizarse para el análisis y la depuración sin conexión. Tenga en cuenta que no puede modificar un runbook predefinido.

Puede utilizar las API para realizar las siguientes operaciones de runbook:

  • Invocar un runbook para iniciar la depuración del tiempo de ejecución
  • Comprobar el informe de depuración
  • Descargar artefactos generados por el runbook invocado
  • Administrar el ciclo de vida de una guía de ejecución

Runbooks predefinidos

A partir de NSX 4.1.1, ODS también es compatible con Unified Appliance (UA). En la siguiente tabla, se especifican los runbooks y también los nodos en los que puede ejecutarlos.

Tabla 1.
Runbook Descripción Nodo Versión
PnicPerf Este runbook puede identificar problemas de rendimiento de transmisión y recepción de pNIC.

Este runbook adopta el identificador del puerto lógico que se va a diagnosticar como un argumento de entrada.

ESXi 4.1
OverlayTunnel Este runbook puede identificar errores de túnel de superposición, como el error de configuración de puerta de enlace cuando falta el túnel o el túnel está inactivo.

Este runbook adopta la dirección IP de VTEP de origen y la dirección IP de VTEP de destino como argumentos de entrada.

ESXi 4.1
PortBlock Este runbook puede identificar las causas del bloqueo de un puerto, como cuando un DVPort se bloquea debido a una configuración incorrecta de LSP/LS. ESXi 4.1
AdfCollect Este runbook de recopilación recopila datos de rendimiento de la ruta de datos de ESXi a través del recopilador de ADF.

Este runbook toma los siguientes argumentos de entrada:

  • advanced: si las herramientas avanzadas de rendimiento están habilitadas.
  • cycle: número de ciclos de recopilación de ADF.
  • interval: intervalo de espera entre ciclos de recopilación de ADF consecutivos en segundos.
ESXi 4.1
ControllerConn Este runbook puede identificar los problemas de conectividad del controlador provocados por un error del controlador, un error del proxy, una interrupción de red subyacente o un error de resolución de FQDN.

Este runbook adopta la dirección IP del host ESXi y la dirección IP del controlador como argumentos de entrada.

ESXi 4.1
NxgiPlatform

Este runbook diagnostica problemas en la ruta de datos de la plataforma NXGI, que controla varias funciones como MPS distribuido, Protección de endpoints, IDFW, IDS e Intelligence.

Este runbook toma la funcionalidad como argumento de entrada. Esta es la funcionalidad específica dependiente de NXGI (una de MPS, IDFW, IDS, EPP e Intelligence, con EPP por defecto) que se debe comprobar o depurar.

ESXi 4.1.1
VifInfo

Este runbook obtiene información detallada sobre una interfaz virtual, que se puede utilizar como entrada en otros runbooks.

Este runbook toma VIF como un argumento de entrada.

ESXi 4.1.1
EdgeHealth
Este runbook realiza las siguientes funciones:
  • Detecta los problemas comunes de Edge durante las implementaciones y las actualizaciones.
  • Sugiere soluciones alternativas para que el nodo de Edge vuelva a un estado correcto y reanude su funcionamiento normal.

Este runbook no tiene ningún argumento de entrada.

Edge 4.1.1
MacAddressInfo
Este runbook diagnostica problemas relacionados con una dirección MAC específica, y comprueba y corrige problemas de rendimiento en un conmutador de host. Realiza las siguientes funciones:
  • Para una dirección MAC y un conmutador de host específicos, este runbook obtiene los detalles de la dirección MAC (como MAC, VLAN, VNI y portID) de la tabla de direcciones MAC del conmutador de host y ofrece un diagnóstico si no hay una dirección MAC.
  • Para una dirección MAC estática determinada utilizada por una VNIC, también recupera la información de VLAN y VNI del puerto de VNIC.

Este runbook toma el nombre del conmutador de host y la dirección MAC como argumentos de entrada.

ESXi 4.1.1
EdgeDpBfd

Este runbook hace una clasificación de los problemas de BFD de NSX Edge.

Este runbook toma la IP de origen y la IP de destino de la sesión de BFD como argumentos de entrada. También toma una captura como argumento opcional para garantizar que solo se filtren y capturen los paquetes de BFD específicos de la sesión.

Edge 4.1.1
DistributedMps

Este runbook verifica el estado de la canalización de Malware Prevention Service (MPS) y diagnostica los problemas detectados con MPS, como cuando la protección no funciona en una máquina virtual en particular o determinados archivos no se están escaneado.

El argumento de entrada de este runbook es el UUID de la máquina virtual que se va a diagnosticar como protección.

ESXi 4.1.1
DuplicateVtepDetectorProvider

Este runbook detecta cualquier dirección IP o etiqueta duplicada en VTEP.

Este runbook no tiene ningún argumento de entrada.

UA 4.1.1
LspStaleInfo

Este runbook recupera los puertos lógicos obsoletos.

Este runbook no tiene ningún argumento de entrada.

UA
BgpNeighborState

Este runbook diagnostica varios flujos que pueden provocar que el vecino de BGP esté inactivo. El runbook también recopila los siguientes artefactos de soporte para la depuración sin conexión.

  • Captura de paquetes de BGP y BFD.
  • Resultados de ping y traceroute.

Este runbook toma los siguientes argumentos de entrada:

  • IP del mismo nivel: este es un argumento obligatorio y toma la dirección IP del vecino de BGP.
  • Nombre del enrutador lógico: es un argumento obligatorio y toma el nombre del enrutador lógico configurado por el usuario.
  • Captura de paquetes: este es un argumento opcional. Si se establece en True, el runbook capturará los paquetes de BGP/BFD. De forma predeterminada, esta opción está establecida en False.
Edge 4.1.1
PimMrouteState

Este runbook detecta la pérdida de tráfico de multidifusión que puede ocurrir por varios motivos.

Con una IP de origen del remitente de tráfico de multidifusión y una IP de grupo del tráfico de multidifusión, este runbook permitirá identificar la causa principal del problema y recopilará artefactos de soporte para la depuración sin conexión.

Este runbook toma la IP de origen, la IP de grupo y la dirección del tráfico como argumentos de entrada.

Edge 4.1.1
OspfNbrState

Este runbook detecta los problemas de estado de vecino de OSPF mediante el diagnóstico de varios flujos lógicos.

Este runbook toma la dirección IP del vecino como argumento de entrada.

Edge 4.1.1
IdpsDpStatus

Este runbook comprueba el estado del módulo de IDPS/IDS (en el motor de contexto) y el motor de IDPS. También compara los perfiles cargados, las reglas, las firmas y los eventos capturados tanto en el módulo IDPS como en el módulo del motor de IDPS.

Este runbook no tiene ningún argumento de entrada.

ESXi 4.1.1
NxgiPlatformUA

En este runbook se diagnosticaron problemas en el plano de administración de la plataforma NXGI, que controla varias funciones como MPS distribuido, Protección de endpoints, IDFW, IDS e Intelligence. Este runbook se puede utilizar junto con el runbook de NxgiPlatform que se ejecuta en los nodos de transporte.

Este runbook toma el identificador de nodo de transporte como argumento de entrada opcional.

UA 4.1.1
CorfuServer

Este runbook comprueba la estabilidad del diseño del servidor de Corfu, el ping de infraestructura y la condición de E/S del disco, así como el estado del compactor.

Para anular los días u horas de búsqueda predeterminados de los eventos de registro, este runbook toma los días y las horas de búsqueda como argumentos de entrada.

UA 4.1.1
EdgeIDPS

Este runbook comprueba y recupera las estadísticas de la firma de IDS/IPS presente en Edge.

Este runbook toma el identificador de firma como argumento de entrada.

Edge 4.1.1
EdgeRouting

Este runbook comprueba varios aspectos del estado de un enrutador lógico determinado y proporciona una lista de procesos de Edge que no están en estado correcto. El runbook proporciona indicaciones para solucionar los problemas comunes de enrutamiento norte/sur.

El runbook recopila diversa información e informa sobre el estado de los protocolos de enrutamiento, los túneles y los puertos. Realiza una comprobación de estado para la pila de enrutamiento y varios daemons utilizados por el enrutamiento en la instancia de Edge. Para la IP de destino proporcionada, comprueba las tablas RIB, FIB y ARP. También ejecuta un ping y traceroute mediante la dirección IP de origen y destino.

Este runbook toma los siguientes argumentos de entrada:
  • IP de destino/del mismo nivel: este es un argumento obligatorio.
  • IP de origen: este es un argumento obligatorio. La IP de origen se usará para ping y traceroute, y debe ser una dirección IP de la interfaz a la que se espera que se dirija la dirección IP de destino.
  • Nombre del enrutador lógico (LR): es un argumento obligatorio. Es el nombre del enrutador lógico tal como se configuró en el sistema.
Edge 4.1.1

PimConfigCheck

Este runbook proporciona más detalles sobre qué falló exactamente cuando Edge muestra el error routing_config_error. También ayuda a evaluar el problema.

Este runbook no tiene ningún argumento de entrada.

Edge 4.1.1
NCPPendingPod Este runbook depura el pod bloqueado en estado pendiente.

Este runbook toma como argumentos de entrada el espacio de nombres y el nombre del pod pendiente.

ESXi 4.1.2
PortStatusInfo Este runbook identifica problemas en un puerto conectado a vSwitch.

Este runbook toma el identificador de VIF como un argumento de entrada para recuperar los detalles del puerto.

ESXi 4.2.1

Pasos para depurar en tiempo de ejecución

Para depurar el tiempo de ejecución, siga estos pasos:

Paso 1: Recupere una lista de runbook predefinido.

Ejecute la siguiente API para recuperar una lista de runbooks predefinidos.

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

Esta API devuelve una lista de runbooks predefinidos junto con la siguiente información:

  • Detalles de configuración.
  • Tipo de nodo en el que se admite el runbook.
  • Detalles generales del runbook, como el identificador, el nombre y la ruta.
  • Detalles del parámetro, si alguno es necesario en el momento de invocar el runbook.

Ejemplo de respuesta:

{
    "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
}
En la respuesta anterior, se devuelven los siguientes runbooks predefinidos.
  • AdfCollect
  • ControllerConn
  • OverlayTunnel
  • PnicPerf
  • PortBlock

    Si un runbook requiere un parámetro en el momento de la invocación, los detalles del parámetro se especifican en la clave parameters. Por ejemplo, el runbook del túnel superpuesto requiere dos parámetros source y destination, que son direcciones IP de VTEP locales y remotas del túnel que se van a diagnosticar.

Paso 2: Obtenga los detalles de los parámetros del runbook.

Ejecute la siguiente API para recuperar los detalles de los parámetros de un runbook que desee invocar.

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"
            }
        }
    ]
}
Tenga en cuenta que, en la API de invocación de un runbook, parameter name se asigna a key y parameter type se asigna a value.
Paso 3: Invoque el runbook.

Ejecute la siguiente API para invocar un runbook.

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

Solicitud de ejemplo: invocar el runbook de túnel superpuesto.

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"
        }
    ]
}
target_node puede ser un nodo de host, un nodo de Edge o un nodo de Unified Appliance.

El identificador de un host o una instancia de Edge se puede obtener a través de la siguiente API.

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

La lista de identificadores de dispositivo se puede obtener de la API del clúster. El identificador válido es el identificador externo del dispositivo con la función de administrador.

https://{{MANAGER_IP}}/api/v1/cluster/nodes
Paso 4: Compruebe el informe del runbook invocado.

Ejecute la siguiente API para obtener el informe del runbook invocado.

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

Ejemplo de solicitud:

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

Ejemplo de respuesta:

{
    "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 respuesta devuelve cierta información de metadatos, por ejemplo la marca de tiempo y los detalles del sistema, como el nombre de host y el sistema operativo. El informe también devuelve el resultado de la depuración, sugerencia de corrección si hubiera alguna, junto con los pasos ejecutados para la depuración y el resultado de la acción de cada paso. Si la depuración se interrumpe por algún motivo, el campo operation_state tendrá un valor para definir el motivo de la interrupción. En caso de que la invocación del runbook no se realice correctamente, el informe proporcionará detalles del error y no mostrará los campos relacionados con la depuración.

Paso 5: Descargue los artefactos.
  1. Ejecute la siguiente API para recopilar artefactos.

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

    Ejemplo de solicitud:
    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 el parámetro advanced se establece en false en el momento de la invocación, el runbook recopilará información de topología, estadísticas de red, estadísticas de DP NSX e información de vínculo superior. Si el parámetro advanced se establece en true, el runbook también ejecutará herramientas de rendimiento avanzadas, como vmkstats (disponibles solo en la máquina física).

    El parámetro cycle define el número de veces que se ejecuta el recopilador de ADF en una invocación.

    El parámetro interval define el intervalo de espera entre ejecuciones consecutivas del recopilador de ADF. Solo surte efecto cuando el parámetro cycle se establece en mayor que 1.

    Ejemplo de respuesta:

    {
        "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. Ejecute la siguiente API para descargar los artefactos.

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

Si el runbook generó los artefactos, la API devolverá un archivo incluido; de lo contrario, devolverá un mensaje de error. Guarde la respuesta binaria en un archivo tar.gz. Este archivo contiene un informe de invocación de runbook (en JSON), así como un archivo tar para la recopilación de ADF realizada.

Cambiar una configuración de runbook

Primero se crea un grupo de nodos de transporte (TN) y, a continuación, se enlaza un perfil de runbook. Si cambia la configuración de un runbook, esta se cambiará en todos los nodos a los que está enlazado el perfil de runbook. Puede configurar si un runbook está habilitado o no, el tiempo de espera de depuración y la frecuencia con la que se puede invocar el runbook mediante el mecanismo de ciclo de limitación. El mecanismo de ciclo de limitación especifica el número de veces que se puede ejecutar un runbook en un tiempo específico.

Tenga en cuenta que un runbook solo puede tener un perfil, pero un nodo puede tener varios perfiles de runbook basados en los grupos de TN a los que pertenece. En este caso, el perfil con la prioridad más alta se aplica al nodo.

Para cambiar la configuración de un runbook, siga estos pasos.

Paso 1: Cree un grupo de TN de ESXi.

Ejecute la siguiente API para crear un grupo de TN.

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

Ejemplo de solicitud:

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"
}
Paso 2: Cambie la configuración del perfil de runbook y enlace el grupo de TN con el perfil.

Ejecute la siguiente API para cambiar la configuración:

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

Ejemplo de solicitud:

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
    }
}

En este ejemplo, throttle_cycle es 6 minutos y threshold_number es 2, lo que significa que en un período de 6 minutos, el runbook no se podrá invocar más de dos veces.

Para obtener información completa sobre las API de ODS, consulte la Guía de API de NSX Intelligence y NSX Application Platform.