Para usar o PowerShell para coleta de logs, execute o Send-DiagnosticData
cmdlet de qualquer nó dentro da instância Local do Azure. Este cmdlet copia temporariamente os logs localmente. Os logs copiados são analisados, enviados para a Microsoft e, em seguida, excluídos do seu 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 dependendo de fatores, como as funções para as quais os 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 não especificar nenhum parâmetro, o
Send-DiagnosticData
cmdlet recolherá 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 Send-DiagnosticData
referência de comandos mais adiante neste artigo.
Exemplos e saídas de amostra
Aqui estão alguns comandos de exemplo com saídas de exemplo que mostram como usar o Send-DiagnosticData
cmdlet com parâmetros diferentes.
Envio de dados de diagnóstico com filtro de datas
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á uma saída de exemplo deste 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á uma saída de exemplo deste 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 recolha de registos
Você pode obter um histórico de todas as coleções de log que você executou. Esse histórico ajuda você a aprender sobre os tipos de coleções de log, os tamanhos das coleções de logs, as horas em que os logs foram coletados e os métodos de coleta de logs.
Para obter um histórico de coleções de log dos últimos 90 dias, digite:
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>
Guardar os registos numa partilha de ficheiros 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 onde 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
, incluindo seus parâmetros, sintaxe e exemplos de uso.
FromDate e ToDate
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 de extensão
Todos
FiltrarPorFunção
Esse parâmetro permite que você escolha quais logs de funções 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 de extensão
Todos
CollectSddc
Determina se os logs SDDC (data center definidos por software) devem ser incluídos ou excluídos. Por padrão, os logs SDDC são incluídos. Defina-o como $false se quiser excluí-los. Para obter mais informações sobre como usar ferramentas de diagnóstico SDDC, consulte Coletar dados de diagnóstico para sistemas.
Sintaxe
Send-DiagnosticData [-CollectSddc <bool>]
Exemplo
Send-DiagnosticData –CollectSddc $false
Versão de extensão
Todos
BypassObsAgent
Ao ignorar o agente de observabilidade, os logs são coletados somente no nó onde a coleta de logs foi iniciada. Nenhum registro da coleção é mantido na história.
Sintaxe
Send-DiagnosticData [-BypassObsAgent]
Exemplo
Send-DiagnosticData –BypassObsAgent
Versão de extensão
Todos
GuardarParaPath
Esse parâmetro permite que você salve os logs de diagnóstico em um caminho especificado na máquina 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
, ToDate
, CollectSddc
, SupplementaryLogs
, ShareCredential
e BypassObsAgent
.
Send-DiagnosticData –SaveToPath <output path> -FIlterByRole <role>
Versão de extensão
Versões 1.0.2.0 e superiores
NoLogCollection
O NoLogCollection
parâmetro de alternância permite enviar 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 para a 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
Utilizar –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 de extensão
Versões 1.0.2.0 e superiores
Registos Suplementares
O parâmetro SupplementaryLogs permite enviar 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 recolhidos e guardados num caminho especificado.
Send-DiagnosticData [-SupplementaryLogs <string>] -SaveToPath <path>
Com NoLogCollection
. Aqui, apenas logs ad-hoc são coletados e enviados para a Microsoft. Nenhum registo de diagnóstico é recolhido.
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 recolher logs de diagnóstico e ad-hoc, pode-se 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 de extensão
Versões 1.0.2.0 e superiores
ShareCredential
Esse parâmetro oferece 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
Guarde os registos para um caminho:
Send-DiagnosticData [-ShareCredential <pscredential>] -SaveToPath <path>
Envie registos num caminho de partilha para a Microsoft:
Send-DiagnosticData [-ShareCredential <pscredential>] -SupplementaryLogs <path> -NoLogCollection;
Exemplos
Guarde os logs num caminho:
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credential to share path>
Envie registos num caminho de partilha para a Microsoft:
Send-DiagnosticData –NoLogCollection –SupplementaryLogs <share path> –ShareCredential <credential to the share path>
Versão de extensão
Todos
(Plano de depreciação) ToSMBShare
Esse parâmetro permite que você salve logs em um caminho de saída ou em um caminho de compartilhamento. Se você estava usando um caminho de compartilhamento que não foi mapeado, você precisava usar o ShareCredential
parâmetro também. Como esse parâmetro será removido em versões futuras da extensão, use o -SaveToPath
parâmetro em vez disso.
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 de extensão
Inicialmente acessível em todas as versões, no entanto, este parâmetro acabará por ser limitado às versões 0.1.42 e anteriores.
(Plano para descontinuar) FromSMBShare
Este parâmetro permite enviar logs de um caminho de saída ou caminho de compartilhamento diretamente para a Microsoft. Se você estava usando um caminho de compartilhamento que não foi mapeado, você precisava usar o ShareCredential
parâmetro também. Como esse parâmetro será removido em versões futuras da extensão, use o -NoLogCollection
parâmetro em vez disso.
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 de extensão
Inicialmente acessível em todas as versões, no entanto, este parâmetro acabará por ser limitado às versões 0.1.42 e anteriores.
(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 a partir 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 de extensão
Inicialmente acessível em todas as versões, no entanto, este parâmetro acabará por ser 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. |
ArcAgente |
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 total e controle sobre o sistema operacional e hardware. |
CommonInfra |
Coleta logs para componentes comuns da infraestrutura, como rede, armazenamento e segurança. |
Registos de Implementaçã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 às extensões gerenciadas do Azure. |
Agente de Diagnósticos de Frotas |
Escuta gatilhos de saúde para iniciar a recolha de registos. Esses logs são usados para diagnosticar problemas com o FleetDiagnosticsAgent e a coleta de logs. |
HCICloudService |
Um serviço de nuvem do Azure que fornece a funcionalidade principal para o Azure Local. Ele combina o poder do Azure com a flexibilidade das máquinas locais. |
DownloadService |
Parte do serviço de infraestrutura para transferir conteúdo de actualização. |
Saúde |
Coleta dados de saúde, desempenho e utilização de várias fontes, como registos de eventos e contadores de desempenho. |
HostNetwork |
Logs usados para diagnosticar problemas do Network ATC, o componente subjacente do sistema operativo utilizado para configurar a rede do anfitrião. |
MOC_ARB |
Camada de gestão que possibilita o gerenciamento em nuvem de máquinas virtuais no Azure Local e no Windows Server. |
NC |
Informações relacionadas com a infraestrutura de rede. |
ObservabilidadeLogmanTraces |
Recolhe registos 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. |
OEMDiagnósticos |
Coleta logs para diagnósticos 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 a atualizações. |
AgenteDeSuporteRemoto |
Logs que ajudam a solucionar problemas com sessões de suporte remoto, que são usadas 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 da função ECE de UpdateService e OsUpdate . O Update Service gere atualizações para Azure Local. A função OsUpdate ECE é usada para adquirir e instalar atualizações do sistema operativo em máquinas (hosts físicos e InfraVMs) que não fazem parte do sistema durante a implantação, no cenário de adicionar um nó, no cenário de reparar um nó e nos cenários de atualização de InfraVMs. Traços desses dois componentes fazem parte da URP função. |