Per usare PowerShell per la raccolta di log, eseguire il Send-DiagnosticData
cmdlet da qualsiasi nodo all'interno dell'istanza locale di Azure. Questo cmdlet copia temporaneamente i log in locale. I log copiati vengono analizzati, inviati a Microsoft e quindi eliminati dal sistema.
Ecco alcuni aspetti importanti da considerare quando si raccolgono i log con PowerShell:
- Il tempo di completamento del
Send-DiagnosticData
cmdlet varia a seconda dei fattori, ad esempio i ruoli per i quali vengono raccolti i log, la durata dell'ora specificata e il numero di nodi nell'ambiente locale di Azure.
- Se non si specifica alcun parametro, il
Send-DiagnosticData
cmdlet raccoglie i dati da tutti i nodi per la durata di un'ora precedente.
Ecco la sintassi di Send-DiagnosticData
:
Send-DiagnosticData [[-FilterByRole] <string[]>] [[-FromDate] <datetime>] [[-ToDate] <datetime>] [[-CollectSddc] <bool>] [<CommonParameters>]
Per informazioni di riferimento su Send-DiagnosticData
, vedere la sezione di riferimentoSend-DiagnosticData
comandi più avanti in questo articolo.
Esempi e output di esempio
Ecco alcuni comandi di esempio con output di esempio che illustrano come usare il Send-DiagnosticData
cmdlet con parametri diversi.
Inviare dati di diagnostica con filtro data
In questo esempio si inviano dati di diagnostica con filtro data per i file di log per le ultime due ore:
Send-DiagnosticData -FromDate (Get-Date).AddHours(-2) -ToDate (Get-Date)
Ecco un output di esempio di questo comando:
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>
Inviare dati di diagnostica per i ruoli specificati
In questo esempio si inviano dati di diagnostica con filtro dei ruoli per BareMetal e ECE:
Send-DiagnosticData -FilterByRole BareMetal, ECE –CollectSddc $false
Ecco un output di esempio di questo comando:
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>
Ottenere una cronologia della raccolta di log
È possibile ottenere una cronologia di tutte le raccolte di log eseguite. Questa cronologia consente di conoscere i tipi di raccolte di log, le dimensioni delle raccolte di log, gli orari in cui sono stati raccolti i log e i metodi di raccolta dei log.
Per ottenere una cronologia delle raccolte di log per gli ultimi 90 giorni, immettere:
Get-LogCollectionHistory
Ecco un output di esempio del Get-LogCollectionHistory
cmdlet. I datetime
parametri si trovano nel fuso orario 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>
Salvare i log in una condivisione file locale
È possibile archiviare i log di diagnostica in una condivisione SMB (Server Message Block) locale se si verificano problemi di rete o si preferisce salvare i dati in locale anziché inviarli ad Azure.
Seguire questa procedura per salvare i log in una condivisione locale:
Eseguire il comando seguente per creare una condivisione:
New-SMBShare -Name <share-name> -Path <path-to-share> -FullAccess Users -ChangeAccess 'Server Operators'
Eseguire i comandi seguenti per creare PSCredentials nella condivisione:
$user = "<username>"
$pass = "<password>"
$sec=ConvertTo-SecureString -String $pass -AsPlainText -Force
$shareCredential = New-Object System.Management.Automation.PSCredential ($user, $sec)
Eseguire il comando seguente in ogni nodo del sistema per raccogliere i log e salvarli in locale:
Send-DiagnosticData -SaveToPath <path to share> -ShareCredential $shareCredential
Se si dispone di connettività in uscita dalla condivisione SMB in cui sono stati salvati i log, è possibile eseguire il comando seguente per inviare i log a Microsoft:
Send-DiagnosticData NoLogCollection -SupplementaryLogs <path-to-share> -ShareCredentail $shareCredential
Send-DiagnosticData
Informazioni di riferimento sul comando
In questa sezione vengono fornite informazioni di riferimento su Send-DiagnosticData
, inclusi i relativi parametri, sintassi ed esempi di utilizzo.
FromDate e ToDate
Questi parametri consentono di raccogliere i log per un periodo di tempo specifico.
Sintassi
Send-DiagnosticData [[-FilterByRole] <string[]>] [[-FromDate] <datetime>] [[-ToDate] <datetime>] [[-CollectSddc] <bool>] [<CommonParameters>]
Esempio
$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
Versione dell'estensione
Tutte le date
FilterByRole
Questo parametro consente di scegliere i log dei ruoli da raccogliere. È possibile specificare più ruoli. Per un elenco dei ruoli disponibili in cui è possibile filtrare i log, vedere Ruoli disponibili per filtrare i log.
Sintassi
Send-DiagnosticData [[-FilterByRole] <string[]>]
Esempio
Send-DiagnosticData –FilterByRole “ALM” -CollectSddc $false
Versione dell'estensione
Tutte le date
CollectSddc
Determina se includere o escludere i log del data center software-defined.Determine whether to include or exclude software-defined data center (SDDC). Per impostazione predefinita, sono inclusi i log SDDC. Impostarlo su $false se si desidera escluderli. Per altre informazioni sull'uso degli strumenti di diagnostica SDDC, vedere Raccogliere dati di diagnostica per i sistemi.
Sintassi
Send-DiagnosticData [-CollectSddc <bool>]
Esempio
Send-DiagnosticData –CollectSddc $false
Versione dell'estensione
Tutte le date
BypassObsAgent
Quando si ignora l'agente di osservabilità, i log vengono raccolti solo nel nodo in cui è stata avviata la raccolta di log. Nessun record della raccolta viene mantenuto nella cronologia.
Sintassi
Send-DiagnosticData [-BypassObsAgent]
Esempio
Send-DiagnosticData –BypassObsAgent
Versione dell'estensione
Tutte le date
SaveToPath
Questo parametro consente di salvare i log di diagnostica in un percorso specificato nel computer host, anziché trasmetterli a Microsoft.
Sintassi
Send-DiagnosticData -SaveToPath <string> [-FilterByRole <string[]>] [-FromDate <datetime>] [-ToDate <datetime>] [-CollectSddc <bool>] [-SupplementaryLogs <string>] [-ShareCredential <pscredential>] [-BypassObsAgent] [<CommonParameters>]
Esempi
È possibile fornire un percorso di condivisione o un percorso di output nell'host al SaveToPath
parametro .
Send-DiagnosticData –SaveToPath <output path>
Send-DiagnosticData –SaveToPath <share path>
Se si usa un percorso di condivisione non mappato, è necessario usare anche il -ShareCredential
parametro .
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credentials for share path>
È possibile usare SaveToPath
con altri parametri, ad esempio FilterByRole
, , FromDate
ToDate
, CollectSddc
SupplementaryLogs
, ShareCredential
, e BypassObsAgent
.
Send-DiagnosticData –SaveToPath <output path> -FIlterByRole <role>
Versione dell'estensione
Versioni 1.0.2.0 e successive
NoLogCollection
Il NoLogCollection
parametro switch consente di inviare un set ad hoc di log a Microsoft. Quando si usa questo parametro, considerare i dettagli seguenti:
- È possibile combinare i
SupplementaryLogs
parametri , ShareCredential
e BypassObsAgent
con il NoLogCollection
parametro .
- Il
SupplementaryLogs
parametro è obbligatorio quando si usa NoLogCollection
. Specifica il percorso dei log che devono essere inviati a Microsoft.
- È possibile passare un percorso di condivisione o un percorso di output nell'host al
SupplementaryLogs
parametro . Se si usa un percorso di condivisione non mappato, è necessario usare anche il -ShareCredential
parametro .
Sintassi
Send-DiagnosticData -SupplementaryLogs <string> -NoLogCollection [-ShareCredential <pscredential>] [-BypassObsAgent] [<CommonParameters>]
Esempi
Usare –NoLogCollection
con il parametro obbligatorio SupplementaryLogs
:
Send-DiagnosticData –NoLogCollection –SupplementaryPath <output path>
Usare –NoLogCollection
con il percorso di condivisione non mappato:
Send-DiagnosticData –NoLogCollection –SupplementaryPath <share path>
-ShareCredential <credential to share path>
Versione dell'estensione
Versioni 1.0.2.0 e successive
SupplementLogs
Il parametro SupplementLogs consente di inviare log ad hoc a Microsoft.
Sintassi
È possibile usarlo nei modi seguenti:
Con SaveToPath
. In questo scenario, sia i log di diagnostica che i log ad hoc vengono raccolti e salvati in un percorso specificato.
Send-DiagnosticData [-SupplementaryLogs <string>] -SaveToPath <path>
Con NoLogCollection
. In questo caso vengono raccolti e inviati a Microsoft solo i log ad hoc. Non vengono raccolti log di diagnostica.
Send-DiagnosticData -SupplementaryLogs <string> -NoLogCollection
Senza SaveToPath
o NoLogCollection
. Ciò significa che sia i log di diagnostica che i log ad hoc vengono raccolti e inviati a Microsoft.
Send-DiagnosticData [-SupplementaryLogs <string>]
Quando si raccolgono log di diagnostica e ad hoc, è possibile usare il SupplementaryLogs
parametro con altri parametri, ad FilterByRole
esempio , FromDate
ToDate
, e CollectSddc
.
Esempi
Senza SaveToPath
o NoLogCollection
:
Send-DiagnosticData –SupplementaryLogs <path to adhoc logs to collect>
Con SaveToPath
:
Send-DiagnosticData –SaveToPath <path> -SupplementaryLogs <path to adhoc logs to collect>
Con NoLogCollection
:
Send-DiagnosticData –NoLogCollection –SupplementaryLogs <path to adhoc logs to collect>
Versione dell'estensione
Versioni 1.0.2.0 e successive
ShareCredential
Questo parametro offre la flessibilità necessaria per raccogliere i log e salvarli in un percorso di condivisione o inviare direttamente i log da un percorso di condivisione a Microsoft.
Sintassi
Salvare i log in un percorso:
Send-DiagnosticData [-ShareCredential <pscredential>] -SaveToPath <path>
Inviare i log in un percorso di condivisione a Microsoft:
Send-DiagnosticData [-ShareCredential <pscredential>] -SupplementaryLogs <path> -NoLogCollection;
Esempi
Salvare i log in un percorso:
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credential to share path>
Inviare i log in un percorso di condivisione a Microsoft:
Send-DiagnosticData –NoLogCollection –SupplementaryLogs <share path> –ShareCredential <credential to the share path>
Versione dell'estensione
Tutte le date
(Pianificare la deprecazione) ToSMBShare
Questo parametro consente di salvare i log in un percorso di output o in un percorso di condivisione. Se si usa un percorso di condivisione non mappato, è necessario usare anche il ShareCredential
parametro . Poiché questo parametro verrà rimosso nelle versioni future dell'estensione, usare invece il -SaveToPath
parametro .
Sintassi
Send-DiagnosticData –ToSMBShare –SharePath <path> [-ShareCredential <pscredential>]
Esempi
Salvare i log in un percorso di output o in un percorso di condivisione:
Send-DiagnosticData –ToSMBShare –SharePath <output path or share path>
Salvare i log in un percorso di condivisione non mappato:
Send-DiagnosticData –ToSMBShare –SharePath <share path> -ShareCredential <credential for the share path>
Versione dell'estensione
Inizialmente accessibile in tutte le versioni, tuttavia, questo parametro sarà limitato alle versioni 0.1.42 e precedenti.
(Pianificare la deprecazione) FromSMBShare
Questo parametro consente di inviare i log da un percorso di output o un percorso di condivisione direttamente a Microsoft. Se si usa un percorso di condivisione non mappato, è necessario usare anche il ShareCredential
parametro . Poiché questo parametro verrà rimosso nelle versioni future dell'estensione, usare invece il -NoLogCollection
parametro .
Sintassi
Send-DiagnosticData –FromSMBShare –SharePath <path> [-ShareCredential <pscredential>]
Esempi
Send-DiagnosticData –FromSMBShare –SharePath <output path or share path>
Send-DiagnosticData –FromSMBShare –SharePath <share path>
Versione dell'estensione
Inizialmente accessibile in tutte le versioni, tuttavia, questo parametro sarà limitato alle versioni 0.1.42 e precedenti.
(Pianificare la deprecazione) SharePath
Il parametro SharePath può essere usato per uno degli scopi seguenti:
- Salvare i log di diagnostica in un percorso di condivisione o in un percorso di output.
- Inviare i log a Microsoft da un percorso di condivisione o un percorso di output. Se si usa un percorso di condivisione e il percorso di condivisione non è mappato, è necessario usare anche il
ShareCredential
parametro .
Poiché questo parametro verrà rimosso nelle versioni future dell'estensione, usare per –SaveToPath
salvare i log in un percorso o –SupplementaryLogs
quando si inviano log ad hoc a Microsoft.
Sintassi
Send-DiagnosticData –ToSMBShare –SharePath <path> [-ShareCredential <pscredential>];
Send-DiagnosticData –FromSMBShare –SharePath <path> [-ShareCredential <pscredential>];
Esempi
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>
Versione dell'estensione
Inizialmente accessibile in tutte le versioni, tuttavia, questo parametro sarà limitato alle versioni 0.1.42 e precedenti.
Ruoli disponibili per filtrare i log
I ruoli seguenti sono disponibili per filtrare in base al parametro FilterByRole . I ruoli disponibili possono essere diversi in una versione futura.
Nome ruolo |
Descrizione |
ALM |
Application Lifecycle Management (ALM) implica la gestione dello sviluppo, dei test, della distribuzione e della manutenzione per le applicazioni software. |
ArcAgent |
Agente che consente la gestione di Windows Server tramite Azure Arc. Vedere Panoramica dell'agente di Azure Connected Machine. |
BareMetal |
Ruolo infrastruttura che consente di eseguire servizi su server bare metal senza un livello di virtualizzazione. È possibile avere accesso completo e controllo sul sistema operativo e sull'hardware. |
CommonInfra |
Raccoglie i log per i componenti dell'infrastruttura comuni, ad esempio rete, archiviazione e sicurezza. |
DeploymentLogs |
Registra i dettagli del processo di distribuzione, inclusi i passaggi eseguiti, gli errori rilevati e lo stato dell'operazione. |
ECE |
Gestisce i flussi di lavoro del ciclo di vita, tra cui la distribuzione, l'aggiornamento, il componente aggiuntivo e la sostituzione dei nodi. |
Estensione |
Dati correlati alle estensioni gestite di Azure. |
FleetDiagnosticsAgent |
Resta in ascolto dei trigger di integrità per avviare la raccolta dei log. Questi log vengono usati per diagnosticare i problemi relativi a FleetDiagnosticsAgent e alla raccolta di log. |
HCICloudService |
Un servizio cloud di Azure che fornisce funzionalità di base per Azure Local. Combina l'alimentazione di Azure con la flessibilità dei computer locali. |
DownloadService |
Parte del servizio infra per scaricare il contenuto degli aggiornamenti. |
Integrità |
Raccoglie dati sull'integrità, sulle prestazioni e sull'utilizzo da varie origini, ad esempio registri eventi e contatori delle prestazioni. |
HostNetwork |
Log usati per risolvere i problemi di Network ATC, il componente del sistema operativo sottostante usato per configurare la rete host. |
MOC_ARB |
Stack di gestione che consente la gestione basata sul cloud delle macchine virtuali in Azure Locale e Windows Server. |
NC |
Informazioni correlate all'infrastruttura di rete. |
ObservabilityLogmanTraces |
Raccoglie i log per le tracce di osservabilità. Questi log consentono di risolvere i problemi relativi all'invio di dati di diagnostica. |
ObservabilityVolume |
Raccoglie i log per il volume di osservabilità. |
OEMDiagnostics |
Raccoglie i log per la diagnostica OEM, che consente di identificare e risolvere i problemi relativi all'hardware del server, ad esempio BIOS, driver, sensori e altro ancora. |
OSUpdateLogs |
Ruolo che raccoglie i log correlati agli aggiornamenti del sistema operativo nei nodi locali di Azure, utile per la risoluzione dei problemi correlati all'aggiornamento. |
RemoteSupportAgent |
Log che consentono di risolvere i problemi relativi alle sessioni di supporto remoto, usate per risolvere i casi di supporto clienti. |
TestObservability |
Raccoglie i log dal Test-Observability cmdlet , usato per verificare che l'estensione TelemetryAndDiagnostics funzioni correttamente. |
URP |
È costituito da log correlati agli eventi del UpdateService ruolo ECE OsUpdate .
Update Service Gestisce gli aggiornamenti per Azure Local. Il OsUpdate ruolo ECE viene usato per acquisire e installare gli aggiornamenti del sistema operativo nei computer (host fisici e infraVMs) che non fanno parte del sistema durante la distribuzione, aggiungere nodi, ripristinare il nodo e gli scenari di aggiornamento delle macchine virtuali infra. Le tracce di questi due componenti fanno parte del URP ruolo. |