Freigeben über


Read-only-Befehle für Network Fabric zur Problembehandlung

Die Problembehandlung von Netzwerkgeräten ist ein wichtiger Aspekt der effektiven Netzwerkverwaltung. Die Sicherstellung der Integrität und der optimalen Leistung Ihrer Infrastruktur erfordert eine rechtzeitige Diagnose und Lösung von Problemen. In diesem Leitfaden zeigen wir einen umfassenden Ansatz zur Fehlerbehebung von Azure Operator Nexus-Geräten mithilfe von schreibgeschützten (RO)-Befehlen.

Grundlegendes zu schreibgeschützten Befehlen

RO-Befehle dienen als wesentliche Tools für Netzwerkadministratoren. Im Gegensatz zu Lese-/Schreibzugriff (RW)-Befehlen, die Gerätekonfigurationen ändern, ermöglichen RO-Befehlen Administratoren das Sammeln von Diagnoseinformationen, ohne den Zustand des Geräts zu ändern. Diese Befehle bieten wertvolle Einblicke in den Status, die Konfiguration und die Betriebsdaten des Geräts. Der RO-Befehl unterstützt auch die Verwendung eines vom Kunden bereitgestellten Speicherkontos zum Speichern von Ausgabedateien mit api Version 2024-06-15-preview.

Schreibgeschützte Diagnose-API

Mit der schreibgeschützten Diagnose-API können Benutzer show Befehle auf Netzwerkgeräten über einen API-Aufruf ausführen. Mit dieser effizienten Methode können Administratoren Diagnoseabfragen remote auf allen Netzwerk fabric-Geräten ausführen. Zu den wichtigsten Funktionen der schreibgeschützten Diagnose-API gehören:

  • Effizienz : Ausführen von show Befehlen ohne direkten Zugriff auf die Gerätekonsole.

  • Nahtlose Integration mit AZCLI: Benutzer können die reguläre Azure Command-Line Interface (AZCLI) nutzen, um den gewünschten "Show Command" zu übergeben. Die API erleichtert dann die Befehlsausführung auf dem Zielgerät und ruft die Ausgabe ab.

  • JSON-Ausgabe: Ergebnisse aus den ausgeführten Befehlen werden im JSON-Format dargestellt, wodurch es einfach zu parsen und zu analysieren ist.

  • Sicherer Speicher: Die Ausgabedaten werden im kundeneigenen Speicherkonto gespeichert, um die Datensicherheit und Compliance sicherzustellen.

Mithilfe der schreibgeschützten Diagnose-API können Netzwerkadministratoren Probleme effizient beheben, Konfigurationen überprüfen und Geräteintegrität auf ihren Azure Operator Nexus-Geräten überwachen.

Voraussetzungen

Führen Sie die folgenden Schritte aus, um schreibgeschützte Netzwerk-Fabric-Befehle zu verwenden:

  • Stellen Sie die Nexus Network Fabric erfolgreich bereit.

  • Generieren Sie die Speicher-URL.

    Informationen zum Erstellen eines Containers finden Sie unter " Erstellen eines Containers ".

    Hinweis

    Geben Sie den Namen des Containers mit nur Kleinbuchstaben ein.

    Informationen zum Erstellen der SAS-URL des Containers finden Sie unter "Generieren einer freigegebenen Zugriffssignatur ". Geben Sie die Schreibberechtigung für SAS an.

    Hinweis

    SAS-URLs sind kurzlebig. Standardmäßig ist es so eingestellt, dass er in acht Stunden abläuft. Wenn die SAS-URL abläuft, muss das Fabric erneut gepatcht werden.

  • Geben Sie die Speicher-URL mit WRITE-Zugriff über ein Supportticket an.

    Hinweis

    Die Speicher-URL muss sich in einer anderen Region als der Network Fabric befinden. Wenn das Fabric beispielsweise in Ost-US gehostet wird, sollte sich die Speicher-URL außerhalb der USA befinden.

Hinweis

Als Teil unseres fortgesetzten Engagements für Sicherheit und Modernisierung kündigen wir das Ende der Unterstützung für den Shared Access Signature (SAS)-URL-basierten Zugriff auf vom Kunden bereitgestellte Speicherkonten mit der Azure Operator Nexus 2508.1-Version an.

Eigenes Speicherkonto mitbringen

Benutzer können Ihren eigenen Speicher zum Speichern von Ausgabedateien des RunRO-Befehls mitbringen, indem Sie die im Leitfaden zum Bring Your Own Storage for Network Fabric beschriebenen Schritte ausführen.

Hinweis

Ab dem API-Update der Vorschau-Version vom 15.06.2024 ist die Verwendung eines eigenen Speicherkontos die bevorzugte Methode. Benutzer sollten die Fabric-Instanzen in Verbindung mit Ihrem Speicherkonto erstellen oder zuordnen, indem sie den Artikel Konfiguration von Bring-Your-Own (BYO)-Speicher für Network Fabric konsultieren.

