Sdílet prostřednictvím


Příkazy Network Fabric jen pro čtení pro řešení potíží

Řešení potíží se síťovými zařízeními je důležitým aspektem efektivní správy sítě. Zajištění stavu a optimálního výkonu infrastruktury vyžaduje včasnou diagnostiku a řešení problémů. V této příručce představujeme komplexní přístup k řešení potíží se zařízeními Azure Operator Nexus pomocí příkazů jen pro čtení (RO).

Porozumění příkazům jen pro čtení

Příkazy RO slouží jako základní nástroje pro správce sítě. Na rozdíl od příkazů pro čtení i zápis (RW), které upravují konfigurace zařízení, umožňují příkazy RO správcům shromažďovat diagnostické informace beze změny stavu zařízení. Tyto příkazy poskytují cenné přehledy o stavu, konfiguraci a provozních datech zařízení. Příkaz RO také podporuje použití účtu úložiště poskytnutého zákazníkem pro ukládání výstupních souborů pomocí rozhraní API verze 2024-06-15-preview.

Diagnostické rozhraní API pouze pro čtení

Diagnostické rozhraní API jen pro čtení umožňuje uživatelům spouštět show příkazy na síťových zařízeních prostřednictvím volání rozhraní API. Tato efektivní metoda umožňuje správcům vzdáleně spouštět diagnostické dotazy napříč všemi síťovými zařízeními infrastruktury. Mezi klíčové funkce diagnostického rozhraní API jen pro čtení patří:

  • Efektivita – Spouštění show příkazů bez přímého přístupu ke konzole zařízení

  • Bezproblémová integrace s AZCLI: Uživatelé můžou k předání požadovaného příkazu show využít běžné rozhraní Azure Command-Line Interface (AZCLI). Rozhraní API pak usnadňuje provádění příkazů na cílovém zařízení a načítá výstup.

  • Výstup JSON: Výsledky z prováděných příkazů se zobrazují ve formátu JSON, což usnadňuje analýzu.

  • Zabezpečené úložiště: Výstupní data se ukládají do účtu úložiště vlastněného zákazníkem a zajišťují zabezpečení dat a dodržování předpisů.

Pomocí diagnostického rozhraní API jen pro čtení můžou správci sítě efektivně řešit problémy, ověřovat konfigurace a monitorovat stav zařízení v zařízeních Azure Operator Nexus.

Požadavky

Pokud chcete používat příkazy Network Fabric jen pro čtení, proveďte následující kroky:

  • Úspěšně zřiďte síťovou strukturu Nexus.

  • Vygenerujte adresu URL úložiště.

    Informace o vytvoření kontejneru najdete v tématu Vytvoření kontejneru .

    Poznámka:

    Zadejte název kontejneru pouze malými písmeny.

    Informace o vytvoření adresy URL SAS kontejneru najdete v tématu Vygenerování sdíleného přístupového podpisu . Zadejte oprávnění k zápisu pro SAS.

    Poznámka:

    Adresy URL SAS jsou krátkodobé. Ve výchozím nastavení je nastavená na vypršení platnosti za osm hodin. Pokud vyprší platnost adresy URL SAS, musí se síťová architektura znovu zapatchovat.

  • Zadejte adresu URL úložiště s přístupem k zápisu prostřednictvím požadavku podpory.

    Poznámka:

    Adresa URL úložiště se musí nacházet v jiné oblasti než síťová struktura. Pokud je například Fabric hostovaný v oblasti USA východ, adresa URL úložiště by měla být mimo oblast USA východ.

Poznámka:

V rámci našeho neustálého závazku k zabezpečení a modernizaci oznamujeme ukončení podpory přístupu na základě adresy URL sdíleného přístupového podpisu (SAS) k účtům úložiště poskytovaným zákazníkem azure Operator Nexus 2508.1 verze.

Přinést vlastní účet úložiště

Uživatelé můžou použít vlastní úložiště pro ukládání výstupních souborů příkazu runRO podle kroků popsaných v příručce Bring Your Own Storage for Network Fabric .

