線上診斷系統 (ODS) 功能可在執行階段自動偵錯 NSX。ODS 是透過 NSX 中內建的 Runbook 來實作。Runbook 包含偵錯程序,能全面觀察 NSX 元件。Runbook 會產生偵錯報告。此外,它還會產生問題的執行階段構件,例如:封包擷取、使用者程序即時核心傾印,以及指令碼和工具的輸出。這些構件可以稍後收集,並用來進行離線分析和偵錯。請注意,您無法修改預先定義的 Runbook。

您可以使用 API 執行以下 Runbook 作業:

  • 叫用 Runbook,以起始執行階段偵錯
  • 檢查偵錯報告
  • 下載由所叫用的 Runbook 產生的構件
  • 管理 Runbook 的生命週期

預先定義的 Runbook

NSX 4.1.1 開始,Unified Appliance (UA) 也支援 ODS。下表列出 Runbook 以及可用來執行這些 Runbook 的節點。

表 1.
Runbook 說明 節點 版本
PnicPerf 此 Runbook 可以識別 pNIC 接收和傳輸效能問題。

此 Runbook 會採用邏輯連接埠的識別碼作為輸入引數,來進行診斷。

ESXi 4.1
OverlayTunnel 此 Runbook 可以識別覆疊通道故障,例如:閘道組態錯誤、通道遺失、通道關閉。

此 Runbook 會採用來源 VTEP 的 IP 位址和目的地 VTEP 的 IP 位址,以作為輸入引數。

ESXi 4.1
PortBlock 此 Runbook 可以識別連接埠遭封鎖的原因,例如:DVPort 可能因 LSP/LS 組態不正確而遭到封鎖。 ESXi 4.1
AdfCollect 此 Runbook 會透過 ADF 收集器來收集 ESXi 資料路徑效能資料。

此 Runbook 會採用以下輸入引數:

  • advanced:是否啟用進階效能工具。
  • cycle:ADF 收集週期的數目。
  • interval:連續 ADF 收集週期之間的等待間隔 (以秒為單位)。
ESXi 4.1
ControllerConn 此 Runbook 可以識別因控制器故障、Proxy 故障、底層網路中斷或 FQDN 解析失敗,而導致的控制器連線問題。

此 Runbook 會採用 ESXi 主機的 IP 位址和控制器的 IP 位址,以作為輸入引數。

ESXi 4.1
NxgiPlatform

此 Runbook 會診斷 NXGI 平台資料路徑中的問題,並支援各種不同的功能,例如:分散式 MPS、端點保護、IDFW、IDS 和 Intelligence。

此 Runbook 會採用該功能以作為輸入引數。這是特定的 NXGI 相依功能 (MPS、IDFW、IDS、EPP 和 Intelligence 之一,預設為 EPP),且需要檢查或偵錯。

ESXi 4.1.1
VifInfo

此 Runbook 會取得虛擬介面的詳細資訊,這些資訊可作為其他 Runbook 的輸入。

此 Runbook 會採用 VIF 以作為輸入引數。

ESXi 4.1.1
EdgeHealth
此 Runbook 會執行以下功能:
  • 將部署和升級期間所發生的一般 Edge 關閉問題加以分級。
  • 提供因應措施建議,以將 Edge 節點恢復為良好狀態,並繼續正常運作。

此 Runbook 沒有任何輸入引數。

Edge 4.1.1
MacAddressInfo
此 Runbook 會診斷特定 MAC 位址的相關問題,並檢查及修復主機交換器的效能問題。它會執行以下功能:
  • 對於給定的 MAC 位址和主機交換器,此 Runbook 會從主機交換器 MAC 位址資料表中取得 MAC 位址詳細資料 (例如 MAC、VLAN、VNI 和 portID),假設 MAC 不存在,則會提供診斷。
  • 對於 VNIC 使用的給定靜態 MAC 位址,它也會擷取 VNIC 連接埠的 VLAN 和 VNI 資訊。

此 Runbook 會採用主機交換器名稱和 MAC 位址,以作為輸入引數。

ESXi 4.1.1
EdgeDpBfd

此 Runbook 會將 NSX Edge BFD 問題加以分級。

此 Runbook 會採用 BFD 工作階段的來源 IP 和目的地 IP,以作為輸入引數。它還會採用擷取功能作為選用引數,以確保只會篩選及擷取工作階段的特定 BFD 封包。

Edge 4.1.1
DistributedMps

此 Runbook 會驗證「惡意程式碼防護服務 (MPS)」管線的健全狀況,並診斷 MPS 所遇到的任何問題,例如:特定虛擬機器上的防護不起作用或某些檔案未掃描。

