Выполнение записи пакетов в экземпляре ядра пакетов

Запись пакетов для пакетов управления или плоскости данных выполняется с помощью средства трассировки MEC-Dataplane. Трассировка MEC-Dataplane (MEC-DP) аналогична tcpdump, компьютерной программе анализатора пакетов данных, работающей в интерфейсе командной строки (CLI). Трассировка MEC-DP позволяет отслеживать и записывать пакеты на любом пользовательском интерфейсе в сети доступа (интерфейс N3) или сети данных (N6) на устройстве, а также плоскости управления (интерфейс N2). Вы можете получить доступ к трассировке MEC-DP с помощью портал Azure или Azure CLI.

Запись пакетов работает путем зеркало пакетов в интерфейс ядра Linux, который затем можно отслеживать с помощью tcpdump. В этом руководстве вы узнаете, как выполнять запись пакетов в основном экземпляре пакета.

Внимание

Выполнение записи пакетов снижает производительность системы и пропускную способность плоскости данных. Поэтому рекомендуется использовать это средство только при низком масштабе во время первоначального тестирования.

Необходимые компоненты

Для выполнения записи пакетов необходимо развернуть сайт AP5GC.

Чтобы выполнить запись пакетов с помощью командной строки, необходимо:

  • Определите ресурс Kubernetes — Ресурс Azure Arc, представляющий кластер Kubernetes с поддержкой Azure Arc , в котором выполняется основной экземпляр пакета.
  • Убедитесь, что локальный компьютер имеет основной доступ kubectl к кластеру Kubernetes с поддержкой Azure Arc. Для этого требуется основной файл kubeconfig, который можно получить, выполнив доступ к пространству имен Core.

Выполнение записи пакетов с помощью портал Azure

Настройка учетной записи хранения

Необходимо настроить учетную запись хранения для хранения пакета диагностика.

  1. Создайте учетную запись хранения для диагностика со следующей дополнительной конфигурацией:
    1. На вкладке "Защита данных" в разделе "Управление доступом" выберите "Включить поддержку неизменяемости на уровне версии". Это позволит указать политику хранения на основе времени для учетной записи на следующем шаге.
    2. Если вы хотите, чтобы содержимое учетной записи хранения было автоматически удалено через период времени, настройте политику хранения на основе времени по умолчанию для учетной записи хранения.
    3. Создайте контейнер для диагностика.
    4. Запишите URL-адрес БОЛЬШОго двоичного объекта контейнера. Например:
      https://storageaccountname.blob.core.windows.net/diagscontainername
      1. Перейдите к учетной записи служба хранилища.
      2. Выберите символ ... в правой части большого двоичного объекта контейнера, который вы хотите использовать для коллекции диагностика.
      3. Выберите свойства контейнера в контекстном меню.
      4. Скопируйте содержимое поля URL-адреса в представлении свойств контейнера.
  2. Создайте удостоверение, назначаемое пользователем, и назначьте его учетной записи хранения, созданной выше, с ролью участника служба хранилища данных BLOB-объектов.

    Совет

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

  3. Перейдите к ресурсу уровня управления "Ядро пакетов" для сайта.
  4. Выберите удостоверениев разделе Параметры в меню слева.
  5. Выберите Добавить.
  6. Выберите созданное управляемое удостоверение, подписанное пользователем, и нажмите кнопку "Добавить".

Внимание

После создания управляемого удостоверения, назначаемого пользователем, необходимо обновить конфигурацию ядра пакетов, изменив фиктивную конфигурацию. Это может быть изменение, которое не будет влиять на развертывание и может быть оставлено на месте или изменение, которое вы немедленно отменить изменения. См. раздел "Изменение основного экземпляра пакета". Если вы не обновляете конфигурацию ядра пакетов, запись пакетов завершится ошибкой.