Poznámka:

Od aktualizace rozhraní API verze 2024-06-15-Preview je preferovanou metodou využití vlastního účtu úložiště. Uživatelé by měli vytvořit nebo přidružit instance infrastruktury k vašemu účtu úložiště pomocí článku konfigurace úložiště Bring-Your-Own (BYO) pro síťovou infrastrukturu.

Spouštění příkazů jen pro čtení (RO)

Azure Operator Nexus podporuje spouštění příkazů typu 'show' pro čtení na zařízeních fabric prostřednictvím Azure CLI. Tato funkce umožňuje správcům načíst diagnostická data pro monitorování a řešení potíží a zároveň zajistit, aby základní konfigurace zařízení zůstaly beze změny.

Příklad: Spuštění příkazu Read-Only prostřednictvím Azure CLI

Příkaz az networkfabric device run-ro můžete použít k vydání podporovaných příkazů show. Níže je ukázkový příkaz, jak dotazovat zařízení pro detaily verze.

Scénář 1: Odpověď pod 4000 znaky (oprava formátování JSON)

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

Nahraďte resource-group-name a device-name konkrétními hodnotami.

Očekávaný výstup

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

[Poznámka] Tento výstup je dobře naformátovaný json, protože celkový obsah je v hranici 4000 znaků.

Scénář 2: Odpověď přesahuje 4 000 znaků (nesprávné formátování)

Zkrácený výstup

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

[Poznámka] Pole deviceConfigurationPreview není objekt JSON, ale řetězec obsahující escapeovaný JSON. K tomu dochází, protože skutečný výstup je větší než 4 000 znaků. V takových případech dojde ke ztrátě formátování ve výstupu rozhraní příkazového řádku.

Poznámka:

Výstupní struktura se může lišit v závislosti na konkrétním vydaném příkazu show.
Ujistěte se, že adresa URL účtu úložiště, zadaná během instalace, je přístupná, aby platforma mohla bezpečně zapisovat výstup.

Omezení příkazů

Aby se zajistilo zabezpečení a dodržování předpisů, musí příkazy RO dodržovat následující konkrétní pravidla:

  • Jako vstup by měly být poskytnuty pouze absolutní příkazy. Krátké formuláře a výzvy nejsou podporované. Například:
    • Zadejte show interfaces Ethernet 1/1 status
    • Nezadávejte sh int stat ani sh int e1/1 status
  • Příkazy nesmí být null, prázdné nebo se skládají pouze z jednoho slova.
  • Příkazy nesmí obsahovat znak svislé roury (|).
  • Příkazy show jsou neomezené, s výjimkou příkazů náročných na procesor, které jsou výslovně uvedeny v tomto seznamu omezení.
  • Příkazy nesmí končit příkazy tech-support, , agent logsip routenebo ip route vrf all.
  • Na konkrétním zařízení lze použít pouze jeden show příkaz najednou.
  • Příkaz můžete spustit show paralelně v jiném okně rozhraní příkazového řádku.
  • Příkaz můžete spustit show na různých zařízeních současně.

Řešení potíží s použitím příkazů jen pro čtení

Při řešení potíží pomocí příkazů jen pro čtení postupujte takto:

  1. Otevřete požadavek na podporu Microsoft. Technik podpory provede potřebné aktualizace.

  2. Spusťte následující příkaz Azure CLI:

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

    Očekávaný výstup:

    { }

  3. Zadejte následující příkaz:

    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
    

    Zobrazí se následující (zkrácený) výstup. Zkopírujte adresu URL ze soukromé verze náhledu. Tato část adresy URL se používá v následujícím kroku ke kontrole stavu operace.

    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. Pomocí následujícího příkazu Azure CLI zkontrolujte stav operace prostřednictvím kódu programu:

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

    Stav operace označuje, jestli rozhraní API proběhlo úspěšně nebo selhalo, a vypadá podobně jako v následujícím výstupu:

    https://management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xx
    
  5. Zobrazte a stáhněte vygenerovaný výstupní soubor. Tady je zobrazený ukázkový výstup.

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