此 Runbook 的輸入引數是要進行防護診斷的虛擬機器的虛擬機器 UUID。

ESXi 4.1.1
DuplicateVtepDetectorProvider

此 Runbook 會偵測 VTEP 中任何重複的 IP 或標籤。

此 Runbook 沒有任何輸入引數。

UA 4.1.1
LspStaleInfo

此 Runbook 會擷取失效的邏輯連接埠。

此 Runbook 沒有任何輸入引數。

UA
BgpNeighborState

此 Runbook 會診斷可能導致 BGP 芳鄰關閉的各種流量。此 Runbook 還會收集以下的支援構件,以進行離線偵錯。

  • BGP 和 BFD 封包擷取。
  • Ping 和 traceroute 結果。

此 Runbook 會採用以下輸入引數:

  • 對等 IP:這是必要引數,且會採用 BGP 芳鄰 IP 位址。
  • 邏輯路由器名稱:這是必要引數,且會採用使用者設定的邏輯路由器名稱。
  • 封包擷取:這是可用引數。如果此值設為 True,則 Runbook 將擷取 BGP/BFD 封包。依預設,會設為 False。
Edge 4.1.1
PimMrouteState

此 Runbook 會將因各種原因而發生的多點傳播流量遺失加以分級。

提供多點傳播流量傳送端的來源 IP 和多點傳播流量的群組 IP 後,此 Runbook 有助於識別問題的根本原因,並收集支援構件,以進行離線偵錯。

此 Runbook 會採用來源 IP、群組 IP 和流量方向,以作為輸入引數。

Edge 4.1.1
OspfNbrState

此 Runbook 會診斷各種邏輯流量,將 OSPF 芳鄰狀態問題加以分級。

此 Runbook 會採用芳鄰 IP 位址作為輸入引數。

Edge 4.1.1
IdpsDpStatus

此 Runbook 會檢查 IDPS/IDS 模組 (內容引擎) 和 IDPS 引擎的狀態。此外,還會比較 IDPS 模組和 IDPS 引擎模組中已載入的設定檔、規則、簽章和擷取的事件。

此 Runbook 沒有任何輸入引數。

ESXi 4.1.1
NxgiPlatformUA

此 Runbook 會診斷 NXGI 平台的管理平面中的問題,並支援各種不同的功能,例如:分散式 MPS、端點保護、IDFW、IDS、Intelligence。此 Runbook 可以與執行於傳輸節點上的 NxgiPlatform Runbook 結合使用。

此 Runbook 會採用傳輸節點識別碼作為選用的輸入引數。

UA 4.1.1
CorfuServer

此 Runbook 會檢查 Corfu 伺服器配置的穩定性、基礎結構 ping 和磁碟 IO 狀況,以及壓縮器健全狀況。

為了覆寫記錄事件的預設回溯天數或小時數,此 Runbook 會採用回溯天數和回溯小時數作為輸入引數。

UA 4.1.1
EdgeIDPS

此 Runbook 會檢查及擷取存在於 Edge 中的 IDS/IPS 特徵碼統計資料。

此 Runbook 會採用特徵碼識別碼作為輸入引數。

Edge 4.1.1
EdgeRouting

此 Runbook 會多方面檢查給定邏輯路由器健全狀況,並提供狀況不良的 Edge 程序清單。該 Runbook 會針對一般的南北向路由問題,提供疑難排解方向。

Runbook 會收集各種資訊,並報告路由通訊協定、通道和連接埠的狀態。它會對 Edge 上路由所使用的路由堆疊和各種精靈,執行健全狀況檢查。對於提供的目的地 IP,它會檢查 RIB、FIB 和 ARP 資料表。它還會使用來源和目的地 IP,來執行 ping 和 traceroute。

此 Runbook 會採用以下輸入引數:
  • 目的地/對等 IP:這是必要引數。
  • 來源 IP:這是必要引數。來源 IP 會用於 ping 和 traceroute,且這個 IP 必須來自預期目的地 IP 會導向至的介面。
  • 邏輯路由器 (LR) 名稱:這是必要引數。這是系統中設定的邏輯路由器名稱。
Edge 4.1.1

PimConfigCheck

此 Runbook 會將提供更多詳細資料,來說明當 Edge 擲回 routing_config_error 時明確的失敗項目。它還有助於將問題分級。

此 Runbook 沒有任何輸入引數。

Edge 4.1.1
NCPPendingPod 此 Runbook 會對停滯在擱置狀態的網繭進行偵錯。

此 Runbook 會採用擱置網繭的命名空間和名稱,以作為輸入引數。

