Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para executar Get-AzureStackLog em um sistema integrado, você precisa ter acesso ao PEP (ponto de extremidade privilegiado). Aqui está um script de exemplo que você pode executar usando o PEP para coletar logs. Se você estiver cancelando uma coleção de logs em execução para iniciar uma nova, aguarde 5 minutos antes de iniciar a nova coleção de logs e insira Remove-PSSession -Session $session.
$ipAddress = "<IP ADDRESS OF THE PEP VM>" # You can also use the machine name instead of IP here.
$password = ConvertTo-SecureString "<CLOUD ADMIN PASSWORD>" -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential ("<DOMAIN NAME>\CloudAdmin", $password)
$shareCred = Get-Credential
$session = New-PSSession -ComputerName $ipAddress -ConfigurationName PrivilegedEndpoint -Credential $cred -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
$fromDate = (Get-Date).AddHours(-8)
$toDate = (Get-Date).AddHours(-2) # Provide the time that includes the period for your issue
Invoke-Command -Session $session { Get-AzureStackLog -OutputSharePath "<EXTERNAL SHARE ADDRESS>" -OutputShareCredential $using:shareCred -FilterByRole Storage -FromDate $using:fromDate -ToDate $using:toDate}
if ($session) {
Remove-PSSession -Session $session
}
Exemplos
Colete todos os registros para todas as funções:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $credColetar logs das funções VirtualMachines e BareMetal:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetalColetar logs das funções VirtualMachines e BareMetal com filtragem de data dos arquivos de log das últimas oito horas:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8)Coletar logs das funções VirtualMachines e BareMetal com filtragem de data dos arquivos de log com período entre as últimas duas e oito horas:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8) -ToDate (Get-Date).AddHours(-2)Coletar logs de implantações de locatário que executam clusters kubernetes (AKS Engine) autogerenciados no Azure Stack. Os logs de kubernetes devem ser armazenados em uma conta de armazenamento de locatário em um formato que permitirá que o intervalo de tempo de coleta seja aplicado a eles também.
Get-AzureStackLog -OutputPath <Path> -InputSasUri "<Blob Service Sas URI>" -FromDate "<Beginning of the time range>" -ToDate "<End of the time range>"Por exemplo:
Get-AzureStackLog -OutputPath C:\KubernetesLogs -InputSasUri "https://<storageAccountName>.blob.core.windows.net/<ContainerName><SAS token>" -FromDate (Get-Date).AddHours(-8) -ToDate (Get-Date).AddHours(-2)Colete logs para os RPs de valor agregado. A sintaxe geral é:
Get-AzureStackLog -FilterByResourceProvider <<value-add RP name>>Para coletar logs para o RP de SQL:
Get-AzureStackLog -FilterByResourceProvider SQLAdapterPara coletar logs para o RP de MySQL:
Get-AzureStackLog -FilterByResourceProvider MySQLAdapterPara coletar logs para Hubs de Eventos:
Get-AzureStackLog -FilterByResourceProvider eventhubPara coletar logs do Azure Stack Edge:
Get-AzureStackLog -FilterByResourceProvide databoxedgeColete logs e armazene-os no contêiner de blobs Armazenamento do Azure especificado. A sintaxe geral para essa operação é a seguinte:
Get-AzureStackLog -OutputSasUri "<Blob service SAS Uri>"Por exemplo:
Get-AzureStackLog -OutputSasUri "https://<storageAccountName>.blob.core.windows.net/<ContainerName><SAS token>"Observação
Este procedimento é útil para carregar logs. Mesmo que você não tenha um compartilhamento SMB acessível ou acesso à Internet, você pode criar uma conta de armazenamento de blobs em seu Azure Stack Hub para transferir os logs e, em seguida, usar seu cliente para recuperar esses logs.
Para gerar o token SAS para a conta de armazenamento, as seguintes permissões são necessárias:
- Acesso ao serviço de Armazenamento de Blobs.
- Acesso ao tipo de recurso de contêiner.
Para gerar um valor de Uri SAS a ser usado para o
-OutputSasUriparâmetro, siga estas etapas:- Crie uma conta de armazenamento seguindo as etapas deste artigo.
- Abra uma instância do Gerenciador de Armazenamento do Azure.
- Conecte-se à conta de armazenamento criada na etapa 1.
- Navegue até Contêineres de Blob nos Serviços de Armazenamento.
- Selecione Criar um novo contêiner.
- Clique com o botão direito do mouse no novo contêiner e clique em Obter Assinatura de Acesso Compartilhado.
- Selecione uma Hora de Início e Hora de Término válida, dependendo de seus requisitos.
- Para as permissões necessárias, selecione Leitura, Gravação e Lista.
- Selecione Criar.
- Você obterá uma Assinatura de Acesso Compartilhado. Copie a parte da URL e forneça-a ao
-OutputSasUriparâmetro.
Considerações sobre parâmetros
Os parâmetros OutputSharePath e OutputShareCredential são usados para armazenar logs em um local especificado pelo usuário.
Os parâmetros FromDate e ToDate podem ser usados para coletar logs em um determinado período de tempo. Se esses parâmetros não forem especificados, os logs serão coletados por padrão nas últimas quatro horas.
Use o parâmetro FilterByNode para filtrar logs pelo nome do computador. Por exemplo:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByNode azs-xrp01Use o parâmetro FilterByLogType para filtrar logs por tipo. Você pode optar por filtrar por Arquivo, Compartilhamento ou WindowsEvent. Por exemplo:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByLogType FileVocê pode usar o parâmetro TimeOutInMinutes para definir o tempo limite para a coleta de logs. Ele é definido como 150 (2,5 horas) por padrão.
A coleta de logs de arquivos de despejo está desabilitada por padrão. Para habilitá-lo, use o parâmetro de opção IncludeDumpFile .
Atualmente, você pode usar o parâmetro FilterByRole para filtrar a coleção de logs pelas seguintes funções:
ACS
ACSBlob
ACSDownloadService
ACSFabric
ACSFrontEnd
ACSMetrics
ACSMigrationService
ACSMonitoringService
Serviço de Configurações ACS
ACSTableMaster
ACSTableServer
ACSWac
ADFS
ApplicationController
ASAppGateway
AzureBridge
AzureMonitor
BareMetal
BRP
CA
CacheService
Computação
IDC
CRP
DeploymentMachine
DiskRP
Domínio
ECE
EventAdminRP
EventRP
ExternalDNS
FabricRing
FabricRingServices
FirstTierAggregationService
FRP
Porta de entrada
Monitoramento de Saúde
HintingServiceV2
HRP
IBC
InfraServiceController
KeyVaultAdminResourceProvider
KeyVaultControlPlane
KeyVaultDataPlane
KeyVaultInternalControlPlane
KeyVaultInternalDataPlane
KeyVaultNamingService
MDM
MetricsAdminRP
MetricsRP
MetricsServer
MetricsStoreService
MonAdminRP
MonRP
NC
NonPrivilegedAppGateway
NRP
OboService
OEM
OnboardRP
PXE
CoordenadorDeServiçoDeConsulta
QueryServiceWorker
SeedRing
SeedRingServices
SLB
SQL
SRP
Armazenamento
Controlador de Armazenamento
URP
SupportBridgeController
SupportRing
SupportRingServices
SupportBridgeRP
UsageBridge
VirtualMachines
WAS
WASPUBLIC
Considerações adicionais sobre logs de diagnóstico
O comando leva algum tempo para ser executado com base em quais funções os logs estão coletando. Os fatores que contribuem também incluem a duração do tempo especificada para a coleta de logs e o número de nós no ambiente do Azure Stack Hub.
Conforme a coleção de logs é executada, verifique a nova pasta criada no parâmetro OutputSharePath especificado no comando.
Cada função tem seus logs dentro de arquivos zip individuais. Dependendo do tamanho dos logs coletados, uma função pode ter seus logs divididos em vários arquivos zip. Para essa tarefa, se você quiser ter todos os arquivos de log descompactados em uma única pasta, use uma ferramenta que consiga descompactar em massa. Selecione todos os arquivos compactados referentes ao cargo e selecione extrair aqui. Todos os arquivos de log dessa função serão descompactados em uma única pasta mesclada.
Um arquivo chamado Get-AzureStackLog_Output.log também é criado na pasta que contém os arquivos de log compactados. Esse arquivo é um log da saída do comando, que pode ser usado para solucionar problemas durante a coleta de logs. Às vezes, o arquivo de log inclui
PS>TerminatingErrorentradas que podem ser ignoradas com segurança, a menos que os arquivos de log esperados estejam ausentes após a execução da coleção de logs.Para investigar uma falha específica, os logs podem ser necessários de mais de um componente.
- Os logs de sistema e de eventos para todas as VMs de infraestrutura são coletados na função VirtualMachines .
- Os logs do sistema e de eventos para todos os hosts são coletados na função BareMetal .
- Os logs de eventos de cluster de failover e de Hyper-V são coletados na função Armazenamento.
- Os logs do ACS são coletados nas funções de Armazenamento e ACS .
Observação
Os limites de tamanho e idade são impostos nos logs coletados, pois é essencial garantir a utilização eficiente do espaço de armazenamento e evitar uma enxurrada de logs. No entanto, ao diagnosticar um problema, às vezes você precisa de logs que não existem mais devido a esses limites. Portanto, é altamente recomendável descarregar seus logs para um espaço de armazenamento externo (uma conta de armazenamento no Azure, um dispositivo de armazenamento local adicional, etc.) a cada 8 a 12 horas e mantê-los lá por 1 a 3 meses, dependendo de suas necessidades. Você também deve garantir que esse local de armazenamento seja criptografado.
Invoke-AzureStackOnDemandLog
Você pode usar o cmdlet Invoke-AzureStackOnDemandLog para gerar logs sob demanda para determinadas funções (consulte a lista no final desta seção). Os logs gerados por esse cmdlet não estão presentes por padrão no pacote de log que você recebe ao executar o cmdlet Get-AzureStackLog . Além disso, é recomendável que você colete esses logs somente quando solicitado pela equipe de suporte da Microsoft.
Atualmente, você pode usar o -FilterByRole parâmetro para filtrar a coleção de logs pelas seguintes funções:
- OEM
- NC
- SLB
- Porta de entrada
Exemplo de coleta de logs de diagnóstico sob demanda
$ipAddress = "<IP ADDRESS OF THE PEP VM>" # You can also use the machine name instead of IP here.
$password = ConvertTo-SecureString "<CLOUD ADMIN PASSWORD>" -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential ("<DOMAIN NAME>\CloudAdmin", $password)
$shareCred = Get-Credential
$session = New-PSSession -ComputerName $ipAddress -ConfigurationName PrivilegedEndpoint -Credential $cred -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
$fromDate = (Get-Date).AddHours(-8)
$toDate = (Get-Date).AddHours(-2) # Provide the time that includes the period for your issue
Invoke-Command -Session $session {
Invoke-AzureStackOnDemandLog -Generate -FilterByRole "<on-demand role name>" # Provide the supported on-demand role name e.g. OEM, NC, SLB, Gateway
Get-AzureStackLog -OutputSharePath "<external share address>" -OutputShareCredential $using:shareCred -FilterByRole Storage -FromDate $using:fromDate -ToDate $using:toDate
}
if ($session) {
Remove-PSSession -Session $session
}
Como funciona a coleta de logs de diagnóstico usando o PEP
As ferramentas de diagnóstico do Azure Stack Hub ajudam a tornar a coleta de logs fácil e eficiente. O diagrama a seguir mostra como as ferramentas de diagnóstico funcionam:

Coletor de Rastreamentos
O Coletor de Rastreamento é habilitado por padrão e é executado continuamente em segundo plano para coletar todos os logs de ETW (Rastreamento de Eventos para Windows) dos serviços de componente do Azure Stack Hub. Os logs do ETW são armazenados em um compartilhamento local comum, com um limite de retenção de cinco dias. Depois que esse limite é atingido, os arquivos mais antigos são excluídos à medida que novos são criados. O tamanho máximo padrão permitido para cada arquivo é de 200 MB. Uma verificação de tamanho acontece a cada 2 minutos e, se o arquivo atual for >= 200 MB, ele será salvo e um novo arquivo será gerado. Há também um limite de 8 GB no tamanho total do arquivo gerado por sessão de evento.
Get-AzureStackLog
O cmdlet do PowerShell Get-AzureStackLog pode ser usado para coletar logs de todos os componentes em um ambiente do Azure Stack Hub. Ele os salva em arquivos zip em um local definido pelo usuário. Se a equipe de suporte técnico do Azure Stack Hub precisar de seus logs para ajudar a solucionar um problema, eles poderão solicitar que você execute Get-AzureStackLog.
Cuidado
Esses arquivos de log podem conter informações de identificação pessoal (PII). Leve isso em conta antes de postar publicamente os arquivos de log.
Veja a seguir alguns tipos de log de exemplo que são coletados:
- Logs de implantação do Azure Stack Hub
- Logs de eventos do Windows
- Panther Logs
- Logs de cluster
- Logs de diagnóstico de armazenamento
- Logs do ETW
Esses arquivos são coletados e salvos em um compartilhamento pelo Coletor de Rastreamentos. Get-AzureStackLog pode ser usado para recolhê-los quando necessário.