Запуск записи пакета

  1. Войдите на портал Azure.
  2. Перейдите на страницу обзора области управления "Ядро пакетов" сайта, в которой вы хотите запустить запись пакетов.
  3. Выберите "Запись пакетов" в разделе справки слева. Откроется представление "Запись пакетов".
  4. Если это первый раз, когда вы взяли запись пакетов с помощью портала, появится сообщение об ошибке с запросом на настройку учетной записи хранения. Если да:
    1. Следуйте ссылке в сообщении об ошибке.
    2. Введите URL-адрес контейнера учетной записи служба хранилища, настроенный для хранения диагностика, и нажмите кнопку "Изменить".

      Совет

      Если у вас нет URL-адреса для контейнера учетной записи хранения:

      1. Перейдите к учетной записи служба хранилища.
      2. Выберите символ ... справа от контейнера, который вы хотите использовать для записи пакетов.
      3. Выберите свойства контейнера в контекстном меню.
      4. Скопируйте содержимое поля URL-адреса .
    3. Вернитесь в представление "Запись пакетов".
  5. Нажмите кнопку "Начать запись пакетов".
  6. Введите подробные сведения в области записи пакетов "Пуск" и нажмите кнопку "Создать".
  7. Страница будет обновляться каждые несколько секунд до завершения записи пакетов. Для обновления страницы можно также использовать кнопку "Обновить ". Если вы хотите остановить запись пакетов раньше, выберите "Остановить запись пакетов".
  8. После завершения записи пакетов веб-служба AP5GC сохранит выходные данные по указанному URL-адресу учетной записи хранения.
  9. Чтобы скачать выходные данные записи пакетов, можно с помощью кнопки "Копировать в буфер обмена" в столбцах служба хранилища или имени файла, чтобы скопировать эти сведения, а затем вставить их в поле поиска на портале. Чтобы скачать выходные данные, щелкните файл правой кнопкой мыши и выберите " Скачать".

Выполнение записи пакетов с помощью Azure CLI

  1. В командной строке с доступом kubectl к кластеру Kubernetes с поддержкой Azure Arc введите pod средства устранения неполадок MEC-DP:

    kubectl exec -it -n core core-mec-dp-0 -c troubleshooter -- bash
    
  2. Просмотрите список настроенных интерфейсов пользовательской плоскости:

    mect list
    

    Это должно сообщать об одном интерфейсе в сети плоскости управления (N2), одном интерфейсе сети доступа (N3) и интерфейсе для каждой подключенной сети данных (N6). Например:

    n2trace
    n3trace
    n6trace0 (Data Network: internet)
    n6trace1 (Data Network: enterprise)
    n6trace2 (Data Network: test)
    
  3. Запустите mectdump с любыми параметрами, которые обычно передаются в tcpdump. В частности, -i чтобы указать интерфейс и -w указать место записи. Закройте средство после завершения, нажав клавиши CTRL+C. Ниже приведены распространенные варианты использования.

    • Чтобы запустить пакеты записи во всех интерфейсах, выполните команду mectdump -i any -w any.pcap
    • Чтобы запустить пакеты записи для интерфейса N3 и интерфейса N6 для одной сети данных, введите модуль pod средства устранения неполадок MEC-DP в двух отдельных окнах. В одном окне выполняется mectdump -i n3trace -w n3.pcap и в другом окне ( mectdump -i <N6 interface> -w n6.pcap используйте интерфейс N6 для сети данных, как указано на шаге 2).

    Внимание

    Файлы записи пакетов могут быть большими, особенно при выполнении записи пакетов во всех интерфейсах. Укажите фильтры при выполнении записи пакетов, чтобы уменьшить размер файла. См. документацию по tcpdump для доступных фильтров.

  4. Оставьте контейнер:

    exit
    
  5. Скопируйте выходные файлы:

    kubectl cp -n core core-mec-dp-0:<path to output file> <location to copy to> -c troubleshooter
    

    Возможно tcpdump , он был остановлен в середине записи пакета, что может привести к возникновению ошибки unexpected EOF. Однако файл должен успешно копироваться, но вы можете проверка целевой выходной файл, чтобы подтвердить.

  6. Удалите выходные файлы:

        kubectl exec -it -n core core-mec-dp-0 -c troubleshooter -- rm <path to output file>
    

Следующие шаги

Дополнительные возможности для мониторинга развертывания и просмотра аналитики: