Compartir a través de


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

Para ejecutar Get-AzureStackLog en un sistema integrado, debe tener acceso al punto de conexión con privilegios. 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

  • Recopilar 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 los registros de SQL RP:

    Get-AzureStackLog -FilterByResourceProvider SQLAdapter
    

    Para recopilar los registros de MySQL RP:

    Get-AzureStackLog -FilterByResourceProvider MySQLAdapter
    

    Para recopilar los registros de Event Hubs:

    Get-AzureStackLog -FilterByResourceProvider eventhub
    

    Para recopilar los registros de 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. Aunque no tenga ningún recurso compartido de SMB al que se pueda acceder o acceso a Internet, puede crear una cuenta de almacenamiento de blobs en Azure Stack Hub para transferir los registros y, después, usar el cliente para recuperarlos.

    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 del contenedor.

    Para generar un valor de URI de SAS que se pueda usar para el parámetro -OutputSasUri, realice los pasos siguientes:

    1. Para crear una cuenta de almacenamiento, siga los pasos de 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 contenedor nuevo.
    6. Haga clic con el botón derecho en el contenedor y haga clic en Get Shared Access Signature (Obtener firma de acceso compartido).
    7. Seleccione la Hora de inicio y la Hora de fin válidas según sus requisitos.
    8. Para los permisos necesarios, seleccione Lectura, Escritura y Lista.
    9. Seleccione Crear.
    10. Obtendrá una firma de acceso compartido. Copie la parte de la dirección URL y proporciónesela al parámetro -OutputSasUri.

Consideraciones sobre los parámetros

  • Los parámetros OutputSharePath y OutputShareCredential se utilizan para almacenar 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 para la colecció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 habilitarla, utilice el parámetro de modificador IncludeDumpFile.

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

ACS

ACSBlob

ACSDownloadService

ACSFabric

ACSFrontEnd

ACSMetrics

ACSMigrationService

ACSMonitoringService

ACSSettingsService

ACSTableMaster

ACSTableServer

ACSWac

ADFS

ApplicationController

ASAppGateway

AzureBridge

AzureMonitor

BareMetal

BRP

CA

CacheService

Compute

CPI

CRP

DeploymentMachine

DiskRP

Domain

ECE

EventAdminRP

EventRP

ExternalDNS

FabricRing

FabricRingServices

FirstTierAggregationService

FRP

Puerta de enlace

HealthMonitoring

HintingServiceV2

HRP

IBC

InfraServiceController

KeyVaultAdminResourceProvider

KeyVaultControlPlane

KeyVaultDataPlane

KeyVaultInternalControlPlane

KeyVaultInternalDataPlane

KeyVaultNamingService

MDM

MetricsAdminRP

MetricsRP

MetricsServer

MetricsStoreService

MonAdminRP

MonRP

NC

NonPrivilegedAppGateway

NRP

OboService

OEM

OnboardRP

PXE

QueryServiceCoordinator

QueryServiceWorker

SeedRing

SeedRingServices

SLB

SQL

SRP

Storage

StorageController

URP

SupportBridgeController

SupportRing

SupportRingServices

SupportBridgeRP

UsageBridge

VirtualMachines

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. Entre los factores que contribuyen, se incluye la duración especificada para la recopilación de registros y el número de nodos en el entorno de Azure Stack Hub.

  • Cuando 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 dividir sus registros en varios archivos ZIP. Para ese 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. En ocasiones, el archivo de registro incluye entradas PS>TerminatingError que se pueden omitir sin problema, a menos que falten los archivos de registro esperados después de ejecutar la recopilación de registros.

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

    • Los registros de eventos y del sistema de todas las máquinas virtuales de la 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

Se aplican límites en el tamaño y la antigüedad de los registros recopilados, ya que es esencial garantizar un uso eficaz del espacio de almacenamiento y evitar que este reciba demasiados registros. Sin embargo, cuando se diagnostica un problema, a veces se necesitan registros que podrían no existir ya debido a estos límites. Por lo tanto, es muy recomendable que descargue los registros en un espacio de almacenamiento externo (una cuenta de almacenamiento de Azure, un dispositivo de almacenamiento local adicional, etc.) cada 8-12 horas y los conserve allí de 1 a 3 meses según necesite. Debe asegurarse también de que la ubicación de almacenamiento está cifrada.

Invoke-AzureStackOnDemandLog

Puede usar el cmdlet Invoke-AzureStackOnDemandLog para generar registros a petición para ciertos 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 paquete de registro que recibe al ejecutar el cmdlet Get-AzureStackLog. Además, se recomienda recopilar estos registros solo cuando así lo solicite el equipo de soporte técnico de Microsoft.

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

  • OEM
  • NC
  • SLB
  • Puerta de enlace

Ejemplo de recopilación de registros 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
}

Cómo funciona la recopilación de registros de diagnóstico con 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 las 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 que se alcanza este límite, se eliminan los archivos más antiguos cuando se crean nuevos. El tamaño máximo predeterminado permitido para cada archivo es de 200 MB. Se realiza una comprobación de tamaño cada dos minutos y si el archivo actual es > = 200 MB, se guarda y se genera otro. También hay un límite de 8 GB en el tamaño total del archivo generado por cada sesión de eventos.

Get-AzureStackLog

El cmdlet de PowerShell Get-AzureStackLog se puede utilizar para recopilar registros de todos los componentes en 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 los registros para ayudarle a solucionar un problema, puede 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 los archivos de registro.

Estos son algunos ejemplos de tipos de registro 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

El Recopilador de seguimiento recopila estos archivos y los guarda en un recurso compartido. Get-AzureStackLog se puede utilizar después para recopilarlos cuando sea necesario.