Um PowerShell für die Protokollsammlung zu verwenden, führen Sie das Send-DiagnosticData
Cmdlet von einem beliebigen Knoten in der lokalen Azure-Instanz aus. Dieses Cmdlet kopiert die Protokolle vorübergehend lokal. Die kopierten Protokolle werden analysiert, an Microsoft gesendet und dann aus Ihrem System gelöscht.
Hier sind einige wichtige Punkte, die Sie beim Sammeln von Protokollen mit PowerShell berücksichtigen sollten:
- Die Abschlusszeit des
Send-DiagnosticData
Cmdlets variiert je nach Faktoren, z. B. den Rollen, für die Protokolle gesammelt werden, der angegebenen Zeitdauer und der Anzahl der Knoten in Ihrer lokalen Azure-Umgebung.
- Wenn Sie keine Parameter angeben, sammelt das
Send-DiagnosticData
Cmdlet Daten aus allen Knoten für die vorherige einstündige Dauer.
Dies ist die Syntax von Send-DiagnosticData
:
Send-DiagnosticData [[-FilterByRole] <string[]>] [[-FromDate] <datetime>] [[-ToDate] <datetime>] [[-CollectSddc] <bool>] [<CommonParameters>]
Referenzinformationen zu Send-DiagnosticData
finden Sie im Abschnitt Send-DiagnosticData
Befehlsreferenz weiter unten in diesem Artikel.
Beispiele und Beispielergebnisse
Hier sind einige Beispielbefehle mit Beispielausgaben, die zeigen, wie das Send-DiagnosticData
Cmdlet mit verschiedenen Parametern verwendet wird.
Senden von Diagnosedaten mit Datumsfilterung
In diesem Beispiel senden Sie Diagnosedaten mit Datumsfilterung für Protokolldateien für die letzten zwei Stunden:
Send-DiagnosticData -FromDate (Get-Date).AddHours(-2) -ToDate (Get-Date)
Hier ist eine Beispielausgabe dieses Befehls:
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>
Senden von Diagnosedaten für bestimmte Rollen
In diesem Beispiel senden Sie Diagnosedaten mit Rollenfilterung für BareMetal und ECE:
Send-DiagnosticData -FilterByRole BareMetal, ECE –CollectSddc $false
Hier ist eine Beispielausgabe dieses Befehls:
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>
Erhalten Sie einen Verlauf der Logsammlung
Sie können einen Verlauf aller Protokollsammlungen abrufen, die Sie ausgeführt haben. Dieser Verlauf hilft Ihnen, mehr über die Arten von Protokollsammlungen, die Größe von Protokollsammlungen, die Zeiten, zu denen Protokolle gesammelt wurden, und über die Methoden der Protokollsammlung zu erfahren.
Um einen Verlauf von Protokollsammlungen für die letzten 90 Tage zu erhalten, geben Sie Folgendes ein:
Get-LogCollectionHistory
Hier ist eine Beispielausgabe des Get-LogCollectionHistory
Cmdlets. Die datetime
Parameter befinden sich in der UTC-Zeitzone.
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>
Speichern von Protokollen in einem lokalen Dateifreigaben
Sie können Diagnoseprotokolle auf einer lokalen SMB-Freigabe (Server Message Block) speichern, wenn Netzwerkprobleme auftreten oder daten lokal speichern möchten, anstatt sie an Azure zu senden.
Führen Sie die folgenden Schritte aus, um Protokolle auf einem lokalen Share zu speichern:
Führen Sie den folgenden Befehl aus, um eine Freigabe zu erstellen:
New-SMBShare -Name <share-name> -Path <path-to-share> -FullAccess Users -ChangeAccess 'Server Operators'
Führen Sie die folgenden Befehle aus, um PSCredentials für die Freigabe zu erstellen:
$user = "<username>"
$pass = "<password>"
$sec=ConvertTo-SecureString -String $pass -AsPlainText -Force
$shareCredential = New-Object System.Management.Automation.PSCredential ($user, $sec)
Führen Sie den folgenden Befehl auf jedem Knoten des Systems aus, um Protokolle zu sammeln und lokal zu speichern:
Send-DiagnosticData -SaveToPath <path to share> -ShareCredential $shareCredential
Wenn Sie über ausgehende Verbindungen aus der SMB-Freigabe verfügen, in der Sie die Protokolle gespeichert haben, können Sie den folgenden Befehl ausführen, um die Protokolle an Microsoft zu senden:
Send-DiagnosticData NoLogCollection -SupplementaryLogs <path-to-share> -ShareCredentail $shareCredential
Send-DiagnosticData
Befehlsreferenz
Dieser Abschnitt enthält Referenzinformationen zu Send-DiagnosticData
Parametern, Syntax und Verwendungsbeispielen.
FromDate und ToDate
Mit diesen Parametern können Sie Protokolle für einen bestimmten Zeitraum sammeln.
Syntax
Send-DiagnosticData [[-FilterByRole] <string[]>] [[-FromDate] <datetime>] [[-ToDate] <datetime>] [[-CollectSddc] <bool>] [<CommonParameters>]
Beispiel
$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
Erweiterungsversion
Alle
Nach Rolle filtern
Mit diesem Parameter können Sie auswählen, welche Rollenprotokolle Sie erfassen möchten. Sie können mehrere Rollen angeben. Eine Liste der verfügbaren Rollen, nach denen Sie Protokolle filtern können, finden Sie unter Rollen, die zum Filtern von Protokollen verfügbar sind.
Syntax
Send-DiagnosticData [[-FilterByRole] <string[]>]
Beispiel
Send-DiagnosticData –FilterByRole “ALM” -CollectSddc $false
Erweiterungsversion
Alle
CollectSddc (Englisch)
Bestimmt, ob Log-Dateien eines softwaredefinierten Rechenzentrums (SDDC) eingeschlossen oder ausgeschlossen werden sollen. Standardmäßig sind SDDC-Protokolle eingeschlossen. Legen Sie sie auf $false fest, wenn Sie sie ausschließen möchten. Weitere Informationen zur Verwendung von SDDC-Diagnosetools finden Sie unter Sammeln von Diagnosedaten für Systeme.
Syntax
Send-DiagnosticData [-CollectSddc <bool>]
Beispiel
Send-DiagnosticData –CollectSddc $false
Erweiterungsversion
Alle
BypassObsAgent
Beim Umgehen des Observability-Agents werden Protokolle nur auf dem Knoten erfasst, auf dem die Protokollsammlung initiiert wurde. Es wird kein Datensatz der Sammlung im Verlauf aufbewahrt.
Syntax
Send-DiagnosticData [-BypassObsAgent]
Beispiel
Send-DiagnosticData –BypassObsAgent
Erweiterungsversion
Alle
SaveToPath (SpeichernZuPfad)
Mit diesem Parameter können Sie die Diagnoseprotokolle nicht an Microsoft übertragen, sondern in einem angegebenen Pfad auf dem Hostcomputer speichern.
Syntax
Send-DiagnosticData -SaveToPath <string> [-FilterByRole <string[]>] [-FromDate <datetime>] [-ToDate <datetime>] [-CollectSddc <bool>] [-SupplementaryLogs <string>] [-ShareCredential <pscredential>] [-BypassObsAgent] [<CommonParameters>]
Beispiele
Sie können entweder einen Freigabepfad oder einen Ausgabepfad auf dem Host für den SaveToPath
Parameter bereitstellen.
Send-DiagnosticData –SaveToPath <output path>
Send-DiagnosticData –SaveToPath <share path>
Wenn Sie einen Freigabepfad verwenden, der nicht zugeordnet ist, müssen Sie auch den Parameter -ShareCredential
verwenden.
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credentials for share path>
Sie können SaveToPath
zusammen mit anderen Parametern wie FilterByRole
, FromDate
, ToDate
, CollectSddc
, SupplementaryLogs
, ShareCredential
und BypassObsAgent
verwenden.
Send-DiagnosticData –SaveToPath <output path> -FIlterByRole <role>
Erweiterungsversion
Versionen 1.0.2.0 und höher
NoLogCollection
Mit dem NoLogCollection
Schalterparameter können Sie eine Ad-hoc-Gruppe von Logs an Microsoft senden. Berücksichtigen Sie bei verwendung dieses Parameters die folgenden Details:
- Sie können die
SupplementaryLogs
Parameter und die ShareCredential
Parameter mit dem BypassObsAgent
Parameter NoLogCollection
kombinieren.
- Der
SupplementaryLogs
-Parameter ist bei Verwendung von NoLogCollection
zwingend erforderlich. Er gibt den Pfad zu den Protokollen an, die an Microsoft gesendet werden müssen.
- Sie haben die Flexibilität, dem Parameter
SupplementaryLogs
entweder einen Freigabepfad oder einen Ausgabepfad auf dem Host zu übergeben. Wenn Sie einen nicht zugeordneten Freigabepfad verwenden, müssen Sie auch den Parameter -ShareCredential
verwenden.
Syntax
Send-DiagnosticData -SupplementaryLogs <string> -NoLogCollection [-ShareCredential <pscredential>] [-BypassObsAgent] [<CommonParameters>]
Beispiele
Verwenden Sie –NoLogCollection
, wenn Sie einen obligatorischen SupplementaryLogs
-Parameter verwenden:
Send-DiagnosticData –NoLogCollection –SupplementaryPath <output path>
Verwenden Sie –NoLogCollection
bei einem nicht zugeordneten Freigabepfad:
Send-DiagnosticData –NoLogCollection –SupplementaryPath <share path>
-ShareCredential <credential to share path>
Erweiterungsversion
Versionen 1.0.2.0 und höher
Ergänzende Protokolle
Mit dem Parameter "SupplementaryLogs" können Sie Ad-hoc-Protokolle an Microsoft senden.
Syntax
Sie können es auf folgende Weise verwenden:
Mit SaveToPath
: In diesem Szenario werden sowohl Diagnoseprotokolle als auch Ad-hoc-Protokolle gesammelt und in einem angegebenen Pfad gespeichert.
Send-DiagnosticData [-SupplementaryLogs <string>] -SaveToPath <path>
Mit NoLogCollection
: Hier werden nur Ad-hoc-Protokolle gesammelt und an Microsoft gesendet. Es werden keine Diagnoseprotokolle gesammelt.
Send-DiagnosticData -SupplementaryLogs <string> -NoLogCollection
Ohne SaveToPath
oder NoLogCollection
. Dies bedeutet, dass sowohl Diagnoseprotokolle als auch Ad-hoc-Protokolle gesammelt und an Microsoft gesendet werden.
Send-DiagnosticData [-SupplementaryLogs <string>]
Beim Sammeln von Diagnose- und Ad-hoc-Protokollen können Sie den SupplementaryLogs
Parameter mit anderen Parametern wie FilterByRole
, FromDate
, ToDate
und CollectSddc
verwenden.
Beispiele
Ohne SaveToPath
oder NoLogCollection
:
Send-DiagnosticData –SupplementaryLogs <path to adhoc logs to collect>
Mit SaveToPath
:
Send-DiagnosticData –SaveToPath <path> -SupplementaryLogs <path to adhoc logs to collect>
Mit NoLogCollection
:
Send-DiagnosticData –NoLogCollection –SupplementaryLogs <path to adhoc logs to collect>
Erweiterungsversion
Versionen 1.0.2.0 und höher
ShareCredential (Freigabeberechtigung)
Dieser Parameter bietet die Flexibilität, protokolle zu sammeln und in einem Freigabepfad zu speichern oder Protokolle direkt von einem Freigabepfad an Microsoft zu senden.
Syntax
Speichern von Protokollen in einem Pfad:
Send-DiagnosticData [-ShareCredential <pscredential>] -SaveToPath <path>
Protokolle über einen Freigabepfad an Microsoft senden:
Send-DiagnosticData [-ShareCredential <pscredential>] -SupplementaryLogs <path> -NoLogCollection;
Beispiele
Speichern von Protokollen in einem Pfad:
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credential to share path>
Protokolle über einen Freigabepfad an Microsoft senden:
Send-DiagnosticData –NoLogCollection –SupplementaryLogs <share path> –ShareCredential <credential to the share path>
Erweiterungsversion
Alle
(Abschaffung planen) ToSMBShare
Mit diesem Parameter können Sie Protokolle entweder in einem Ausgabepfad oder einem Freigabepfad speichern. Wenn Sie einen Freigabepfad verwenden, der nicht zugeordnet ist, müssen Sie auch den Parameter ShareCredential
verwenden. Da dieser Parameter in zukünftigen Versionen der Erweiterung entfernt wird, verwenden Sie stattdessen den -SaveToPath
Parameter.
Syntax
Send-DiagnosticData –ToSMBShare –SharePath <path> [-ShareCredential <pscredential>]
Beispiele
Speichern von Protokollen in einem Ausgabepfad oder Freigabepfad:
Send-DiagnosticData –ToSMBShare –SharePath <output path or share path>
Protokolle auf einem Freigabepfad speichern, der nicht zugeordnet ist:
Send-DiagnosticData –ToSMBShare –SharePath <share path> -ShareCredential <credential for the share path>
Erweiterungsversion
Anfänglich in allen Versionen zugänglich, wird dieser Parameter schließlich auf Versionen 0.1.42 und früher beschränkt sein.
(Plan zur Abschaffung) FromSMBShare
Mit diesem Parameter können Sie Protokolle von einem Ausgabepfad oder Freigabepfad direkt an Microsoft senden. Wenn Sie einen Freigabepfad verwenden, der nicht zugeordnet ist, müssen Sie auch den Parameter ShareCredential
verwenden. Da dieser Parameter in zukünftigen Versionen der Erweiterung entfernt wird, verwenden Sie stattdessen den -NoLogCollection
Parameter.
Syntax
Send-DiagnosticData –FromSMBShare –SharePath <path> [-ShareCredential <pscredential>]
Beispiele
Send-DiagnosticData –FromSMBShare –SharePath <output path or share path>
Send-DiagnosticData –FromSMBShare –SharePath <share path>
Erweiterungsversion
Anfänglich in allen Versionen zugänglich, wird dieser Parameter schließlich auf Versionen 0.1.42 und früher beschränkt sein.
(Plan zur Ausmusterung) SharePath
Der SharePath-Parameter kann für einen der folgenden Zwecke verwendet werden:
- Speichern Sie Diagnoseprotokolle in einem Freigabe- oder Ausgabepfad.
- Senden Sie Protokolle von einem Freigabe- oder Ausgabepfad an Microsoft. Wenn Sie einen Freigabepfad verwenden und der Freigabepfad nicht zugeordnet ist, muss auch der Parameter
ShareCredential
verwendet werden.
Da dieser Parameter in zukünftigen Versionen der Erweiterung entfernt wird, verwenden Sie –SaveToPath
, um Protokolle in einem Pfad zu speichern, oder –SupplementaryLogs
, wenn Sie Ad-hoc-Protokolle an Microsoft senden.
Syntax
Send-DiagnosticData –ToSMBShare –SharePath <path> [-ShareCredential <pscredential>];
Send-DiagnosticData –FromSMBShare –SharePath <path> [-ShareCredential <pscredential>];
Beispiele
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>
Erweiterungsversion
Anfänglich in allen Versionen zugänglich, wird dieser Parameter schließlich auf Versionen 0.1.42 und früher beschränkt sein.
Für das Filtern von Protokollen verfügbare Rollen
Die folgenden Rollen stehen zum Filtern nach dem Parameter FilterByRole zur Verfügung. Die verfügbaren Rollen können in einer zukünftigen Version unterschiedlich sein.
Rollenname |
Beschreibung |
ALM |
Application Lifecycle Management (ALM) umfasst die Verwaltung der Entwicklung, Tests, Bereitstellung und Wartung für Softwareanwendungen. |
ArcAgent |
Ein Agent, der die Verwaltung von Windows Server über Azure Arc ermöglicht. Siehe Übersicht über den Azure Connected Machine-Agent. |
BareMetal |
Infrastrukturrolle, mit der Sie Dienste auf Bare-Metal-Servern ohne Virtualisierungsebene ausführen können. Sie können vollzugriff und Kontrolle über das Betriebssystem und die Hardware haben. |
CommonInfra |
Sammelt Protokolle für allgemeine Infrastrukturkomponenten, z. B. Netzwerk, Speicher und Sicherheit. |
Bereitstellungsprotokolle |
Zeichnet Details des Bereitstellungsprozesses auf, einschließlich der ausgeführten Schritte, aufgetretener Fehler und des Vorgangsstatus. |
ECE |
Verwaltet Lifecycle Workflows, einschließlich Bereitstellung, Aktualisierung, Hinzufügen von Knoten und Ersetzen von Knoten. |
Erweiterung |
Daten im Zusammenhang mit von Azure verwalteten Erweiterungen. |
Flotten-Diagnose-Agent |
Hört auf Zustands-Trigger, um die Protokollsammlung zu starten. Diese Protokolle werden verwendet, um Probleme mit FleetDiagnosticsAgent und log collection zu diagnostizieren. |
HCICloudDienst |
Ein Azure-Clouddienst, der Kernfunktionen für Azure Local bereitstellt. Es kombiniert Azure Power mit der Flexibilität von lokalen Computern. |
DownloadService |
Teil des Infrastrukturdiensts zum Herunterladen von Updateinhalten. |
Gesundheit |
Sammelt Gesundheits-, Leistungs- und Nutzungsdaten aus verschiedenen Quellen, z. B. Ereignisprotokollen und Leistungsindikatoren. |
HostNetzwerk |
Protokolle zur Fehlerbehebung bei Network ATC, der zugrunde liegenden Betriebssystemkomponente, die zur Konfiguration des Host Networking verwendet wird. |
MOC_ARB |
Verwaltungsstapel, der die cloudbasierte Verwaltung virtueller Computer auf Azure Local und Windows Server ermöglicht. |
NC |
Informationen zur Netzwerkinfrastruktur. |
BeobachtbarkeitLogmanTraces |
Sammelt Protokolle für die Observability Traces. Diese Protokolle helfen bei der Problembehandlung beim Senden von Diagnosedaten. |
Überwachungsvolumen |
Sammelt Protokolle für die Observability Volumes. |
OEMDiagnostik |
Sammelt Protokolle für OEM-Diagnosen, die helfen können, Probleme mit Ihrer Serverhardware zu identifizieren und zu beheben, z. B. BIOS, Treiber, Sensoren und vieles mehr. |
OSUpdateLogs |
Rolle, die Protokolle im Zusammenhang mit Betriebssystemupdates auf lokalen Azure-Knoten sammelt, nützlich für die Problembehandlung von Updateproblemen. |
Fernsupport-Agent |
Protokolldateien, die bei der Fehlersuche bei Remote-Support-Sitzungen helfen und zur Lösung von Kundensupportfällen verwendet werden. |
TestObservability |
Sammelt Protokolle aus dem Test-Observability Cmdlet, das verwendet wird, um zu testen, ob die TelemetryAndDiagnostics Erweiterung ordnungsgemäß funktioniert. |
URP |
Besteht aus Protokollen im Zusammenhang mit den UpdateService und OsUpdate ECE-Rollenereignissen.
Update Service verwaltet die Updates für Azure Local. Die OsUpdate ECE-Rolle wird verwendet, um Betriebssystemupdates auf Maschinen (physische Hosts und InfraVMs) herunterzuladen und zu installieren, die während der Bereitstellung, bei der Knotenhinzufügung, der Knotenreparatur und bei Aktualisierungsszenarien für Infra-VMs nicht Teil des Systems sind. Tracings aus diesen beiden Komponenten sind Element der URP Rolle. |