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


Сбор журналов для программно-определяемой сети в локальной среде Azure

Применимо к: Azure Local 2311.2 и более поздних версий; Windows Server 2022, Windows Server 2019

В этой статье описывается, как собирать журналы для программно-определяемой сети (SDN) в локальной среде Azure.

Журналы SDN помогают выявлять и устранять сложные проблемы в среде SDN. Используйте эти журналы для сбора ключевых сведений перед обращением в службу поддержки Майкрософт.

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

Предварительные требования

Перед тем как начать, убедитесь в следующем.

  • Клиентский компьютер, используемый для сбора журналов, имеет доступ к среде SDN. Например, компьютер управления под управлением Windows Admin Center, который может получить доступ к SDN.

  • Клиентский компьютер работает под управлением PowerShell 5.1 или более поздней версии.

  • Все ресурсы SDN в структуре SDN выполняют ту же версию SdnDiagnostics модуля.

  • Все ресурсы SDN в структуре SDN настроены для удаленного запуска PowerShell. Выполните команду Enable-PSRemoting , чтобы настроить удаленный powerShell. Дополнительные сведения можно найти в справочной документации по Enable-PSRemoting.

Рабочий процесс сбора журналов SDN

Ниже приведен высокоуровневый рабочий процесс для сбора журналов SDN:

Установите модуль диагностики SDN PowerShell на клиентском компьютере

SdnDiagnostics Используйте модуль PowerShell, чтобы упростить сбор данных и диагностика в среде SDN. Дополнительные сведения смотрите на SdnDiagnosticsвики-странице SdnDiagnostics.

Выполните следующие действия, чтобы установить SdnDiagnostics модуль PowerShell на клиентском компьютере с доступом к среде SDN:

  1. Запустите PowerShell (5.1 или более поздней версии) от имени администратора. Если вам нужно установить PowerShell, см. статью "Установка PowerShell в Windows".

  2. Обновите до последней версии PackageManagement. Чтобы обновить, выполните следующий командлет:

    Update-Module -Name PackageManagement -Force
    
  3. Чтобы установить модуль SdnDiagnostics, выполните следующий командлет:

    Install-Module -Name SdnDiagnostics
    
  4. Кроме того, если вы уже SdnDiagnostics установили, убедитесь, что вы используете последнюю версию, выполнив следующий командлет:

    Update-Module -Name SdnDiagnostics
    
  5. Чтобы импортировать SdnDiagnostics модуль, выполните следующий командлет:

    Import-Module -Name SdnDiagnostics
    
  6. Чтобы подтвердить версию модуля SdnDiagnostics, загруженного в пространство выполнения, выполните следующий командлет:

    Get-Module -Name SdnDiagnostics
    
    • Если в пространстве выполнения загружено несколько версий, рекомендуется удалить и повторно импортировать модуль.

      Remove-Module -Name SdnDiagnostics
      Import-Module -Name SdnDiagnostics
      

Установите модуль диагностики SDN PowerShell на ресурсы SDN

После того как вы установили модуль SdnDiagnostics на клиентском компьютере, установите модуль SdnDiagnostics на ресурсы SDN в сети SDN. Это гарантирует, что все ресурсы SDN выполняют одну и ту же версию SdnDiagnostics модуля.

Выполните следующие действия в новом окне PowerShell, чтобы установить SdnDiagnostics модуль на виртуальной машине сетевого контроллера.

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

    Get-SdnInfrastructureInfo -NetworkController 'nc01.contoso.com'
    
    • Сведения о среде будут храниться в глобальной переменной, к которой можно обратиться в любое время в текущем пространстве PowerShell, обратившись через Global:SdnDiagnostics.
  2. Чтобы установить SdnDiagnostics модуль на компьютерах инфраструктуры SDN, выполните следующий командлет:

    Install-SDNDiagnostics -ComputerName $Global:SdnDiagnostics.EnvironmentInfo.FabricNodes
    

