Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Para executar Get-AzureStackLog em um sistema integrado, você precisa ter acesso ao ponto de extremidade privilegiado (PEP). 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 uma nova coleta 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
Recolha todos os registos para todos os perfis.
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $credColete logs de funções VirtualMachines e BareMetal:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetalColete registos das funções de Máquinas Virtuais e BareMetal, com filtragem por data para os registos das últimas 8 horas.
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8)Colete logs das funções VirtualMachines e BareMetal, com filtragem pela data para os arquivos de log no período de tempo entre 8 horas e 2 horas atrás.
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8) -ToDate (Get-Date).AddHours(-2)Colete logs de implantações de locatários que executam clusters Kubernetes autogerenciados (mecanismo AKS) no Azure Stack. Os logs do Kubernetes devem ser armazenados em uma conta de armazenamento de locatário em um formato que permita que o intervalo de tempo de coleta também seja aplicado a eles.
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 acrescentado. A sintaxe geral é:
Get-AzureStackLog -FilterByResourceProvider <<value-add RP name>>Para coletar logs para SQL RP:
Get-AzureStackLog -FilterByResourceProvider SQLAdapterPara recolher logs para o MySQL RP:
Get-AzureStackLog -FilterByResourceProvider MySQLAdapterPara recolher registos para o Event Hubs:
Get-AzureStackLog -FilterByResourceProvider eventhubPara coletar logs para o Azure Stack Edge:
Get-AzureStackLog -FilterByResourceProvide databoxedgeColete logs e armazene-os no contentor de blobs do Armazenamento do Azure especificado. A sintaxe geral para esta 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 blob 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 em Bloco.
- Acesso ao tipo de recurso de contêiner.
Para gerar um valor de Uri SAS a ser usado para o parâmetro
-OutputSasUri, execute estas etapas:- Crie uma conta de armazenamento, seguindo as etapas neste 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 no Storage Services.
- Selecione Criar um novo contêiner.
- Clique com o botão direito do rato no novo contentor e, em seguida, clique Obter Assinatura de Acesso Partilhado.
- Selecione uma Hora de Início válida e Hora de Término, dependendo das suas necessidades.
- Para as permissões necessárias, selecione Ler, Escrevere Listar.
- Selecione Criar.
- Você receberá uma Assinatura de Acesso Compartilhado. Copie a parte da URL e forneça-a para o parâmetro
-OutputSasUri.
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 para um período de tempo específico. Se esses parâmetros não forem especificados, os logs serão coletados nas últimas quatro horas por padrão.
Use o parâmetro FilterByNode para filtrar logs por 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. É definido como 150 (2,5 horas) por padrão.
A coleta de log do arquivo de despejo está desabilitada por padrão. Para habilitá-lo, use o parâmetro IncludeDumpFile switch.
Atualmente, você pode usar o parâmetro FilterByRole para filtrar a coleta de logs pelas seguintes funções:
ACS
ACSBlob
ACSDownloadService
ACSFabric
ACSFrontEnd
ACSMetrics
Serviço de Migração ACS
Serviço de Monitorização ACS
ACSSettingsService
ACSTableMaster
ACSTableServer
ACSWac
ADFS
ApplicationController
ASAppGateway
AzureBridge
AzureMonitor
BareMetal
BRP
Califórnia
CacheService
Computação
CPI
PCR
DeploymentMachine
DiskRP
Domínio
ECE
Administrador de Eventos RP
EventRP
DNS externo
FabricRing
FabricRingServices
ServiçoDeAgregaçãoDePrimeiroNível
FRP
Porta de entrada
Monitorização da saúde
SugestõesServiceV2
PRH
IBC
InfraServiceController
KeyVaultAdminResourceProvider
KeyVaultControlPlane
KeyVaultDataPlane
KeyVaultInternalControlPlane
KeyVaultInternalDataPlane
KeyVaultNamingService
MDM
MétricasAdminRP
MétricasRP
MetricsServer
MetricsStoreService
MonAdminRP
MonRP
N.º
GatewayDeAplicaçõesNãoPrivilegiadas
NRP
OboService
OEM (Fabricante de Equipamento Original)
OnboardRP
PXE
Coordenador de Serviço de Consulta
QueryServiceWorker
SeedRing
SeedRingServices
SLB
SQL
Preço Recomendado de Venda
Armazenamento
Controlador de armazenamento
Programa de Recuperação Urbana
SuporteBridgeController
SupportRing
SupportRingServices
SuporteBridgeRP
UsageBridge
Máquinas Virtuais
FOI
WASPUBLIC
Considerações adicionais sobre logs de diagnóstico
O comando leva algum tempo para ser executado, dependendo de qual(is) função(ões) os logs estão a recolher. Os fatores contribuintes também incluem a duração de tempo especificada para a coleta de logs e o número de nós no ambiente do Azure Stack Hub.
À medida que a coleta de log é 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 esta tarefa, se pretender ter todos os ficheiros de log descompactados numa única pasta, utilize uma ferramenta que consiga descompactar vários ficheiros simultaneamente. Selecione todos os arquivos compactados para a função e selecione extrair aqui. Todos os ficheiros de log dessa função serão descompactados numa única pasta combinada.
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 log. Às vezes, o arquivo de log inclui entradas
PS>TerminatingErrorque podem ser ignoradas com segurança, a menos que os arquivos de log esperados estejam ausentes após a execução da coleta de logs.Para investigar uma falha específica, podem ser necessários logs de mais de um componente.
- Os logs de sistema e eventos para todas as VMs de infraestrutura são coletados na função VirtualMachines.
- Os logs de sistema e eventos para todos os hosts são coletados na função BareMetal.
- Os logs de eventos de Hyper-V e cluster de failover são coletados na função de Armazenamento.
- Os logs do ACS são recolhidos no Storage e nas funções do ACS.
Observação
Os limites de tamanho e idade são impostos aos logs coletados, pois é essencial para garantir a utilização eficiente do seu espaço de armazenamento e evitar ser inundado com logs. No entanto, ao diagnosticar um problema, às vezes você precisa de logs que não existem mais por causa desses limites. Assim, é altamente recomendável que você descarregue 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 os mantenha lá por 1 a 3 meses, dependendo de suas necessidades. Você também deve garantir que esse local de armazenamento esteja 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 logs que você recebe quando executa 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 parâmetro -FilterByRole para filtrar a coleta de logs pelas seguintes funções:
- OEM (Fabricante de Equipamento Original)
- N.º
- SLB
- Porta de entrada
Exemplo de recolha de registos 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 recolha de logs de diagnóstico utilizando 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 rastreamento
O Coletor de Rastreamento é habilitado por padrão e é executado continuamente em segundo plano para coletar todos os logs de Rastreamento de Eventos para Windows (ETW) dos serviços de componentes do Azure Stack Hub. Os logs ETW são armazenados numa partilha local comum com um limite de idade de cinco dias. Uma vez atingido esse limite, 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.
Atenção
Esses arquivos de log podem conter informações de identificação pessoal (PII). Tenha isto em conta antes de publicar quaisquer ficheiros de registo.
A seguir estão alguns exemplos de tipos de log que são coletados:
- logs de implantação do Azure Stack Hub
- logs de eventos do Windows
- Pantera registra
- Logs de cluster
- Logs de diagnóstico de armazenamento
- registos ETW
Esses arquivos são coletados e salvos em um compartilhamento pelo Trace Collector. Get-AzureStackLog pode então ser usado para recolhê-los quando necessário.