用於疑難解答的網路網狀架構唯讀命令
針對網路裝置進行疑難解答是有效網路管理的重要層面。 確保基礎結構的健康情況和最佳效能需要及時診斷和解決問題。 在本指南中,我們提供了使用只讀命令對 Azure 操作員 Nexus 裝置進行疑難解答的完整方法。
瞭解唯讀命令
RO 命令可作為網路管理員的基本工具。 與修改裝置設定的讀寫命令不同,RO 命令可讓系統管理員收集診斷資訊,而不會改變裝置的狀態。 這些命令可提供對裝置狀態、組態和操作數據的寶貴見解。
只讀診斷 API
只讀診斷 API 可讓使用者透過 API 呼叫在網路裝置上執行 show
命令。 這個有效率的方法可讓系統管理員從遠端在所有網路網狀架構裝置上執行診斷查詢。 唯讀診斷 API 的主要功能包括:
效率 - 執行
show
命令,而不需要直接存取裝置控制台。與 AZCLI 無縫整合:使用者可以利用一般 Azure 命令列介面 (AZCLI) 傳遞所需的「show 命令」。接著,API 可協助在目標裝置上執行命令,並擷取輸出。
JSON 輸出:所執行命令的結果會以 JSON 格式呈現,可讓您輕鬆地剖析和分析。
安全 儲存體:輸出數據會儲存在客戶擁有的記憶體帳戶中,以確保數據安全性和合規性。
藉由使用只讀診斷 API,網路管理員可以有效率地針對問題進行疑難解答、驗證設定,以及監視其 Azure 操作員 Nexus 裝置上的裝置健康情況。
必要條件
若要使用 Network Fabric 只讀命令,請完成下列步驟:
成功布建 Nexus Network Fabric。
產生記憶體 URL。
請參閱建立容器以建立容器。
注意
僅使用小寫字母輸入容器的名稱。
請參閱產生共用存取簽章,以建立容器的SAS URL。 提供SAS的寫入許可權。
注意
SAS URL 的存留時間很短。 根據預設,它會設定為八小時內到期。 如果 SAS URL 過期,則必須重新修補網狀架構。
透過支援票證提供記憶體 URL 的寫入存取權。
注意
儲存體 URL 必須位於網路網狀架構的不同區域中。 例如,如果網狀架構裝載在美國東部,則記憶體 URL 應位於美國東部以外。
命令限制
為了確保安全性與合規性,RO 命令必須遵循下列特定規則:
- 應該只提供絕對命令做為輸入。 不支援簡短表單和提示。 例如:
- 輸入
show interfaces Ethernet 1/1 status
- 不要輸入
sh int stat
或sh int e1/1 status
- 輸入
- 命令不得為 Null、空白或只包含單一單字。
- 命令不得包含管道 (|) 字元。
- 顯示命令不受限制,但此限制清單中特別提及的高 CPU 密集命令除外。
- 命令不得以
tech-support
、、agent logs
ip route
或ip route vrf all
結尾。 - 一次只能使用一
show
個命令在特定裝置上。 - 您可以平行在另一個 CLI 視窗上執行
show
命令。 - 您可以同時在不同的裝置上執行
show
命令。
使用唯讀命令進行疑難解答
若要使用只讀命令進行疑難解答,請遵循下列步驟:
開啟 Microsoft 支援票證。 支持工程師會進行必要的更新。
執行下列 Azure CLI 命令:
az networkfabric device run-ro --resource-name "<NFResourceName>" --resource-group "<NFResourceGroupName>" --ro-command "show version"
預期輸出:
{ }
輸入下列命令:
az networkfabric device run-ro --resource-group Fab3LabNF-6-0-A --resource-name nffab3-6-0-A-AggrRack-CE1 --ro-command "show version" --no-wait --debug
下列 (截斷) 輸出隨即出現。 透過 私人預覽複製 URL。 下一個步驟會使用這個部分的 URL 來檢查作業的狀態。
https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS2EUAP/operationStatuses/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e*A9E6DB3DF5C58D67BD395F7A608C056BC8219C392CC1CE0AD22E4C36D70CEE5C?api-version=2022-01-15-privatepreview***&t=638485032018035520&c=MIIHHjCCBgagAwIBAgITfwKWMg6goKCq4WwU2AAEApYyDjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDIwHhcNMjQwMTMwMTAzMDI3WhcNMjUwMTI0MTAzMDI3WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALMk1pBZQQoNY8tos8XBaEjHjcdWubRHrQk5CqKcX3tpFfukMI0_PVZK-Kr7xkZFQTYp_ItaM2RPRDXx-0W9-mmrUBKvdcQ0rdjcSXDek7GvWS29F5sDHojD1v3e9k2jJa4cVSWwdIguvXmdUa57t1EHxqtDzTL4WmjXitzY8QOIHLMRLyXUNg3Gqfxch40cmQeBoN4rVMlP31LizDfdwRyT1qghK7vgvworA3D9rE00aM0n7TcBH9I0mu-96JE0gSX1FWXctlEcmdwQmXj_U0sZCu11_Yr6Oa34bmUQHGc3hDvO226L1Au-QsLuRWFLbKJ-0wmSV5b3CbU1kweD5LUCAwEAAaOCBAswggQHMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-
使用下列 Azure CLI 命令,以程式設計方式檢查作業的狀態:
az rest -m get -u "<Azure-AsyncOperation-endpoint url>"
作業狀態會指出 API 是否成功或失敗,且看起來類似下列輸出:
https://management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xx
檢視並下載產生的輸出檔案。 此處會顯示範例輸出。
{ "architecture": "x86_64", "bootupTimestamp": 1701940797.5429916, "configMacAddress": "00:00:00:00:00:00", "hardwareRevision": "12.05", "hwMacAddress": "c4:ca:2b:62:6d:d3", "imageFormatVersion": "3.0", "imageOptimization": "Default", "internalBuildId": "d009619b-XXXX-XXXX-XXXX-fcccff30ae3b", "internalVersion": "4.30.3M-33434233.4303M", "isIntlVersion": false, "memFree": 3744220, "memTotal": 8107980, "mfgName": "Arista", "modelName": "DCS-7280DR3-24-F", "serialNumber": "JPAXXXX1LZ", "systemMacAddress": "c4:ca:2b:62:6d:d3", "uptime": 8475685.5, "version": "4.30.3M" }