Ниже приведен пример выходных данных о том, как получить сведения о среде:

PS C:\Users\AzureStackHCIUser> Get-SdnInfrastructureInfo -NetworkController 'nc01.contoso.com'

Name				Value
----				----

RestApiVersion		V4.1
FabricNodes			{nc01-pod06.tailwindtraders.com, nc02-pod06.tailwindtraders.com, nc03-pod06.tailwindt...
NcUrl				https ://SDN-POD06.TAILWINDTRADERS.COM
Server			    {CPPE-P06N01.tailwindtraders.com, CPPE-P06N02.tailwindtraders.com, CPPE-P06N03.tailwi...
Gateway			    {nc01-pod06.tailwindtraders.com, nc02-pod06.tailwindtraders.com, nc03-pod06.tailwindt...
LoadBalancerMux
NetworkController

Сбор журналов SDN с помощью SdnDiagnostics

После установки SdnDiagnostics модуля на компьютере управления и ресурсах SDN в структуре SDN можно запустить Start-SdnDataCollection для сбора журналов SDN.

Перед запуском Start-SdnDataCollection

Прежде чем вы запустите командлет Start-SdnDataCollection, есть несколько факторов, которые нужно учесть.

  • Start-SdnDataCollection займёт некоторое время, в зависимости от того, для каких ролей собираются журналы, указанной продолжительности и количества серверов структуры SDN в локальной среде Azure.

  • Если параметр не указан FromDate , журналы собираются за последние четыре часа по умолчанию.

  • Командлет Start-SdnDataCollection собирает состояние конфигурации и журналы для указанной роли SDN. Допустимые значения: Gateway, NetworkController, Server, SoftwareLoadBalancer. Вы можете указать роли, установленные в среде SDN или роли, которые не работают должным образом.

  • Если вы не указываете учетные данные, Start-SdnDataCollection командлет использует учетные данные текущего пользователя по умолчанию.

Выполнить Start-SdnDataCollection

Используйте командлет Start-SdnDataCollection для сбора информации о текущем состоянии конфигурации и диагностических журналов для SDN.

Ниже приведен синтаксис командлета Start-SdnDataCollection :

Start-SdnDataCollection [-NetworkController <String>] [-NcUri <Uri>] -Role <SdnRoles[]> [-OutputDirectory <FileInfo>] [-IncludeNetView] [-IncludeLogs] [-FromDate <DateTime>] [-ToDate <DateTime>] [-Credential <PSCredential>] [-NcRestCredential <PSCredential>] [-Limit <Int32>] [-ConvertETW <Boolean>] [<CommonParameters>]

Дополнительные сведения о параметрах и спецификациях см. на вики-странице Start-SdnDataCollection .

Сбор журналов из крупных систем SDN

Некоторые системы SDN могут быть чрезвычайно большими, с большим числом машин для каждой роли. В этих сценариях Start-SdnDataCollection будет ограничивать объем данных для сбора, что регулируется параметром -Limit. Этот параметр является необязательным и в настоящее время по умолчанию имеет значение 16, то есть коллекция данных будет ограничена первыми 16 компьютерами на роль. Это позволяет предотвратить сбор чрезмерных объемов данных.

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

Целевые компьютеры для сбора данных

Чтобы узнать больше о том, для каких компьютеров собираются данные, можно определить -ComputerName параметр, являющийся строковым массивом. Модуль SdnDiagnostics автоматически выполнит сопоставление, чтобы определить соответствующие роли для каждой, а затем обработать как обычно.

# this command is being executed on a Network Controller machine directly
Get-SdnInfrastructureInfo
$computers = @()
$computers += $Global:SdnDiagnostics.EnvironmentInfo.NetworkController # will add all the network controllers
$computers += 'Host01','Host02' # will add specific computers

Start-SdnDataCollection -ComputerName $computers -IncludeLogs -FromDate (Get-Date).AddHours(-2)

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