Para usar o PowerShell para coleta de logs, execute o Send-DiagnosticData
cmdlet de qualquer nó dentro da instância local do Azure. Esse cmdlet copia temporariamente os logs localmente. Os logs copiados são analisados, enviados para a Microsoft e, em seguida, excluídos do sistema.
Aqui estão alguns pontos importantes a serem considerados ao coletar logs usando o PowerShell:
- O tempo de conclusão do cmdlet varia dependendo de fatores, como as funções para as quais os
Send-DiagnosticData
logs estão sendo coletados, a duração de tempo especificada e o número de nós em seu ambiente local do Azure.
- Se você não especificar nenhum parâmetro, o
Send-DiagnosticData
cmdlet coletará dados de todos os nós para a duração de uma hora anterior.
Aqui está a sintaxe de Send-DiagnosticData
:
Send-DiagnosticData [[-FilterByRole] <string[]>] [[-FromDate] <datetime>] [[-ToDate] <datetime>] [[-CollectSddc] <bool>] [<CommonParameters>]
Para obter informações de referência sobre Send-DiagnosticData
o , consulte a seção de referência de Send-DiagnosticData
comando mais adiante neste artigo.
Exemplos e exemplos de saídas
Aqui estão alguns comandos de exemplo com saídas de exemplo que mostram como usar o Send-DiagnosticData
cmdlet com parâmetros diferentes.
Enviar dados de diagnóstico com filtragem de data
Neste exemplo, você envia dados de diagnóstico com filtragem de data para arquivos de log das últimas duas horas:
Send-DiagnosticData -FromDate (Get-Date).AddHours(-2) -ToDate (Get-Date)
Aqui está um exemplo de saída desse 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>
Enviar dados de diagnóstico para funções especificadas
Neste exemplo, você envia dados de diagnóstico com filtragem de função para BareMetal e ECE:
Send-DiagnosticData -FilterByRole BareMetal, ECE –CollectSddc $false
Aqui está um exemplo de saída desse 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>
Obter um histórico de coleta de logs
Você pode obter um histórico de todas as coletas de logs que executou. Esse histórico ajuda você a aprender sobre os tipos de coleções de logs, os tamanhos das coletas de logs, os horários em que os logs foram coletados e os métodos de coleta de logs.
Para obter um histórico de coletas de logs dos últimos 90 dias, insira:
Get-LogCollectionHistory
Aqui está um exemplo de saída do Get-LogCollectionHistory
cmdlet. Os datetime
parâmetros estão no fuso horário 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>
Salvar logs em um compartilhamento de arquivos local
Você pode armazenar logs de diagnóstico em um compartilhamento SMB (Server Message Block) local se tiver problemas de rede ou preferir salvar dados localmente em vez de enviá-los para o Azure.
Siga estas etapas para salvar logs em um compartilhamento local:
Execute o seguinte comando para criar um compartilhamento:
New-SMBShare -Name <share-name> -Path <path-to-share> -FullAccess Users -ChangeAccess 'Server Operators'
Execute os seguintes comandos para criar PSCredentials para o compartilhamento:
$user = "<username>"
$pass = "<password>"
$sec=ConvertTo-SecureString -String $pass -AsPlainText -Force
$shareCredential = New-Object System.Management.Automation.PSCredential ($user, $sec)
Execute o seguinte comando em cada nó do sistema para coletar logs e salvá-los localmente:
Send-DiagnosticData -SaveToPath <path to share> -ShareCredential $shareCredential
Se você tiver conectividade de saída do compartilhamento SMB em que salvou os logs, poderá executar o seguinte comando para enviar os logs para a Microsoft:
Send-DiagnosticData NoLogCollection -SupplementaryLogs <path-to-share> -ShareCredentail $shareCredential
Send-DiagnosticData
Referência de comando
Esta seção fornece informações de referência sobre Send-DiagnosticData
o , incluindo seus parâmetros, sintaxe e exemplos de uso.
DeData e DataDeDestino
Esses parâmetros permitem que você colete logs para um período de tempo específico.
Sintaxe
Send-DiagnosticData [[-FilterByRole] <string[]>] [[-FromDate] <datetime>] [[-ToDate] <datetime>] [[-CollectSddc] <bool>] [<CommonParameters>]
Exemplo
$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
Versão da extensão
Tudo
Filtrar porfunção
Esse parâmetro permite que você escolha quais logs de funções você deseja coletar. Você pode especificar várias funções. Para obter uma lista de funções disponíveis nas quais você pode filtrar logs, consulte Funções disponíveis para filtrar logs.
Sintaxe
Send-DiagnosticData [[-FilterByRole] <string[]>]
Exemplo
Send-DiagnosticData –FilterByRole “ALM” -CollectSddc $false
Versão da extensão
Tudo
CollectSddc
Determina se os logs do data center definido por software (SDDC) devem ser incluídos. Por padrão, os logs do SDDC são incluídos. Defina-o como $false se quiser excluí-los. Para obter mais informações sobre como usar as ferramentas de diagnóstico do SDDC, consulte Coletar dados de diagnóstico para sistemas.
Sintaxe
Send-DiagnosticData [-CollectSddc <bool>]
Exemplo
Send-DiagnosticData –CollectSddc $false
Versão da extensão
Tudo
Agente BypassObs
Ao ignorar o agente de observabilidade, os logs são coletados somente no nó em que a coleta de logs foi iniciada. Nenhum registro da coleção é mantido no histórico.
Sintaxe
Send-DiagnosticData [-BypassObsAgent]
Exemplo
Send-DiagnosticData –BypassObsAgent
Versão da extensão
Tudo
SaveToPath
Esse parâmetro permite que você salve os logs de diagnóstico em um caminho especificado no computador host, em vez de transmiti-los para a Microsoft.
Sintaxe
Send-DiagnosticData -SaveToPath <string> [-FilterByRole <string[]>] [-FromDate <datetime>] [-ToDate <datetime>] [-CollectSddc <bool>] [-SupplementaryLogs <string>] [-ShareCredential <pscredential>] [-BypassObsAgent] [<CommonParameters>]
Exemplos
Você pode fornecer um caminho de compartilhamento ou um caminho de saída no host para o SaveToPath
parâmetro.
Send-DiagnosticData –SaveToPath <output path>
Send-DiagnosticData –SaveToPath <share path>
Se você estiver usando um caminho de compartilhamento que não está mapeado, também deverá usar o -ShareCredential
parâmetro.
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credentials for share path>
Você pode usar SaveToPath
com outros parâmetros, como FilterByRole
, FromDate
, , CollectSddc
ToDate
, SupplementaryLogs
, , ShareCredential
e BypassObsAgent
.
Send-DiagnosticData –SaveToPath <output path> -FIlterByRole <role>
Versão da extensão
Versões 1.0.2.0 e superiores
Coleção NoLog.
O NoLogCollection
parâmetro switch permite que você envie um conjunto ad hoc de logs para a Microsoft. Ao usar esse parâmetro, considere os seguintes detalhes:
- Você pode combinar os
SupplementaryLogs
parâmetros , ShareCredential
e com BypassObsAgent
o NoLogCollection
parâmetro.
- O
SupplementaryLogs
parâmetro é obrigatório ao usar NoLogCollection
. Ele especifica o caminho para os logs que precisam ser enviados à Microsoft.
- Você tem a flexibilidade de passar um caminho de compartilhamento ou um caminho de saída no host para o
SupplementaryLogs
parâmetro. Se você estiver usando um caminho de compartilhamento não mapeado, também deverá usar o -ShareCredential
parâmetro.
Sintaxe
Send-DiagnosticData -SupplementaryLogs <string> -NoLogCollection [-ShareCredential <pscredential>] [-BypassObsAgent] [<CommonParameters>]
Exemplos
Use –NoLogCollection
com o parâmetro obrigatório SupplementaryLogs
:
Send-DiagnosticData –NoLogCollection –SupplementaryPath <output path>
Use –NoLogCollection
com o caminho de compartilhamento não mapeado:
Send-DiagnosticData –NoLogCollection –SupplementaryPath <share path>
-ShareCredential <credential to share path>
Versão da extensão
Versões 1.0.2.0 e superiores
Logs Suplementares
O parâmetro SupplementaryLogs permite que você envie logs ad hoc para a Microsoft.
Sintaxe
Você pode usá-lo das seguintes maneiras:
Com SaveToPath
. Nesse cenário, os logs de diagnóstico e os logs ad hoc são coletados e salvos em um caminho especificado.
Send-DiagnosticData [-SupplementaryLogs <string>] -SaveToPath <path>
Com NoLogCollection
. Aqui, apenas logs ad-hoc são coletados e enviados para a Microsoft. Nenhum log de diagnóstico é coletado.
Send-DiagnosticData -SupplementaryLogs <string> -NoLogCollection
Sem SaveToPath
ou NoLogCollection
. Isso significa que os logs de diagnóstico e os logs ad hoc são coletados e enviados para a Microsoft.
Send-DiagnosticData [-SupplementaryLogs <string>]
Ao coletar logs de diagnóstico e ad hoc, você pode usar o SupplementaryLogs
parâmetro com outros parâmetros, como FilterByRole
, FromDate
, ToDate
, e CollectSddc
.
Exemplos
Sem SaveToPath
ou NoLogCollection
:
Send-DiagnosticData –SupplementaryLogs <path to adhoc logs to collect>
Com SaveToPath
:
Send-DiagnosticData –SaveToPath <path> -SupplementaryLogs <path to adhoc logs to collect>
Com NoLogCollection
:
Send-DiagnosticData –NoLogCollection –SupplementaryLogs <path to adhoc logs to collect>
Versão da extensão
Versões 1.0.2.0 e superiores
Credencial de compartilhamento
Esse parâmetro fornece a flexibilidade de coletar logs e salvá-los em um caminho de compartilhamento ou enviar logs diretamente de um caminho de compartilhamento para a Microsoft.
Sintaxe
Salve os logs em um caminho:
Send-DiagnosticData [-ShareCredential <pscredential>] -SaveToPath <path>
Envie logs em um caminho de compartilhamento para a Microsoft:
Send-DiagnosticData [-ShareCredential <pscredential>] -SupplementaryLogs <path> -NoLogCollection;
Exemplos
Salve os logs em um caminho:
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credential to share path>
Envie logs em um caminho de compartilhamento para a Microsoft:
Send-DiagnosticData –NoLogCollection –SupplementaryLogs <share path> –ShareCredential <credential to the share path>
Versão da extensão
Tudo
(Plano para descontinuar) ToSMBShare
Esse parâmetro permite que você salve logs em um caminho de saída ou em um caminho de compartilhamento. Se você estivesse usando um caminho de compartilhamento que não estava mapeado, também precisaria usar o ShareCredential
parâmetro. Como esse parâmetro será removido em versões futuras da extensão, use o -SaveToPath
parâmetro.
Sintaxe
Send-DiagnosticData –ToSMBShare –SharePath <path> [-ShareCredential <pscredential>]
Exemplos
Salve os logs em um caminho de saída ou caminho de compartilhamento:
Send-DiagnosticData –ToSMBShare –SharePath <output path or share path>
Salve os logs em um caminho de compartilhamento que não esteja mapeado:
Send-DiagnosticData –ToSMBShare –SharePath <share path> -ShareCredential <credential for the share path>
Versão da extensão
Inicialmente acessível em todas as versões, no entanto, esse parâmetro será eventualmente limitado às versões 0.1.42 e anteriores.
(Plano para descontinuar) FromSMBShare
Esse parâmetro permite que você envie logs de um caminho de saída ou caminho de compartilhamento diretamente para a Microsoft. Se você estivesse usando um caminho de compartilhamento que não estava mapeado, também precisaria usar o ShareCredential
parâmetro. Como esse parâmetro será removido em versões futuras da extensão, use o -NoLogCollection
parâmetro.
Sintaxe
Send-DiagnosticData –FromSMBShare –SharePath <path> [-ShareCredential <pscredential>]
Exemplos
Send-DiagnosticData –FromSMBShare –SharePath <output path or share path>
Send-DiagnosticData –FromSMBShare –SharePath <share path>
Versão da extensão
Inicialmente acessível em todas as versões, no entanto, esse parâmetro será eventualmente limitado às versões 0.1.42 e anteriores.
(Plano para descontinuar) Caminho do compartilhamento
O parâmetro SharePath pode ser usado para uma das seguintes finalidades:
- Salve os logs de diagnóstico em um caminho de compartilhamento ou caminho de saída.
- Envie logs para a Microsoft de um caminho de compartilhamento ou caminho de saída. Se você estiver usando um caminho de compartilhamento e o caminho de compartilhamento não estiver mapeado, o
ShareCredential
parâmetro também deverá ser usado.
Como esse parâmetro será removido em versões futuras da extensão, use o –SaveToPath
para salvar logs em um caminho ou –SupplementaryLogs
ao enviar logs ad hoc para a Microsoft.
Sintaxe
Send-DiagnosticData –ToSMBShare –SharePath <path> [-ShareCredential <pscredential>];
Send-DiagnosticData –FromSMBShare –SharePath <path> [-ShareCredential <pscredential>];
Exemplos
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>
Versão da extensão
Inicialmente acessível em todas as versões, no entanto, esse parâmetro será eventualmente limitado às versões 0.1.42 e anteriores.
Funções disponíveis para filtrar logs
As funções a seguir estão disponíveis para filtragem pelo parâmetro FilterByRole . As funções disponíveis podem ser diferentes em uma versão futura.
Nome da função |
Descrição |
ALM |
O gerenciamento do ciclo de vida do aplicativo (ALM) envolve o gerenciamento do desenvolvimento, teste, implantação e manutenção de aplicativos de software. |
ArcAgent |
Um agente que permite o gerenciamento do Windows Server por meio do Azure Arc. Consulte Visão geral do agente do Azure Connected Machine. |
BareMetal |
Função de infraestrutura que permite executar serviços em servidores bare metal sem uma camada de virtualização. Você pode ter acesso e controle total sobre o sistema operacional e o hardware. |
CommonInfra |
Coleta logs para componentes comuns de infraestrutura, como rede, armazenamento e segurança. |
Logs de implantação |
Registra detalhes do processo de implantação, incluindo etapas executadas, erros encontrados e status da operação. |
ECE |
Gerencia fluxos de trabalho de ciclo de vida, incluindo implantação, atualização, adição de nó e substituição de nó. |
Extensão |
Dados relacionados a extensões gerenciadas do Azure. |
Agente de Diagnóstico de Frota |
Escuta gatilhos de integridade para iniciar a coleta de logs. Esses logs são usados para diagnosticar problemas com FleetDiagnosticsAgent e coleta de logs. |
HCICloudService |
Um serviço de nuvem do Azure que fornece funcionalidade principal para o Azure Local. Ele combina o poder do Azure com a flexibilidade dos computadores locais. |
Serviço de download |
Parte do serviço de infra para baixar conteúdo de atualização. |
Integridade |
Coleta dados de integridade, desempenho e uso de várias fontes, como logs de eventos e contadores de desempenho. |
Rede de Host |
Logs usados para solucionar problemas da ATC de Rede, o componente do sistema operacional subjacente usado para configurar a rede do host. |
MOC_ARB |
Pilha de gerenciamento que permite o gerenciamento baseado em nuvem de máquinas virtuais no Azure Local e no Windows Server. |
NC |
Informações relacionadas à infraestrutura de rede. |
ObservabilidadeLogmanTraces |
Coleta logs para os rastreamentos de observabilidade. Esses logs ajudam na solução de problemas com o envio de dados de diagnóstico. |
ObservabilidadeVolume |
Coleta logs para o volume de observabilidade. |
Diagnóstico de OEM |
Coleta logs para diagnóstico OEM, que podem ajudar a identificar e resolver problemas com o hardware do servidor, como BIOS, drivers, sensores e muito mais. |
OSUpdateLogs |
Função que coleta logs relacionados a atualizações do sistema operacional em nós locais do Azure, útil para solucionar problemas relacionados à atualização. |
RemoteSupportAgent |
Logs que ajudam a solucionar problemas com sessões de suporte remoto, que são usados para resolver casos de suporte ao cliente. |
TestObservability |
Coleta logs do Test-Observability cmdlet, que é usado para testar se a TelemetryAndDiagnostics extensão está funcionando corretamente. |
URP |
Consiste em logs relacionados aos UpdateService eventos de função e OsUpdate ECE. O gerencia atualizações para o Update Service Azure Local. A OsUpdate função ECE é usada para adquirir e instalar atualizações do sistema operacional em computadores (hosts físicos e InfraVMs) que não fazem parte do sistema durante a implantação, adicionar nó, reparar nó e cenários de atualização de VMs de infra. Os rastreamentos desses dois componentes fazem parte da URP função. |