Compartir a través de


Envío de registros de diagnóstico de Azure Stack Hub mediante el punto de conexión con privilegios (PEP)

Para ejecutar Get-AzureStackLog en un sistema integrado, debe tener acceso al punto de conexión con privilegios (PEP). Este es un script de ejemplo que se puede ejecutar mediante el punto de conexión con privilegios para recopilar los registros. Si va a cancelar una recopilación de registros en ejecución para iniciar una nueva, espere 5 minutos antes de iniciar la nueva recopilación de registros y escriba 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
}

Ejemplos

  • Recopile todos los registros de todos los roles:

    Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred
    
  • Recopilar registros de los roles VirtualMachines y BareMetal:

    Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal
    
  • Recopilar registros de los roles VirtualMachines y BareMetal, filtrando por fecha los archivos de registro de las últimas 8 horas:

    Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8)
    
  • Recopilar registros de los roles VirtualMachines y BareMetal, filtrando por fecha los archivos de registro del período comprendido entre las últimas entre 8 y 2 horas:

    Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8) -ToDate (Get-Date).AddHours(-2)
    
  • Recopilar registros de implementaciones de inquilino que ejecutan clústeres de Kubernetes autoadministrados (motor de AKS) en Azure Stack. Los registros de Kubernetes deben almacenarse en una cuenta de almacenamiento del inquilino en un formato que permita que el intervalo de tiempo de recopilación se aplique también a estos.

    Get-AzureStackLog -OutputPath <Path> -InputSasUri "<Blob Service Sas URI>" -FromDate "<Beginning of the time range>" -ToDate "<End of the time range>"
    

    Por ejemplo:

    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) 
    
  • Recopilación de registros para los proveedores de recursos de valor añadido. La sintaxis general es:

    Get-AzureStackLog -FilterByResourceProvider <<value-add RP name>>
    

    Para recopilar registros de SQL RP:

    Get-AzureStackLog -FilterByResourceProvider SQLAdapter
    

    Para recopilar registros para el RP de MySQL:

    Get-AzureStackLog -FilterByResourceProvider MySQLAdapter
    

    Para recopilar registros de Event Hubs:

    Get-AzureStackLog -FilterByResourceProvider eventhub
    

    Para recopilar registros para Azure Stack Edge:

    Get-AzureStackLog -FilterByResourceProvide databoxedge
    
  • Recopilar registros y almacenarlos en el contenedor de blobs de Azure Storage especificado. La sintaxis general para esta operación es como sigue:

    Get-AzureStackLog -OutputSasUri "<Blob service SAS Uri>"
    

    Por ejemplo:

    Get-AzureStackLog -OutputSasUri "https://<storageAccountName>.blob.core.windows.net/<ContainerName><SAS token>"
    

    Nota:

    Este procedimiento es útil para cargar registros. Incluso si no tiene un recurso compartido SMB accesible o acceso a Internet, puede crear una cuenta de almacenamiento de blobs en Azure Stack Hub para transferir los registros y, a continuación, usar el cliente para recuperar esos registros.

    Para generar el token de SAS para la cuenta de almacenamiento, se requieren los permisos siguientes:

    • Acceso al servicio Blob Storage.
    • Acceso al tipo de recurso de contenedor.

    Para generar un valor de URI de SAS que se usará para el -OutputSasUri parámetro , siga estos pasos:

    1. Cree una cuenta de almacenamiento siguiendo los pasos descritos en este artículo.
    2. Abra una instancia del Explorador de Azure Storage.
    3. Conéctese a la cuenta de almacenamiento creada en el paso 1.
    4. Vaya a Blob Containers (Contenedores de blobs) en Servicios de almacenamiento.
    5. Seleccione Crear un nuevo contenedor.
    6. Haga clic con el botón derecho en el nuevo contenedor y, a continuación, haga clic en Obtener firma de acceso compartido.
    7. Seleccione una hora de inicio y una hora de finalización válidas, según sus requisitos.
    8. Para los permisos necesarios, seleccione Leer, Escribir y Enumerar.
    9. Selecciona Crear.
    10. Obtendrá una firma de acceso compartido. Copie la parte de la dirección URL y proporciónela al parámetro -OutputSasUri.

