Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: 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:
- Установка модуля PowerShell диагностики SDN на клиентском компьютере
- Установите модуль диагностики SDN PowerShell на ресурсы SDN в инфраструктуре SDN
- Сбор журналов с помощью SdnDiagnostics
Установите модуль диагностики SDN PowerShell на клиентском компьютере
SdnDiagnostics
Используйте модуль PowerShell, чтобы упростить сбор данных и диагностика в среде SDN. Дополнительные сведения смотрите на SdnDiagnostics
вики-странице SdnDiagnostics.
Выполните следующие действия, чтобы установить SdnDiagnostics
модуль PowerShell на клиентском компьютере с доступом к среде SDN:
Запустите PowerShell (5.1 или более поздней версии) от имени администратора. Если вам нужно установить PowerShell, см. статью "Установка PowerShell в Windows".
Обновите до последней версии
PackageManagement
. Чтобы обновить, выполните следующий командлет:Update-Module -Name PackageManagement -Force
Чтобы установить модуль
SdnDiagnostics
, выполните следующий командлет:Install-Module -Name SdnDiagnostics
Кроме того, если вы уже
SdnDiagnostics
установили, убедитесь, что вы используете последнюю версию, выполнив следующий командлет:Update-Module -Name SdnDiagnostics
Чтобы импортировать
SdnDiagnostics
модуль, выполните следующий командлет:Import-Module -Name SdnDiagnostics
Чтобы подтвердить версию модуля
SdnDiagnostics
, загруженного в пространство выполнения, выполните следующий командлет:Get-Module -Name SdnDiagnostics
Если в пространстве выполнения загружено несколько версий, рекомендуется удалить и повторно импортировать модуль.
Remove-Module -Name SdnDiagnostics Import-Module -Name SdnDiagnostics
Установите модуль диагностики SDN PowerShell на ресурсы SDN
После того как вы установили модуль SdnDiagnostics
на клиентском компьютере, установите модуль SdnDiagnostics
на ресурсы SDN в сети SDN. Это гарантирует, что все ресурсы SDN выполняют одну и ту же версию SdnDiagnostics
модуля.
Выполните следующие действия в новом окне PowerShell, чтобы установить SdnDiagnostics
модуль на виртуальной машине сетевого контроллера.
Чтобы получить сведения о среде, выполните следующий командлет:
Get-SdnInfrastructureInfo -NetworkController 'nc01.contoso.com'
- Сведения о среде будут храниться в глобальной переменной, к которой можно обратиться в любое время в текущем пространстве PowerShell, обратившись через
Global:SdnDiagnostics
.
- Сведения о среде будут храниться в глобальной переменной, к которой можно обратиться в любое время в текущем пространстве PowerShell, обратившись через
Чтобы установить
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)