Aby użyć programu PowerShell do zbierania dzienników, uruchom Send-DiagnosticData
polecenie cmdlet z dowolnego węzła w wystąpieniu lokalnym platformy Azure. To polecenie cmdlet tymczasowo kopiuje dzienniki lokalnie. Skopiowane dzienniki są analizowane, wysyłane do firmy Microsoft, a następnie usuwane z systemu.
Poniżej przedstawiono kilka ważnych kwestii, które należy wziąć pod uwagę podczas zbierania dzienników przy użyciu programu PowerShell:
- Czas
Send-DiagnosticData
ukończenia polecenia cmdlet różni się w zależności od czynników, takich jak role, dla których są zbierane dzienniki, czas trwania i liczba węzłów w środowisku lokalnym platformy Azure.
- Jeśli nie określisz żadnych parametrów,
Send-DiagnosticData
polecenie cmdlet zbiera dane ze wszystkich węzłów w ciągu poprzedniej godziny.
Oto składnia :Send-DiagnosticData
Send-DiagnosticData [[-FilterByRole] <string[]>] [[-FromDate] <datetime>] [[-ToDate] <datetime>] [[-CollectSddc] <bool>] [<CommonParameters>]
Aby uzyskać informacje referencyjne dotyczące Send-DiagnosticData
programu , zobacz sekcję Send-DiagnosticData
dokumentacji poleceń w dalszej części tego artykułu.
Przykłady i przykładowe dane wyjściowe
Oto kilka przykładowych poleceń z przykładowymi danymi wyjściowymi, które pokazują, jak używać Send-DiagnosticData
polecenia cmdlet z różnymi parametrami.
Wysyłanie danych diagnostycznych przy użyciu filtrowania dat
W tym przykładzie wysyłasz dane diagnostyczne z filtrowaniem dat dla plików dziennika w ciągu ostatnich dwóch godzin:
Send-DiagnosticData -FromDate (Get-Date).AddHours(-2) -ToDate (Get-Date)
Oto przykładowe dane wyjściowe tego polecenia:
PS C:\CloudDeployment\logs> Send-DiagnosticData -FromDate (Get-Date).AddHours(-2) -ToDate (Get-Date)
Converting FromDate and ToDate to UTC
FromDate in UTC is now 12/04/2023 19:14:18. ToDate in UTC is now 12/04/2023 21:14:18
The correlation Id is <Correlation-ID>. This is used to query for this log collection in the diagnostic pipeline.
Provide the below information to the customer support engineer working on your case.
AEORegion: eastus
AEODeviceARMResourceUri: /Subscriptions/<Subscription-ID>/resourceGroups/EDGECI-REGISTRATION/providers/Microsoft.AzureStackHCI/clusters/<cluster-name>
AEOClusterNodeArcResourceUri: /subscriptions/<Subscription-ID>/resourceGroups/EDGECI-REGISTRATION/providers/Microsoft.HybridCompute/machines/<v-host-name>
CorrelationId: <Correlation-ID>
Observability Agent is running.
Successfully submitted on-demand. Log collection Job Id: <Job-ID>. This is used to track the log collection with Get-LogCollectionHistory.
Current log collection status: Running
Waiting for log collection to complete...
==== CUT ==================== CUT =======
Log collection ended with status: Succeeded
PS C:\CloudDeployment\logs>
Wysyłanie danych diagnostycznych dla określonych ról
W tym przykładzie wysyłasz dane diagnostyczne z filtrowaniem ról dla bareMetal i ECE:
Send-DiagnosticData -FilterByRole BareMetal, ECE –CollectSddc $false
Oto przykładowe dane wyjściowe tego polecenia:
PS C:\Users\docsuser> Send-DiagnosticData -FilterByRole BareMetal, ECE –CollectSddc $false
FromDate parameter not specified. Setting to default value 12/04/2023 20:41:21
ToDate parameter not specified. Setting to default value 12/04/2023 21:41:21
Converting FromDate and ToDate to UTC
FromDate in UTC is now 12/04/2023 20:41:21. ToDate in UTC is now 12/04/2023 21:41:21
The correlation Id is <Correlation-ID>. This is used to query for this log collection in the diagnostic pipeline.
Provide the below information to the customer support engineer working on your case.
AEORegion: eastus
AEODeviceARMResourceUri: /Subscriptions/<Subscription-ID>/resourceGroups/EDGECI-REGISTRATION/providers/Microsoft.AzureStackHCI/clusters/cluster-e5c7b2aa9a36490f9567b432a0eb51f1
AEOClusterNodeArcResourceUri: /subscriptions/<Subscription-ID>/resourceGroups/EDGECI-REGISTRATION/providers/Microsoft.HybridCompute/machines/v-Host1
CorrelationId: <Correlation-ID>
Observability Agent is running.
Successfully submitted on-demand. Log collection Job Id: <Job-ID>. This is used to track the log collection with Get-LogCollectionHistory.
Current log collection status: Running
Waiting for log collection to complete...
==== CUT ==================== CUT =======
Log collection ended with status: Succeeded
PS C:\Users\docsuser>
Pobieranie historii zbierania dzienników
Możesz uzyskać historię wszystkich wykonanych kolekcji dzienników. Ta historia ułatwia poznanie rodzajów kolekcji dzienników, rozmiarów kolekcji dzienników, czasów zbierania dzienników oraz metod zbierania dzienników.
Aby uzyskać historię kolekcji dzienników z ostatnich 90 dni, wprowadź:
Get-LogCollectionHistory
Oto przykładowe dane wyjściowe Get-LogCollectionHistory
polecenia cmdlet. Parametry datetime
znajdują się w strefie czasowej UTC.
PS C:\CloudDeployment\logs> Get-LogCollectionHistory
Name Value
---- -----
TimeCollected 9/29/2022 5:08:14 PM +00:00
Status Succeeded
CollectionFromDate 9/29/2022 4:07:57 PM +00:00
CollectionToDate 9/29/2022 5:07:57 PM +00:00
LogCollectionId fdcd94c8-1bd2-4ec6-8612-c92d5abd9a84
Type OnDemand
LogUploadSizeMb 1598
UploadNumberOfFiles 1924
Directory
Location
Error
---------- ---------------------------------------------------------
TimeCollected 9/27/2022 11:57:25 PM +00:00
Status Succeeded
CollectionFromDate 9/27/2022 9:57:16 PM +00:00
CollectionToDate 9/27/2022 11:57:16 PM +00:00
LogCollectionId f3d8dcc6-901e-4c72-a3cc-210055e6f198
Type OnDemand
LogUploadSizeMb 1069
UploadNumberOfFiles 1941
Directory
Location
Error
PS C:\CloudDeployment\logs>
Zapisywanie dzienników w lokalnym udziale plików
Dzienniki diagnostyczne można przechowywać w lokalnym udziale bloku komunikatów serwera (SMB), jeśli masz problemy z siecią lub wolisz zapisywać dane lokalnie zamiast wysyłać je na platformę Azure.
Wykonaj następujące kroki, aby zapisać dzienniki w udziale lokalnym:
Uruchom następujące polecenie, aby utworzyć udział:
New-SMBShare -Name <share-name> -Path <path-to-share> -FullAccess Users -ChangeAccess 'Server Operators'
Uruchom następujące polecenia, aby utworzyć plik PSCredentials do udziału:
$user = "<username>"
$pass = "<password>"
$sec=ConvertTo-SecureString -String $pass -AsPlainText -Force
$shareCredential = New-Object System.Management.Automation.PSCredential ($user, $sec)
Uruchom następujące polecenie w każdym węźle systemu, aby zebrać dzienniki i zapisać je lokalnie:
Send-DiagnosticData -SaveToPath <path to share> -ShareCredential $shareCredential
Jeśli masz łączność wychodzącą z udziału SMB, w którym zapisano dzienniki, możesz uruchomić następujące polecenie, aby wysłać dzienniki do firmy Microsoft:
Send-DiagnosticData NoLogCollection -SupplementaryLogs <path-to-share> -ShareCredentail $shareCredential
Send-DiagnosticData
dokumentacja poleceń
Ta sekcja zawiera informacje referencyjne dotyczące Send-DiagnosticData
parametrów, składni i przykładów użycia.
FromDate i ToDate
Te parametry umożliwiają zbieranie dzienników przez określony okres.
Składnia
Send-DiagnosticData [[-FilterByRole] <string[]>] [[-FromDate] <datetime>] [[-ToDate] <datetime>] [[-CollectSddc] <bool>] [<CommonParameters>]
Przykład
$fromDate = Get-Date -Date "11/30/2023 18:35:00"
$toDate = Get-Date -Date "11/30/2023 19:35:00"
Send-DiagnosticData –FromDate $fromDate –ToDate $toDate
Wersja rozszerzenia
wszystkie
FilterByRole
Ten parametr umożliwia wybranie dzienników ról, które chcesz zebrać. Można określić wiele ról. Aby uzyskać listę dostępnych ról, na których można filtrować dzienniki, zobacz Role dostępne do filtrowania dzienników.
Składnia
Send-DiagnosticData [[-FilterByRole] <string[]>]
Przykład
Send-DiagnosticData –FilterByRole “ALM” -CollectSddc $false
Wersja rozszerzenia
wszystkie
CollectSddc
Określa, czy należy dołączać lub wykluczać dzienniki centrum danych zdefiniowanego programowo (SDDC). Domyślnie są uwzględniane dzienniki SDDC. Ustaw ją na $false, jeśli chcesz je wykluczyć. Aby uzyskać więcej informacji na temat korzystania z narzędzi diagnostycznych SDDC, zobacz Zbieranie danych diagnostycznych dla systemów.
Składnia
Send-DiagnosticData [-CollectSddc <bool>]
Przykład
Send-DiagnosticData –CollectSddc $false
Wersja rozszerzenia
wszystkie
BypassObsAgent
Pomijając agenta obserwacji, dzienniki są zbierane tylko w węźle, w którym zainicjowano zbieranie dzienników. W historii nie są przechowywane żadne rekordy kolekcji.
Składnia
Send-DiagnosticData [-BypassObsAgent]
Przykład
Send-DiagnosticData –BypassObsAgent
Wersja rozszerzenia
wszystkie
SaveToPath
Ten parametr umożliwia zapisanie dzienników diagnostycznych w określonej ścieżce na maszynie hosta zamiast ich przesyłania do firmy Microsoft.
Składnia
Send-DiagnosticData -SaveToPath <string> [-FilterByRole <string[]>] [-FromDate <datetime>] [-ToDate <datetime>] [-CollectSddc <bool>] [-SupplementaryLogs <string>] [-ShareCredential <pscredential>] [-BypassObsAgent] [<CommonParameters>]
Przykłady
Możesz podać ścieżkę udziału lub ścieżkę wyjściową na hoście do parametru SaveToPath
.
Send-DiagnosticData –SaveToPath <output path>
Send-DiagnosticData –SaveToPath <share path>
Jeśli używasz ścieżki udziału, która nie jest mapowana, musisz również użyć parametru -ShareCredential
.
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credentials for share path>
Można użyć SaveToPath
z innymi parametrami, takimi jak FilterByRole
, , ToDate
FromDate
, CollectSddc
, SupplementaryLogs
, , ShareCredential
i BypassObsAgent
.
Send-DiagnosticData –SaveToPath <output path> -FIlterByRole <role>
Wersja rozszerzenia
Wersje 1.0.2.0 i nowsze
NoLogCollection
Parametr NoLogCollection
przełącznika umożliwia wysyłanie zestawu dzienników ad hoc do firmy Microsoft. W przypadku korzystania z tego parametru należy wziąć pod uwagę następujące szczegóły:
- Parametry , i
BypassObsAgent
można połączyć SupplementaryLogs
z parametrem .NoLogCollection
ShareCredential
- Parametr
SupplementaryLogs
jest obowiązkowy w przypadku używania polecenia NoLogCollection
. Określa ścieżkę do dzienników, które muszą być wysyłane do firmy Microsoft.
- Masz elastyczność przekazywania ścieżki udziału lub ścieżki wyjściowej na hoście do parametru
SupplementaryLogs
. Jeśli używasz niezamapowanej ścieżki udziału, musisz również użyć parametru -ShareCredential
.
Składnia
Send-DiagnosticData -SupplementaryLogs <string> -NoLogCollection [-ShareCredential <pscredential>] [-BypassObsAgent] [<CommonParameters>]
Przykłady
Użyj –NoLogCollection
z obowiązkowym SupplementaryLogs
parametrem:
Send-DiagnosticData –NoLogCollection –SupplementaryPath <output path>
Użyj polecenia –NoLogCollection
z niezamapowanym ścieżką udziału:
Send-DiagnosticData –NoLogCollection –SupplementaryPath <share path>
-ShareCredential <credential to share path>
Wersja rozszerzenia
Wersje 1.0.2.0 i nowsze
Dodatkowe dzienniki
Parametr DodatkoweLogs umożliwia wysyłanie dzienników ad hoc do firmy Microsoft.
Składnia
Można go używać na następujące sposoby:
Za pomocą polecenia SaveToPath
. W tym scenariuszu zarówno dzienniki diagnostyczne, jak i dzienniki ad hoc są zbierane i zapisywane w określonej ścieżce.
Send-DiagnosticData [-SupplementaryLogs <string>] -SaveToPath <path>
Za pomocą polecenia NoLogCollection
. W tym miejscu zbierane są tylko dzienniki ad hoc i wysyłane do firmy Microsoft. Nie są zbierane żadne dzienniki diagnostyczne.
Send-DiagnosticData -SupplementaryLogs <string> -NoLogCollection
Bez lub SaveToPath
NoLogCollection
. Oznacza to, że zarówno dzienniki diagnostyczne, jak i dzienniki ad hoc są zbierane i wysyłane do firmy Microsoft.
Send-DiagnosticData [-SupplementaryLogs <string>]
Podczas zbierania dzienników diagnostycznych i ad hoc można użyć parametru SupplementaryLogs
z innymi parametrami, takimi jak FilterByRole
, , ToDate
FromDate
i CollectSddc
.
Przykłady
Bez SaveToPath
lub NoLogCollection
:
Send-DiagnosticData –SupplementaryLogs <path to adhoc logs to collect>
Za pomocą polecenia SaveToPath
:
Send-DiagnosticData –SaveToPath <path> -SupplementaryLogs <path to adhoc logs to collect>
Za pomocą polecenia NoLogCollection
:
Send-DiagnosticData –NoLogCollection –SupplementaryLogs <path to adhoc logs to collect>
Wersja rozszerzenia
Wersje 1.0.2.0 i nowsze
ShareCredential
Ten parametr zapewnia elastyczność zbierania dzienników i zapisywania ich w ścieżce udziału lub bezpośredniego wysyłania dzienników ze ścieżki udziału do firmy Microsoft.
Składnia
Zapisz dzienniki w ścieżce:
Send-DiagnosticData [-ShareCredential <pscredential>] -SaveToPath <path>
Wysyłanie dzienników w ścieżce udziału do firmy Microsoft:
Send-DiagnosticData [-ShareCredential <pscredential>] -SupplementaryLogs <path> -NoLogCollection;
Przykłady
Zapisz dzienniki w ścieżce:
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credential to share path>
Wysyłanie dzienników w ścieżce udziału do firmy Microsoft:
Send-DiagnosticData –NoLogCollection –SupplementaryLogs <share path> –ShareCredential <credential to the share path>
Wersja rozszerzenia
wszystkie
(Zaplanuj wycofanie) ToSMBShare
Ten parametr umożliwia zapisywanie dzienników w ścieżce wyjściowej lub ścieżce udziału. Jeśli używasz ścieżki udziału, która nie została zamapowana, musisz również użyć parametru ShareCredential
. Ponieważ ten parametr zostanie usunięty w przyszłych wersjach rozszerzenia, użyj parametru -SaveToPath
.
Składnia
Send-DiagnosticData –ToSMBShare –SharePath <path> [-ShareCredential <pscredential>]
Przykłady
Zapisz dzienniki w ścieżce wyjściowej lub ścieżce udziału:
Send-DiagnosticData –ToSMBShare –SharePath <output path or share path>
Zapisz dzienniki w ścieżce udziału, która nie jest mapowana:
Send-DiagnosticData –ToSMBShare –SharePath <share path> -ShareCredential <credential for the share path>
Wersja rozszerzenia
Początkowo dostępny we wszystkich wersjach ten parametr będzie jednak ostatecznie ograniczony do wersji 0.1.42 i starszych.
(Zaplanuj wycofanie) FromSMBShare
Ten parametr umożliwia wysyłanie dzienników ze ścieżki wyjściowej lub ścieżki udziału bezpośrednio do firmy Microsoft. Jeśli używasz ścieżki udziału, która nie została zamapowana, musisz również użyć parametru ShareCredential
. Ponieważ ten parametr zostanie usunięty w przyszłych wersjach rozszerzenia, użyj parametru -NoLogCollection
.
Składnia
Send-DiagnosticData –FromSMBShare –SharePath <path> [-ShareCredential <pscredential>]
Przykłady
Send-DiagnosticData –FromSMBShare –SharePath <output path or share path>
Send-DiagnosticData –FromSMBShare –SharePath <share path>
Wersja rozszerzenia
Początkowo dostępny we wszystkich wersjach ten parametr będzie jednak ostatecznie ograniczony do wersji 0.1.42 i starszych.
(Zaplanuj wycofanie) SharePath
Parametr SharePath może służyć do jednego z następujących celów:
- Zapisz dzienniki diagnostyczne w ścieżce udziału lub ścieżce wyjściowej.
- Wysyłanie dzienników do firmy Microsoft ze ścieżki udziału lub ścieżki wyjściowej. Jeśli używasz ścieżki udziału, a ścieżka udziału nie jest mapowana, należy również użyć parametru
ShareCredential
.
Ponieważ ten parametr zostanie usunięty w przyszłych wersjach rozszerzenia, użyj polecenia –SaveToPath
, aby zapisać dzienniki w ścieżce lub –SupplementaryLogs
podczas wysyłania dzienników ad hoc do firmy Microsoft.
Składnia
Send-DiagnosticData –ToSMBShare –SharePath <path> [-ShareCredential <pscredential>];
Send-DiagnosticData –FromSMBShare –SharePath <path> [-ShareCredential <pscredential>];
Przykłady
Send-DiagnosticData –ToSMBShare –SharePath <output path or share path>
Send-DiagnosticData –ToSMBShare –SharePath <share path> -ShareCredential <credential for the share path>
Send-DiagnosticData –FromSMBShare –SharePath <output path or share path>
Send-DiagnosticData –FromSMBShare –SharePath <share path>
Wersja rozszerzenia
Początkowo dostępny we wszystkich wersjach ten parametr będzie jednak ostatecznie ograniczony do wersji 0.1.42 i starszych.
Role dostępne do filtrowania dzienników
Następujące role są dostępne do filtrowania według parametru FilterByRole . Dostępne role mogą być inne w przyszłej wersji.
Nazwa roli |
opis |
ALM |
Zarządzanie cyklem życia aplikacji (ALM) obejmuje zarządzanie programowaniem, testowaniem, wdrażaniem i konserwacją aplikacji oprogramowania. |
ArcAgent |
Agent, który umożliwia zarządzanie systemem Windows Server za pośrednictwem usługi Azure Arc. Zobacz Omówienie agenta połączonej maszyny platformy Azure. |
BareMetal |
Rola infrastruktury umożliwiająca uruchamianie usług na serwerach bez systemu operacyjnego bez warstwy wirtualizacji. Możesz mieć pełny dostęp i kontrolę nad systemem operacyjnym i sprzętem. |
CommonInfra |
Zbiera dzienniki typowych składników infrastruktury, takich jak sieć, magazyn i zabezpieczenia. |
Dzienniki wdrażania |
Rejestruje szczegółowe informacje o procesie wdrażania, w tym podjęte kroki, napotkane błędy i stan operacji. |
ECE |
Zarządza przepływami pracy cyklu życia, w tym wdrażaniem, aktualizowaniem, dodawaniem węzła i zastępowaniem węzłów. |
Numer wewnętrzny |
Dane związane z rozszerzeniami zarządzanymi platformy Azure. |
FleetDiagnosticsAgent |
Nasłuchuje wyzwalaczy kondycji w celu uruchomienia zbierania dzienników. Te dzienniki służą do diagnozowania problemów z biblioteką FleetDiagnosticsAgent i zbieraniem dzienników. |
HCICloudService |
Usługa w chmurze platformy Azure, która zapewnia podstawowe funkcje dla platformy Azure Local. Łączy ona możliwości platformy Azure z elastycznością maszyn lokalnych. |
DownloadService |
Część usługi infra do pobierania zawartości aktualizacji. |
Służba zdrowia |
Zbiera dane dotyczące kondycji, wydajności i użycia z różnych źródeł, takich jak dzienniki zdarzeń i liczniki wydajności. |
HostNetwork |
Dzienniki używane do rozwiązywania problemów z siecią ATC, podstawowym składnikiem systemu operacyjnego używanym do konfigurowania sieci hosta. |
MOC_ARB |
Stos zarządzania, który umożliwia oparte na chmurze zarządzanie maszynami wirtualnymi na platformie Azure lokalnie i w systemie Windows Server. |
NC |
Informacje związane z infrastrukturą sieci. |
ObserwacjaLogmanTraces |
Zbiera dzienniki pod kątem śladów obserwacji. Te dzienniki ułatwiają rozwiązywanie problemów z wysyłaniem danych diagnostycznych. |
ObserwowalnośćVolume |
Zbiera dzienniki woluminu z obserwacją. |
OEMDiagnostics |
Zbiera dzienniki diagnostyki OEM, co może pomóc w identyfikowaniu i rozwiązywaniu problemów ze sprzętem serwera, takich jak BIOS, sterowniki, czujniki i nie tylko. |
Dzienniki aktualizacji systemu operacyjnego |
Rola, która zbiera dzienniki związane z aktualizacjami systemu operacyjnego w węzłach lokalnych platformy Azure, przydatna do rozwiązywania problemów związanych z aktualizacjami. |
RemoteSupportAgent |
Dzienniki, które ułatwiają rozwiązywanie problemów z sesjami pomocy technicznej zdalnej, które służą do rozwiązywania problemów z pomocą techniczną klienta. |
TestObservability |
Zbiera dzienniki z Test-Observability polecenia cmdlet , które służy do testowania TelemetryAndDiagnostics , czy rozszerzenie działa prawidłowo. |
Adres URL |
Składa się z dzienników związanych ze UpdateService OsUpdate zdarzeniami roli i ECE. Narzędzie Update Service zarządza aktualizacjami dla usługi Azure Local. Rola OsUpdate ECE służy do uzyskiwania i instalowania aktualizacji systemu operacyjnego na maszynach (hostach fizycznych i maszynach infraVM), które nie są częścią systemu podczas wdrażania, dodawania węzła, naprawiania węzła i scenariuszy aktualizacji maszyn wirtualnych infrastruktury. Ślady z tych dwóch składników są częścią URP roli. |