Consideraciones sobre los parámetros

  • Los parámetros OutputSharePath y OutputShareCredential se usan para almacenar los registros en una ubicación especificada por el usuario.

  • Los parámetros FromDate y ToDate pueden utilizarse para recopilar registros durante un período de tiempo determinado. Si no se especifican los parámetros, se recopilan los registros de las últimas cuatro horas de forma predeterminada.

  • Use el parámetro FilterByNode para filtrar los registros por nombre de equipo. Por ejemplo:

    Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByNode azs-xrp01
    
  • Use el parámetro FilterByLogType para filtrar los registros por tipo. Puede elegir filtrar por archivo, por recurso compartido o por WindowsEvent. Por ejemplo:

    Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByLogType File
    
  • Puede usar el parámetro TimeOutInMinutes para establecer el tiempo de espera de la recopilación de registros. Se establece en 150 (2,5 horas) de forma predeterminada.

  • La recopilación de registros de archivos de copia de seguridad está deshabilitada de forma predeterminada. Para habilitarlo, use el parámetro del modificador IncludeDumpFile .

  • Actualmente, puede usar el parámetro FilterByRole para filtrar la recopilación de registros por los roles siguientes:

ACS

ACSBlob

ACSDownloadService

ACSFabric

ACSFrontEnd

ACSMetrics

ACSMigrationService

ACSMonitoringService

ACSSettingsService

ACSTableMaster

ACSTableServer

ACSWac

ADFS

ApplicationController

ASAppGateway

AzureBridge

AzureMonitor

BareMetal

BRP

CA

CacheService

Calcular

CPI

CRP

DeploymentMachine

DiskRP

Dominio

CEPE

EventAdminRP

EventRP

ExternalDNS

Anillo de Tela

FabricRingServices

FirstTierAggregationService

FRP

Puerta de enlace

Monitoreo de Salud

HintingServiceV2

HRP

IBC

InfraServiceController

KeyVaultAdminResourceProvider

KeyVaultControlPlane

KeyVaultDataPlane

KeyVaultInternalControlPlane

KeyVaultInternalDataPlane

KeyVaultNamingService

MDM

MetricsAdminRP

MetricsRP

MetricsServer

MetricsStoreService

MonAdminRP

MonRP

Carolina del Norte

Puerta de enlace de aplicaciones sin privilegios

NRP

OboService

OEM

OnboardRP

PXE

Coordinador de Servicios de Consultas

QueryServiceWorker

SeedRing

SeedRingServices

SLB

SQL

SRP

Almacenamiento

Controlador de Almacenamiento

URP

SupportBridgeController

SupportRing

SupportRingServices

SupportBridgeRP

UsageBridge

Máquinas Virtuales

WAS

WASPUBLIC

Consideraciones adicionales sobre los registros de diagnóstico

  • Este comando tardará un rato en ejecutarse, en función de los roles que recopilen los registros. Los factores que contribuyen también incluyen la duración especificada para la recopilación de registros y el número de nodos en el entorno de Azure Stack Hub.

  • A medida que se ejecuta la recopilación de registros, compruebe la nueva carpeta creada en el parámetro OutputSharePath especificado en el comando .

  • Cada rol tiene sus registros dentro de archivos ZIP individuales. Según el tamaño de los registros recopilados, un rol puede tener sus registros divididos en varios archivos ZIP. Para este rol, si desea que todos los archivos de registro se descompriman en una sola carpeta, use una herramienta que pueda descomprimir de forma masiva. Seleccione todos los archivos comprimidos para el rol y seleccione Extraer aquí. Todos los archivos de registro de ese rol se descomprimirán en una sola carpeta combinada.

  • También se crea un archivo denominado Get-AzureStackLog_Output.log en la carpeta que contiene los archivos de registro comprimidos. Este archivo es un registro de la salida del comando, que se puede usar para solucionar problemas durante la recopilación de registros. A veces, el archivo de registro incluye PS>TerminatingError entradas que se pueden omitir de forma segura, a menos que falten archivos de registro esperados después de que se ejecute la recopilación de registros.

  • Para investigar un error específico, es posible que se necesiten registros de más de un componente.

    • Los registros de eventos y del sistema para todas las máquinas virtuales de infraestructura se recopilan en el rol VirtualMachines .
    • Los registros de eventos y del sistema de todos los hosts se recopilan en el rol BareMetal.
    • Los registros de eventos de Hyper-V y del clúster de conmutación por error se recopilan en el rol Storage.
    • Los registros de ACS se recopilan en los roles Storage y ACS.