ESXi 4.1.2

執行階段的偵錯步驟

若要在執行階段進行偵錯,請執行以下步驟:

步驟 1:擷取預先定義的 Runbook 清單。

執行以下 API,以擷取預先定義的 Runbook 清單。

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

此 API 會傳回預先定義的 Runbook 清單,以及以下資訊:

  • 組態詳細資料。
  • 支援 Runbook 的節點類型。
  • Runbook 的一般詳細資料,例如:識別碼、名稱和路徑。
  • 叫用 Runbook 時所需的參數詳細資料。

範例回應:

{
    "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
}
在上述回應中,會傳回以下預先定義的 Runbook。
  • AdfCollect
  • ControllerConn
  • OverlayTunnel
  • PnicPerf
  • PortBlock

    如果在叫用時 Runbook 需要參數,則會在 parameters 索引鍵中指定參數詳細資料。例如,覆疊通道 Runbook 需要兩個參數,即 sourcedestination,它們是要診斷的通道的本機和遠端 VTEP IP。

步驟 2:叫用 Runbook。

執行以下 API,以叫用 Runbook。

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

範例要求:叫用覆疊通道 Runbook。

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 可以是主機節點、Edge 節點或 Unified Appliance 節點。

可以透過下列 API 取得主機或 Edge 的識別碼。

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

可以從叢集 API 取得應用裝置識別碼清單。有效識別碼是具有管理員角色的應用裝置外部識別碼。

https://{{MANAGER_IP}}/api/v1/cluster/nodes
步驟 3:檢查所叫用的 Runbook 的報告。

執行以下 API,以擷取所叫用的 Runbook 的報告。

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

範例要求:

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

範例回應:

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

回應會傳回一些中繼資料資訊,例如:時間戳記,以及主機名稱和作業系統等系統詳細資料。報告還會傳回偵錯結果、修復建議 (若有的話),以及針對偵錯所執行的步驟,且其中含有每個步驟的動作摘要和動作結果。如果偵錯因任何原因而中斷,則 operation_state 欄位會保留一值以定義中斷的原因。如果 Runbook 叫用不成功,報告會提供錯誤詳細資料,而不會顯示偵錯的相關欄位。

步驟 4:下載構件。
  1. 執行以下 API,以收集構件。

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

    範例要求:
    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}}"
            }
        ]
    }

    如果在叫用時將 advanced 參數設定為 false,則 Runbook 會收集拓撲資訊、網路統計資料、NSX DP 統計資料和上行資訊。如果將 advanced 參數設定為 true,則 Runbook 還會額外執行進階效能工具,例如 vmkstats (只有在實體機器上才能使用)。

    cycle 參數用來定義在叫用期間執行 ADF 收集器的次數。

    interval 參數用來定義 ADF 收集器連續執行時的等待時間間隔。只有在將 cycle 參數設定為大於 1 時,該參數才會生效。

    範例回應:

    {
        "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. 執行以下 API,以下載構件。

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

如果 Runbook 產生了構件,API 會傳回一個繫結的檔案,否則,將傳回一則錯誤訊息。將二進位回應儲存到 tar.gz 檔案。此檔案包含 Runbook 叫用報告 (JSON 格式),以及所執行的 ADF 收集作業的 tar 檔案。

變更 Runbook 組態

首先會建立一個傳輸節點 (TN) 群組,之後會將一個 Runbook 設定檔繫結到該群組。如果變更 Runbook 的組態,則會在 Runbook 設定檔所繫結的所有節點上,進行相應的變更。您可以設定是否啟用 Runbook、偵錯逾時,以及可以透過節流循環機制來叫用 Runbook 的頻率。節流循環機制會指定在特定時間內可以執行 Runbook 的次數。

請注意,一個 Runbook 只能有一個設定檔,但視節點所屬的 TN 群組而定,一個節點可以有多個 Runbook 設定檔。在這種情況下,會在節點上套用具有最高優先順序的設定檔。

若要變更 Runbook 組態,請執行以下步驟:

步驟 1:建立 ESXi 的 TN 群組。

執行以下 API,以建立 TN 群組。

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

範例要求:

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"
}
步驟 2:變更 Runbook 設定檔的組態,並將 TN 群組與設定檔繫結。

執行以下 API,以變更組態。

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

範例要求:

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

在此範例中,throttle_cycle 為 6 分鐘,threshold_number 為 2,這表示在 6 分鐘內,Runbook 的叫用次數不能超過兩次。

如需 ODS API 的完整資訊,請參閱《NSX Intelligence 和 NSX Application Platform API 指南》