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. Polecenie cmdlet tymczasowo kopiuje logi 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 wykonywania polecenia
Send-DiagnosticData
cmdlet różni się w zależności od czynników, takich jak role, dla których są zbierane dzienniki, określony czas trwania oraz liczba węzłów w środowisku lokalnym platformy Azure.
- Jeśli nie określisz żadnych parametrów, polecenie cmdlet
Send-DiagnosticData
zbiera dane ze wszystkich węzłów za poprzednią godzinę.
Oto składnia :Send-DiagnosticData
Send-DiagnosticData [[-FilterByRole] <string[]>] [[-FromDate] <datetime>] [[-ToDate] <datetime>] [[-CollectSddc] <bool>] [<CommonParameters>]
Aby uzyskać informacje referencyjne dotyczące Send-DiagnosticData
, zobacz sekcję Send-DiagnosticData
odniesienie do 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>
Uzyskaj historię zbierania dzienników
Możesz uzyskać historię wszystkich zestawów logów wykonanych przez ciebie. 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 polecenia cmdletu Get-LogCollectionHistory
. 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 lokalnym zasobie współdzielonym:
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 udostępnionego udziału SMB, gdzie 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
odniesienie do 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
FiltrujWedługRoli
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
ZapiszDoŚcieżki
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
, , FromDate
ToDate
, 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:
- Możesz połączyć parametry
SupplementaryLogs
, ShareCredential
i BypassObsAgent
z parametrem NoLogCollection
.
- Parametr
SupplementaryLogs
jest obowiązkowy przy użyciu NoLogCollection
. Określa ścieżkę do dzienników, które muszą być wysyłane do firmy Microsoft.
- Możesz przekazać ścieżkę udostępnienia lub ścieżkę wyjściową 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 –NoLogCollection
z niezamapowaną ś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 DodatkoweDzienniki umożliwia wysyłanie tymczasowych dzienników do firmy Microsoft.
Składnia
Można go używać na następujące sposoby:
Za pomocą 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 SaveToPath
lub 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
, FromDate
, ToDate
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ą NoLogCollection
:
Send-DiagnosticData –NoLogCollection –SupplementaryLogs <path to adhoc logs to collect>
Wersja rozszerzenia
Wersje 1.0.2.0 i nowsze
Udostępnij Poświadczenie
Ten parametr zapewnia elastyczność zbierania dzienników i zapisywania ich w ścieżce współdzielonej lub bezpośredniego wysyłania dzienników ze ścieżki współdzielonej do firmy Microsoft.
Składnia
Zapisz dzienniki w podanej ścieżce.
Send-DiagnosticData [-ShareCredential <pscredential>] -SaveToPath <path>
Wyślij dzienniki za pomocą ścieżki udostępniania do firmy Microsoft.
Send-DiagnosticData [-ShareCredential <pscredential>] -SupplementaryLogs <path> -NoLogCollection;
Przykłady
Zapisz dzienniki do ścieżki:
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credential to share path>
Wyślij dzienniki do udziału sieciowego 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 sieciowej. 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 udostępnienia:
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 sieciowej lub ścieżce wyjściowej.
- Wyślij dzienniki do firmy Microsoft z udostępnionej ścieżki lub ścieżki docelowej. 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 –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 fizycznych 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 procesami cyklu życia, w tym wdrażaniem, aktualizowaniem, dodawaniem węzłów i zastępowaniem węzłów. |
Rozszerzenie |
Dane związane z rozszerzeniami zarządzanymi platformy Azure. |
FleetDiagnosticsAgent |
Nasłuchuje wyzwalaczy zdrowotnych w celu uruchomienia zbierania logów. Te logi służą do diagnozowania problemów z agentem FleetDiagnosticsAgent i kolekcją logó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 infrastruktury do pobierania aktualizowanej zawartości. |
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 Network ATC, podstawowym składnikiem systemu operacyjnego wykorzystywanym 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. |
Objętość Obserwowalności |
Zbiera dzienniki dla wolumenu obserwowalności. |
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. |
Agent Zdalnego Wsparcia |
Dzienniki, które ułatwiają rozwiązywanie problemów podczas zdalnych sesji wsparcia, używanych do obsługi zgłoszeń klienta. |
TestObservability |
Zbiera dzienniki z Test-Observability cmdletu, który służy do testowania, czy rozszerzenie TelemetryAndDiagnostics działa prawidłowo. |
URP |
Składa się z dzienników związanych ze zdarzeniami roli ECE „UpdateService ” i „OsUpdate ”. 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 oraz w przypadku aktualizacji maszyn InfraVM. Ślady z tych dwóch składników są częścią URP roli. |