Ausführen von "read-only" (RO) Befehlen

Azure Operator Nexus unterstützt die Ausführung von schreibgeschützten Anzeigebefehlen auf Fabric-Geräten über die Azure CLI. Mit diesem Feature können Administratoren Diagnosedaten für die Überwachung und Problembehandlung abrufen und gleichzeitig sicherstellen, dass die zugrunde liegenden Gerätekonfigurationen unverändert bleiben.

Beispiel: Ausführen eines Read-Only Befehls über Azure CLI

Sie können den Befehl "az networkfabric device run-ro" verwenden, um unterstützte Anzeigebefehle ausstellen zu können. Nachfolgend finden Sie einen Beispielbefehl, der veranschaulicht, wie ein Gerät nach den Versionsdetails abfragt wird:

Szenario 1: Antwort unter 4000 Zeichen (Richtige JSON-Formatierung)

az networkfabric device run-ro \
  --resource-group "resource-group-name" \
  --resource-name "device-name" \
  --ro-command "show version"

Ersetzen Sie resource-group-name und device-name durch Ihre spezifischen Werte.

Erwartete Ausgabe

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

[Hinweis] Diese Ausgabe ist gut formatierter JSON-Code, da sich der Gesamtinhalt innerhalb der Grenze von 4000 Zeichen befindet.

Szenario 2: Die Antwort überschreitet 4000 Zeichen (falsche Formatierung)

Verkürzte Ausgabe

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

[Hinweis] Das Feld "deviceConfigurationPreview" ist kein JSON-Objekt, sondern eine Zeichenfolge, die escaped JSON enthält. Dies geschieht, da die tatsächliche Ausgabe größer als 4000 Zeichen ist. In solchen Fällen geht die Formatierung in der CLI-Ausgabe verloren.

Hinweis

Die Ausgabestruktur kann je nach dem spezifischen ausgeführten Show-Befehl variieren.
Stellen Sie sicher, dass auf die Speicherkonto-URL (während des Setups) zugegriffen werden kann, damit die Plattform die Ausgabe sicher schreiben kann.

Befehlseinschränkungen

Um Sicherheit und Compliance sicherzustellen, müssen RO-Befehle die folgenden spezifischen Regeln einhalten:

  • Nur absolute Befehle sollten als Eingabe bereitgestellt werden. Kurze Formulare und Eingabeaufforderungen werden nicht unterstützt. Beispiel:
    • Geben Sie show interfaces Ethernet 1/1 status ein.
    • Geben Sie nicht sh int stat oder sh int e1/1 status ein
  • Befehle dürfen nicht null, leer oder nur aus einem einzelnen Wort bestehen.
  • Befehle dürfen das Pipezeichen (|) nicht enthalten.
  • Show-Befehle sind uneingeschränkt, außer für die CPU-intensiven Befehle, die in dieser Liste von Einschränkungen speziell erwähnt werden.
  • Befehle dürfen nicht mit tech-support, agent logs, ip route oder ip route vrf all enden.
  • Nur jeweils ein show Befehl kann auf einem bestimmten Gerät verwendet werden.
  • Sie können den show Befehl parallel auf einem anderen CLI-Fenster ausführen.
  • Sie können einen show Befehl auf verschiedenen Geräten gleichzeitig ausführen.

Problembehandlung bei Verwendung schreibgeschützter Befehle

Führen Sie die folgenden Schritte aus, um Probleme mit schreibgeschützten Befehlen zu beheben:

  1. Öffnen Sie ein Microsoft-Supportticket. Der Supporttechniker macht die erforderlichen Updates.

  2. Führen Sie den folgenden Azure CLI-Befehl aus:

    az networkfabric device run-ro --resource-name "<NFResourceName>" --resource-group "<NFResourceGroupName>" --ro-command "show version"
    

    Erwartete Ausgabe:

    { }

  3. Geben Sie den folgenden Befehl ein:

    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
    

    Die folgende (abgeschnittene) Ausgabe wird angezeigt. Kopieren Sie die URL über die private Vorschau. Dieser Teil der URL wird im folgenden Schritt verwendet, um den Status des Vorgangs zu überprüfen.

    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-
    
  4. Überprüfen Sie den Status des Vorgangs programmgesteuert mithilfe des folgenden Azure CLI-Befehls:

    az rest -m get -u "<Azure-AsyncOperation-endpoint url>"
    

    Der Vorgangsstatus gibt an, ob die API erfolgreich war oder fehlgeschlagen ist und ähnlich wie die folgende Ausgabe angezeigt wird:

    https://management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xx
    
  5. Anzeigen und Herunterladen der generierten Ausgabedatei. Die Beispielausgabe wird hier gezeigt.

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