Nota:

Los límites de tamaño y antigüedad se aplican a los registros recopilados, ya que es esencial garantizar un uso eficaz del espacio de almacenamiento y evitar inundarse de registros. Sin embargo, al diagnosticar un problema, a veces necesita registros que ya no existen debido a estos límites. Por lo tanto, se recomienda encarecidamente descargar los registros en un espacio de almacenamiento externo (una cuenta de almacenamiento en Azure, un dispositivo de almacenamiento local adicional, etc.) cada 8 a 12 horas y mantenerlos allí durante 1 a 3 meses, en función de sus requisitos. También debe asegurarse de que esta ubicación de almacenamiento está cifrada.

Invoke-AzureStackOnDemandLog

Puede usar el cmdlet Invoke-AzureStackOnDemandLog para generar registros a petición para determinados roles (consulte la lista al final de esta sección). Los registros generados por este cmdlet no están presentes de forma predeterminada en el lote de registros que recibe al ejecutar el cmdlet Get-AzureStackLog . Además, se recomienda recopilar estos registros solo cuando lo solicite el equipo de soporte técnico de Microsoft.

Actualmente, puede usar el parámetro para filtrar la -FilterByRole recopilación de registros por los roles siguientes:

  • OEM
  • Carolina del Norte
  • SLB
  • Puerta de enlace

Ejemplo de recopilación de registros de diagnóstico a petición

$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
}

Funcionamiento de la recopilación de registros de diagnóstico utilizando el PEP

Las herramientas de diagnóstico de Azure Stack Hub ayudan a que la recopilación de registros sea fácil y eficaz. En el diagrama siguiente se muestra cómo funcionan las herramientas de diagnóstico:

Diagrama de flujo de trabajo de herramientas de diagnóstico de Azure Stack Hub

Recopilador de seguimiento

El recopilador de seguimiento está habilitado de forma predeterminada y se ejecuta continuamente en segundo plano para recopilar todos los registros de seguimiento de eventos para Windows (ETW) de los servicios de componentes de Azure Stack Hub. Los registros de ETW se almacenan en un recurso compartido local común con un límite de antigüedad de cinco días. Una vez alcanzado este límite, los archivos más antiguos se eliminan a medida que se crean nuevos. El tamaño máximo predeterminado permitido para cada archivo es de 200 MB. Se produce una comprobación de tamaño cada 2 minutos y, si el archivo actual es >= 200 MB, se guarda y se genera un archivo nuevo. También hay un límite de 8 GB en el tamaño total de archivo generado por sesión de evento.

Get-AzureStackLog

El cmdlet de PowerShell Get-AzureStackLog se puede usar para recopilar registros de todos los componentes de un entorno de Azure Stack Hub. Los guarda en archivos ZIP en una ubicación definida por el usuario. Si el equipo de soporte técnico de Azure Stack Hub necesita sus registros para ayudar a solucionar un problema, es posible que le pidan que ejecute Get-AzureStackLog.

Precaución

Estos archivos de registro pueden contener información de identificación personal (PII). Tenga esto en cuenta antes de publicar públicamente los archivos de registro.

A continuación se muestran algunos tipos de registro de ejemplo que se recopilan:

  • Registros de implementación de Azure Stack Hub
  • Registros de eventos de Windows
  • Registros de Panther
  • Registros de clúster
  • Registros de diagnóstico de almacenamiento
  • Registros de ETW

Estos archivos se recopilan y guardan en un recurso compartido por Trace Collector. Get-AzureStackLog puede usarse para recopilarlos cuando sea necesario.