Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Felsökning av nätverksenheter är en viktig aspekt av effektiv nätverkshantering. För att säkerställa hälsotillståndet och optimala prestanda för infrastrukturen krävs en tidig diagnos och lösning av problem. I den här guiden presenterar vi en omfattande metod för att felsöka Azure Operator Nexus-enheter med hjälp av endast-läs kommandon (RO).
Förstå kommandon som endast kan läsas
RO-kommandon fungerar som viktiga verktyg för nätverksadministratörer. Till skillnad från RW-kommandon (read-write) som ändrar enhetskonfigurationer tillåter RO-kommandon administratörer att samla in diagnostikinformation utan att ändra enhetens tillstånd. Dessa kommandon ger värdefulla insikter om enhetens status, konfiguration och driftdata. RO-kommandot stöder också användning av ett kundbaserat lagringskonto för lagring av utdatafiler med api version 2024-06-15-preview.
Skrivskyddat diagnostik-API
Med det skrivskyddade diagnostik-API:et kan användare köra show kommandon på nätverksenheter via ett API-anrop. Med den här effektiva metoden kan administratörer fjärrköra diagnostikfrågor på alla nätverksenheter. Viktiga funktioner i det skrivskyddade diagnostik-API:et är:
Effektivitet – Kör
showkommandon utan direkt åtkomst till enhetskonsolen.Sömlös integrering med AZCLI: Användare kan använda det vanliga Azure Command-Line Interface (AZCLI) för att skicka önskat "show-kommando". API:et underlättar sedan kommandokörning på målenheten och hämtar utdata.
JSON-utdata: Resultat från de körda kommandona visas i JSON-format, vilket gör det enkelt att parsa och analysera.
Säker lagring: Utdata lagras i det kundägda lagringskontot, vilket säkerställer datasäkerhet och efterlevnad.
Med hjälp av det skrivskyddade diagnostik-API:et kan nätverksadministratörer effektivt felsöka problem, verifiera konfigurationer och övervaka enhetens hälsa på sina Azure Operator Nexus-enheter.
Förutsättningar
Utför följande steg för att använda skrivskyddade Network Fabric-kommandon:
Etablera Nexus Network Fabric framgångsrikt.
Generera lagrings-URL:en.
Se Skapa en container för att skapa en container.
Anmärkning
Ange namnet på containern med endast små bokstäver.
Se Generera en signatur för delad åtkomst för att skapa SAS-URL:en för containern. Ange skrivbehörighet för SAS.
Anmärkning
SAS-URL:er är kortlivade. Som standard är den inställd på att upphöra att gälla om åtta timmar. Om SAS-URL upphör att gälla måste fabric:et korrigeras igen.
Ange lagrings-URL:en med SKRIV-åtkomst via ett supportärende.
Anmärkning
Lagrings-URL:en måste finnas i en annan region än nätverksinfrastrukturen. Om till exempel infrastrukturen finns i Östra USA bör lagrings-URL:en vara utanför Östra USA.
Anmärkning
Som en del av vårt fortsatta engagemang för säkerhet och modernisering meddelar vi att supporten för Shared Access Signature (SAS) URL-baserad åtkomst till lagringskonton som tillhandahålls av kunden upphör i och med releasen av Azure Operator Nexus 2508.1.
Ta med ditt eget lagringskonto
Användare kan ta med egen lagring för att lagra utdatafiler med runRO-kommandot genom att följa stegen som beskrivs i guiden Bring Your Own Storage for Network Fabric .
Anmärkning
Från och med api-uppdateringen 2024-06-15-preview är det bästa sättet att ta med ditt eget lagringskonto. Användare bör skapa eller associera nätverksinstanserna med ert lagringskonto enligt artikeln konfigurera Byo-lagring (Bring-Your-Own) för Network Fabric.
Kör skrivskyddade (RO) kommandon
Azure Operator Nexus stöder körning av skrivskyddade show-kommandon på nätverksenheter via Azure CLI. Med den här funktionen kan administratörer hämta diagnostikdata för övervakning och felsökning samtidigt som de underliggande enhetskonfigurationerna förblir oförändrade.
Exempel: Köra ett Read-Only-kommando via Azure CLI
Du kan använda kommandot az networkfabric device run-ro för att utfärda kommandon av typen 'show' som stöds. Nedan visas ett exempelkommando som visar hur du frågar en enhet om dess versionsinformation:
Scenario 1: Svar under 4 000 tecken (Korrekt JSON-formatering)
az networkfabric device run-ro \
--resource-group "resource-group-name" \
--resource-name "device-name" \
--ro-command "show version"
Ersätt resource-group-name och device-name med dina specifika värden.
Förväntade utdata
{
"configurationState": "Succeeded",
"deviceConfigurationPreview": {
"architecture": "x86_64",
"bootupTimestamp": 1742470725.3758163,
"configMacAddress": "00:00:00:00:00:00",
"hardwareRevision": "12.05",
"hwMacAddress": "c4:ca:xx:xx:xx:35",
"imageFormatVersion": "3.0",
"imageOptimization": "Default",
"internalBuildId": "2b2210fa-xxxx-xxxx-xxxx-f120aa00xxxx",
"internalVersion": "4.xx.1F-39879738.xxxxx",
"isIntlVersion": false,
"memFree": 3760128,
"memTotal": 8099732,
"mfgName": "vendor",
"modelName": "xxx-xxxxx-xx-x",
"serialNumber": "JPA2303P3FH",
"systemMacAddress": "c4:ca:xx:xx:xx:35",
"uptime": 3648004.37,
"version": "4.xx.1F"
},
"outputUrl": "https://<blob-url>/show_version.json"
}
[Obs! Dessa utdata är välformaterade JSON eftersom det totala innehållet ligger inom gränsen på 4 000 tecken.
Scenario 2: Svaret överskrider 4 000 tecken (felaktig formatering)
Trunkerade utdata
{
"configurationState": "Succeeded",
"deviceConfigurationPreview": "{\n \"lldpNeighbors\": {\n \"Ethernet1/1\": {\n \"lldpNeighborInfo\": [\n {\n \"chassisId\": \"c4ca.2b62.19b5\",\n \"chassisIdType\": \"macAddress\",\n \"lastChangeTime\": 1742470988.8675177,\n ...
}\n ]\n },\n ...
}",
"outputUrl": "https://<blob-url>/lldp_neighbors_detail.json"
}
[Obs! FältenhetenConfigurationPreview är inte ett JSON-objekt, utan snarare en sträng som innehåller undantagen JSON. Detta beror på att de faktiska utdata är större än 4 000 tecken. I sådana fall går formateringen förlorad i CLI-utdata.
Anmärkning
Utdatastrukturen kan variera beroende på vilket visningskommando som utfärdats.
Se till att lagringskontots URL (som tillhandahålls under installationen) är tillgänglig för plattformen för att skriva utdata på ett säkert sätt.
Kommandobegränsningar
För att säkerställa säkerhet och efterlevnad måste RO-kommandon följa följande specifika regler:
- Endast absoluta kommandon ska anges som indata. Korta formulär och uppmaningar stöds inte. Till exempel:
- Ange
show interfaces Ethernet 1/1 status - Ange inte
sh int statellersh int e1/1 status
- Ange
- Kommandon får inte vara null, tomma eller endast bestå av ett enda ord.
- Kommandon får inte innehålla tecknet pipe (|).
- Visa-kommandon är obegränsade, förutom de CPU-intensiva kommandon som specifikt anges i den här listan med begränsningar.
- Kommandon får inte sluta med
tech-support,agent logs,ip routeellerip route vrf all. - Endast ett
showkommando i taget kan användas på en specifik enhet. - Du kan köra kommandot i
showett annat CLI-fönster parallellt. - Du kan köra ett
showkommando på olika enheter samtidigt.
Felsök med endast läskommandon
För att felsöka med hjälp av skrivskyddade kommandon, följ dessa steg:
Öppna ett Microsoft-supportärende. Supportteknikern gör nödvändiga uppdateringar.
Kör följande Azure CLI-kommando:
az networkfabric device run-ro --resource-name "<NFResourceName>" --resource-group "<NFResourceGroupName>" --ro-command "show version"Förväntat resultat:
{ }Ange följande kommando:
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 --debugFöljande (trunkerade) utdata visas. Kopiera URL:en via privat förhandsversion. Den här delen av URL:en används i följande steg för att kontrollera åtgärdens status.
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-Kontrollera statusen för åtgärden programmatiskt med hjälp av följande Azure CLI-kommando:
az rest -m get -u "<Azure-AsyncOperation-endpoint url>"Åtgärdsstatusen anger om API:et lyckades eller misslyckades och ser ut ungefär så här:
https://management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xxVisa och ladda ned den genererade utdatafilen. Exempelutdata visas här.
{ "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" }