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
Send-DiagnosticData cmdlet varia e depende de fatores, incluindo as funções para as quais os logs estão sendo coletados, a duração de tempo que você especificar e o número de nós em seu ambiente do Azure Local.
- Se você não especificar nenhum parâmetro, o cmdlet
Send-DiagnosticData 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, consulte a seção de referência do comando Send-DiagnosticData mais adiante neste artigo.
Exemplos e saídas esperadas
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 informações de diagnóstico com filtro 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>
Obtenha um histórico de coleta de log
Você pode obter um histórico de todas as coleções de logs executadas. 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:
Para criar um compartilhamento, execute o seguinte comando:
New-SMBShare -Name <share-name> -Path <path-to-share> -FullAccess Users -ChangeAccess 'Server Operators'
Para criar o PSCredential para o compartilhamento, execute os seguintes comandos:
$user = "<username>"
$pass = "<password>"
$sec=ConvertTo-SecureString -String $pass -AsPlainText -Force
$shareCredential = New-Object System.Management.Automation.PSCredential ($user, $sec)
Para coletar logs e salvá-los localmente, execute o seguinte comando em cada nó do sistema:
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> -ShareCredential $shareCredential
Send-DiagnosticData Referência de comando
Esta seção fornece informações de referência sobre o Send-DiagnosticData, incluindo seus parâmetros, sintaxe e exemplos de uso.
DataInicial e DataFinal
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
Todos
FiltrarPorFunçã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
Todos
CollectSddc
Determina se deve incluir ou excluir os logs do data center definido por software (SDDC). 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
Todos
Agente BypassObs
Quando o agente de observabilidade é ignorado, os logs são coletados somente no nó em que a coleção 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
Todos
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, , ToDateCollectSddc, SupplementaryLogs, , ShareCredentiale 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 parâmetros
SupplementaryLogs, ShareCredential, e BypassObsAgent com o parâmetro NoLogCollection.
- 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, ambos existentes no host, para o parâmetro
SupplementaryLogs. 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 -SupplementaryLogs <output path>
Use -NoLogCollection com o caminho de compartilhamento não mapeado:
Send-DiagnosticData -NoLogCollection -SupplementaryLogs <share path>
-ShareCredential <credential to share path>
Versão da extensão
Versões 1.0.2.0 e superiores
Logs Suplementares
O SupplementaryLogs parâmetro 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 parâmetro SupplementaryLogs 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 registros em um caminho:
Send–DiagnosticData [-ShareCredential <pscredential>] -SaveToPath <path>
Envie logs em um caminho compartilhado para a Microsoft:
Send-DiagnosticData [-ShareCredential <pscredential>] -SupplementaryLogs <path> -NoLogCollection;
Exemplos
Salve os registros em um caminho:
Send-DiagnosticData -SaveToPath <share path> -ShareCredential <credential to share path>
Envie logs em um caminho compartilhado para a Microsoft:
Send-DiagnosticData -NoLogCollection -SupplementaryLogs <share path> -ShareCredential <credential to the share path>
Versão da extensão
Todos
(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 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
Atualmente com suporte em versões até 0.1.42; preterido em versões posteriores.
(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
Atualmente com suporte em versões até 0.1.42; preterido em versões posteriores
(Plano para descontinuar) SharePath
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 parâmetro.
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
Atualmente com suporte em versões até 0.1.42; preterido em versões posteriores.
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 do ciclo de vida, incluindo implantação, atualização, adição de nós e substituição de nós. |
| 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 no FleetDiagnosticsAgent e no registro 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 infraestrutura para baixar conteúdo de atualização. |
| Saúde |
Coleta dados de saúde, desempenho e uso de várias fontes, como logs de eventos e contadores de desempenho. |
| Rede de Host |
Logs usados para solucionar problemas do Network ATC, o componente subjacente do sistema operacional utilizado para configurar a rede do host. |
| MOC_ARB |
Pilha de gerenciamento que habilita o gerenciamento baseado em nuvem de máquinas virtuais no Local do Azure 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. |
| Volume de Observabilidade |
Coleta logs para o volume de observabilidade. |
| Diagnóstico OEM |
Coleta registros de 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. |
| AgenteDeSuporteRemoto |
Logs que ajudam a solucionar problemas com sessões de suporte remoto e 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 eventos de função ECE UpdateService e OsUpdate. O Update Service gerencia atualizações para Azure Local. A função OsUpdate ECE é usada para adquirir e instalar atualizações do sistema operacional em máquinas (hosts físicos e InfraVMs) que não fazem parte do sistema durante os cenários de implantação, adição de nó, reparo de nó e atualização de VMs de infraestrutura. Os rastreamentos desses dois componentes fazem parte da função URP. |