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
diesem Thema finden Sie Send-DiagnosticData
im Abschnitt "Befehlsreferenz " weiter unten in diesem Artikel.
Beispiele und Beispielausgaben
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>
Abrufen eines Verlaufs der Protokollsammlung
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 einer lokalen Dateifreigabe
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 in einer lokalen Freigabe 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
FilterByRole
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
Bestimmt, ob softwaredefinierte Rechenzentrumsprotokolle (SDDC) eingeschlossen oder ausgeschlossen werden sollen. Standardmäßig sind SDDC-Protokolle enthalten. 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
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 nicht zugeordneten Freigabepfad verwenden, müssen Sie auch den -ShareCredential
Parameter verwenden.
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credentials for share path>
Sie können mit anderen Parametern wie SaveToPath
, , FromDate
, , ToDate
, CollectSddc
, SupplementaryLogs
, und ShareCredential
BypassObsAgent
.FilterByRole
Send-DiagnosticData –SaveToPath <output path> -FIlterByRole <role>
Erweiterungsversion
Versionen 1.0.2.0 und höher
NoLogCollection
Mit dem NoLogCollection
Switch-Parameter können Sie eine Ad-hoc-Gruppe von Protokollen an Microsoft senden. Berücksichtigen Sie bei verwendung dieses Parameters die folgenden Details:
- Sie können die
SupplementaryLogs
Parameter und die BypassObsAgent
Parameter mit dem NoLogCollection
Parameter ShareCredential
kombinieren.
- Der
SupplementaryLogs
Parameter ist bei verwendung NoLogCollection
von . Er gibt den Pfad zu den Protokollen an, die an Microsoft gesendet werden müssen.
- Sie haben die Flexibilität, entweder einen Freigabepfad oder einen Ausgabepfad auf dem Host an den
SupplementaryLogs
Parameter zu übergeben. Wenn Sie einen nicht zugeordneten Freigabepfad verwenden, müssen Sie auch den -ShareCredential
Parameter verwenden.
Syntax
Send-DiagnosticData -SupplementaryLogs <string> -NoLogCollection [-ShareCredential <pscredential>] [-BypassObsAgent] [<CommonParameters>]
Beispiele
Verwendung –NoLogCollection
mit dem obligatorischen SupplementaryLogs
Parameter:
Send-DiagnosticData –NoLogCollection –SupplementaryPath <output path>
Verwendung –NoLogCollection
mit nicht zugeordneten Freigabepfaden:
Send-DiagnosticData –NoLogCollection –SupplementaryPath <share path>
-ShareCredential <credential to share path>
Erweiterungsversion
Versionen 1.0.2.0 und höher
SupplementaryLogs
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
.
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
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>
Senden von Protokollen auf einem Freigabepfad zu Microsoft:
Send-DiagnosticData [-ShareCredential <pscredential>] -SupplementaryLogs <path> -NoLogCollection;
Beispiele
Speichern von Protokollen in einem Pfad:
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credential to share path>
Senden von Protokollen auf einem Freigabepfad zu Microsoft:
Send-DiagnosticData –NoLogCollection –SupplementaryLogs <share path> –ShareCredential <credential to the share path>
Erweiterungsversion
Alle
(Planen der Veraltetkeit) ToSMBShare
Mit diesem Parameter können Sie Protokolle entweder in einem Ausgabepfad oder einem Freigabepfad speichern. Wenn Sie einen Freigabepfad verwenden, der nicht zugeordnet wurde, müssen Sie auch den ShareCredential
Parameter 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>
Speichern Sie Protokolle in einem Freigabepfad, der nicht zugeordnet ist:
Send-DiagnosticData –ToSMBShare –SharePath <share path> -ShareCredential <credential for the share path>
Erweiterungsversion
Zunächst kann dieser Parameter jedoch für alle Versionen zugänglich sein. Dieser Parameter ist schließlich auf Die Versionen 0.1.42 und früher beschränkt.
(Planen der Veraltetkeit) 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 wurde, müssen Sie auch den ShareCredential
Parameter 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
Zunächst kann dieser Parameter jedoch für alle Versionen zugänglich sein. Dieser Parameter ist schließlich auf Die Versionen 0.1.42 und früher beschränkt.
(Planen der Veraltetkeit) SharePath
Der SharePath-Parameter kann für einen der folgenden Zwecke verwendet werden:
- Speichern Sie Diagnoseprotokolle in einem Freigabepfad oder Ausgabepfad.
- Senden sie Protokolle von einem Freigabepfad oder Ausgabepfad an Microsoft. Wenn Sie einen Freigabepfad verwenden und der Freigabepfad nicht zugeordnet ist, muss der
ShareCredential
Parameter ebenfalls verwendet werden.
Da dieser Parameter in zukünftigen Versionen der Erweiterung entfernt wird, verwenden Sie die –SaveToPath
Protokolle in einem Pfad oder –SupplementaryLogs
beim Senden von Ad-hoc-Protokollen an Microsoft.
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
Zunächst kann dieser Parameter jedoch für alle Versionen zugänglich sein. Dieser Parameter ist schließlich auf Die Versionen 0.1.42 und früher beschränkt.
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. |
DeploymentLogs |
Zeichnet Details des Bereitstellungsprozesses auf, einschließlich der ausgeführten Schritte, aufgetretener Fehler und des Vorgangsstatus. |
ECE |
Verwaltet Lebenszyklusworkflows, einschließlich Bereitstellung, Update, Add-Node und Knotenersetzung. |
Erweiterung |
Daten im Zusammenhang mit von Azure verwalteten Erweiterungen. |
FleetDiagnosticsAgent |
Lauscht auf Integritätstrigger, um die Protokollsammlung zu starten. Diese Protokolle werden verwendet, um Probleme mit FleetDiagnosticsAgent und log collection zu diagnostizieren. |
HCICloudService |
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. |
Integrität |
Sammelt Integritäts-, Leistungs- und Nutzungsdaten aus verschiedenen Quellen, z. B. Ereignisprotokolle und Leistungsindikatoren. |
HostNetwork |
Protokolle zur Problembehandlung bei Netzwerk-ATC, der zugrunde liegenden Betriebssystemkomponente, die zum Konfigurieren des Hostnetzwerks verwendet wird. |
MOC_ARB |
Verwaltungsstapel, der die cloudbasierte Verwaltung virtueller Computer auf Azure Local und Windows Server ermöglicht. |
NC |
Informationen zur Netzwerkinfrastruktur. |
ObservabilityLogmanTraces |
Erfasst Protokolle für die Observability-Ablaufverfolgungen. Diese Protokolle helfen bei der Problembehandlung beim Senden von Diagnosedaten. |
ObservabilityVolume |
Erfasst Protokolle für das Observability-Volume. |
OEMDiagnostics |
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. |
RemoteSupportAgent |
Protokolle, die bei der Behandlung von Problemen mit Remotesupportsitzungen helfen, die zur Behandlung 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. Die Update Service Updates für Azure Local werden verwaltet. Die OsUpdate ECE-Rolle wird verwendet, um Betriebssystemupdates auf Computern (physische Hosts und InfraVMs) zu erwerben und zu installieren, die während der Bereitstellung nicht Teil des Systems sind, Knoten, Reparaturknoten und Infra-VMs-Updateszenarien hinzufügen. Ablaufverfolgungen aus diesen beiden Komponenten sind Teil der URP Rolle. |