Поделиться через


Команды только для чтения Network Fabric для устранения неполадок

Устранение неполадок сетевых устройств является важным аспектом эффективного управления сетями. Обеспечение работоспособности и оптимальной производительности инфраструктуры требует своевременной диагностики и решения проблем. В этом руководстве представлен комплексный подход к диагностике и устранению неполадок устройств Azure Operator Nexus с помощью команд только для чтения (RO).

Понимание команд с доступом только для чтения

Команды RO служат основными средствами для сетевых администраторов. В отличие от команд чтения и записи (RW), которые изменяют конфигурации устройств, команды RO позволяют администраторам собирать диагностические сведения без изменения состояния устройства. Эти команды предоставляют ценные сведения о состоянии, конфигурации и операционных данных устройства. Команда RO также поддерживает использование учетной записи хранения, предоставленной клиентом, для хранения выходных файлов с помощью API версии 2024-06-15-preview.

API диагностики только для чтения

Диагностическое API только для чтения позволяет пользователям выполнять команды show на сетевых устройствах с помощью вызова API. Этот эффективный метод позволяет администраторам удаленно выполнять диагностические запросы на всех устройствах сетевой структуры. К ключевым функциям API диагностики только для чтения относятся:

  • Эффективность . Выполнение show команд без прямого доступа к консоли устройства.

  • Простая интеграция с AZCLI: пользователи могут использовать обычный интерфейс Azure Command-Line (AZCLI) для передачи требуемой команды show. Затем API упрощает выполнение команд на целевом устройстве, извлекая выходные данные.

  • Выходные данные JSON: результаты выполняемых команд представлены в формате JSON, что упрощает разбор и анализ.

  • Безопасное хранилище: выходные данные хранятся в учетной записи хранения, принадлежащей клиенту, обеспечивая безопасность и соответствие данным.

С помощью API диагностики только для чтения администраторы сети могут эффективно устранять проблемы, проверять конфигурации и отслеживать работоспособность устройств на устройствах Оператора Azure Nexus.

Предпосылки

Чтобы использовать команды Network Fabric в режиме только для чтения, выполните следующие действия.

  • Настройка Nexus Network Fabric выполнена успешно.

  • Создайте URL-адрес хранилища.

    Сведения о создании контейнера см. в статье "Создание контейнера ".

    Замечание

    Введите имя контейнера, используя только строчные буквы.

    Чтобы создать URL-адрес SAS контейнера, см. раздел "Создать подписанный URL-адрес общего доступа ". Укажите разрешение на запись для SAS.

    Замечание

    URL-адреса SAS являются короткими. По умолчанию срок действия истекает в восемь часов. Если срок действия URL-адреса SAS истек, структура должна быть повторно исправлена.

  • Укажите URL-адрес хранилища с доступом WRITE через запрос в службу поддержки.

    Замечание

    URL-адрес хранилища должен находиться в другом регионе, отличном от Network Fabric. Например, если Структура размещена в восточной части США, URL-адрес хранилища должен находиться за пределами восточной части США.

Замечание

В рамках нашей постоянной приверженности безопасности и модернизации мы объявляем о прекращении поддержки доступа на основе URL-адресов с Подписью Общего Доступа (SAS) к учетным записям хранения, предоставленным клиентами, в выпуске Azure Operator Nexus 2508.1.

Создание собственной учетной записи хранения

Пользователи могут принести собственное хранилище для хранения выходных файлов команды runRO, выполнив действия, описанные в руководстве "Перенос собственного хранилища для Network Fabric ".

Замечание

Начиная с обновления API 2024-06-15-preview, использование собственного аккаунта для хранения является предпочтительным методом. Пользователи должны создавать экземпляры фабрики или ассоциировать их с вашей учетной записью хранения, ссылаясь на статью Настройка хранилища типа Bring-Your-Own (BYO) для сетевой фабрики.

Выполнение команд только для чтения (RO)

Оператор Azure Nexus поддерживает выполнение команд, доступных только для чтения, на устройствах fabric с помощью Azure CLI. Эта функция позволяет администраторам получать диагностические данные для мониторинга и устранения неполадок, гарантируя, что базовые конфигурации устройств остаются неизменными.

Пример. Выполнение команды Read-Only с помощью Azure CLI

Команду az networkfabric device run-ro можно использовать для выполнения поддерживаемых команд просмотра. Ниже приведен пример команды, демонстрирующей запрос устройства для получения сведений о его версии:

Сценарий 1: Ответ до 4000 символов (правильное форматирование JSON)

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

Замените и resource-group-name замените device-name заданными значениями.

Ожидаемые выходные данные

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

[Примечание] Выходные данные хорошо форматированы в формате JSON, так как общее содержимое находится в пределах границы 4000 символов.

Сценарий 2. Ответ превышает 4000 символов (неправильное форматирование)

Усеченные выходные данные

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

[Примечание] Поле deviceConfigurationPreview не является объектом JSON, а строкой, содержащей escape-json. Это происходит, так как фактические выходные данные превышают 4000 символов. В таких случаях форматирование теряется в выходных данных CLI.

Замечание

Структура выходных данных может отличаться в зависимости от конкретной команды show, выданной.
Убедитесь, что URL-адрес учетной записи хранения (предоставленный во время установки) доступен для платформы для безопасной записи выходных данных.

Ограничения команд

Чтобы обеспечить безопасность и соответствие требованиям, команды RO должны соответствовать следующим правилам:

  • В качестве входных данных должны предоставляться только абсолютные команды. Короткие формы и подсказки не поддерживаются. Например:
    • Введите show interfaces Ethernet 1/1 status
    • Не вводите sh int stat или sh int e1/1 status
  • Команды не должны быть null, пустыми или состоять только из одного слова.
  • Команды не должны содержать символ канала (|).
  • Команды show являются неограниченными, за исключением команд, требующих высоких затрат ЦП, указанных в данном списке ограничений.
  • Команды не должны заканчиваться на tech-support, agent logs, ip route или ip route vrf all.
  • На определенном устройстве можно использовать только одну команду за раз show .
  • Вы можете выполнять команду show в другом окне интерфейса командной строки параллельно.
  • Вы можете одновременно выполнять show команду на разных устройствах.

Устранение неполадок с использованием команд в режиме чтения

Чтобы устранить неполадки с помощью команд в режиме только для чтения, выполните следующие действия.

  1. Откройте запрос в службу поддержки Майкрософт. Инженер службы поддержки выполняет необходимые обновления.

  2. Выполните следующую команду Azure CLI:

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

    Ожидаемые выходные данные:

    { }

  3. Введите следующую команду:

    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-
    
  4. Проверьте состояние операции программным способом с помощью следующей команды 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
    
  5. Просмотр и скачивание созданного выходного файла. Пример выходных данных показан здесь.

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