Strumenti di diagnostica Azure StackAzure Stack diagnostics tools

Si applica a: Azure Stack integrate di sistemi Azure Stack Development KitApplies to: Azure Stack integrated systems and Azure Stack Development Kit

Stack di Azure è un numero elevato di componenti in modalità di collaborazione e l'interazione tra loro.Azure Stack is a large collection of components working together and interacting with each other. Tutti questi componenti generano log univoco.All these components generate their own unique logs. Ciò può rendere la diagnosi di problemi di un'operazione complessa, specialmente per gli errori provenienti da più, l'interazione di componenti dello Stack di Azure.This can make diagnosing issues a challenging task, especially for errors coming from multiple, interacting Azure Stack components.

Gli strumenti di diagnostica garantiscono che il meccanismo di raccolta log è semplice ed efficiente.Our diagnostics tools help ensure the log collection mechanism is easy and efficient. Il diagramma seguente illustra come accedere gli strumenti di raccolta in un Stack di Azure:The following diagram shows how log collection tools in Azure Stack work:

Strumenti di diagnostica Azure Stack

Agente di raccolta tracciaTrace Collector

L'agente di raccolta traccia è abilitata per impostazione predefinita e viene eseguito in modo continuo in background per raccogliere tutti i log di Event Tracing for Windows (ETW) da Servizi componenti dello Stack di Azure.The Trace Collector is enabled by default and runs continuously in the background to collect all Event Tracing for Windows (ETW) logs from Azure Stack component services. Log ETW vengono archiviati in una condivisione locale comune con un limite di età di cinque giorni.ETW logs are stored in a common local share with a five day age limit. Una volta raggiunto questo limite, i file meno recenti vengono eliminati quando vengono creati nuovi.Once this limit is reached, the oldest files are deleted as new ones are created. La dimensione massima predefinita è consentita per ogni file è pari a 200MB.The default maximum size allowed for each file is 200MB. Un controllo della dimensione si verifica periodicamente (ogni 2 minuti) e se il file corrente > = 200 MB, viene salvato e viene generato un nuovo file.A size check occurs periodically (every 2 minutes) and if the current file is >= 200 MB, it is saved and a new file is generated. È inoltre previsto un limite di 8GB alle dimensioni complessive dei file generate per ogni sessione di eventi.There is also an 8GB limit on the total file size generated per event session.

Strumento di raccolta logLog collection tool

Il cmdlet PowerShell Get AzureStackLog può essere utilizzato per raccogliere registri da tutti i componenti in un ambiente dello Stack di Azure.The PowerShell cmdlet Get-AzureStackLog can be used to collect logs from all the components in an Azure Stack environment. Li salva nel file zip in un percorso definito dall'utente.It saves them in zip files in a user-defined location. Se il team di supporto tecnico deve i log per consentire di risolvere un problema, si potrebbe chiedere di eseguire questo strumento.If our technical support team needs your logs to help troubleshoot an issue, they may ask you to run this tool.

Attenzione

Questi file di log possono contenere informazioni personali (PII).These log files may contain personally identifiable information (PII). Tenerne conto prima di registrare pubblicamente di ogni file di log.Take this into account before you publicly post any log files.

Di seguito sono indicati alcuni tipi di log di esempio che vengono raccolti:The following are some example log types that are collected:

  • Registri di distribuzione Azure StackAzure Stack deployment logs
  • Registri eventi di WindowsWindows event logs
  • Log di PantherPanther logs
  • Registro clusterCluster logs
  • Log di diagnostica di archiviazioneStorage diagnostic logs
  • Log ETWETW logs

Questi file vengono raccolti e salvati in una condivisione per agente di raccolta traccia.These files are collected and saved in a share by Trace Collector. Il Get AzureStackLog quindi i cmdlet di PowerShell consente di raccogliere tali informazioni quando necessario.The Get-AzureStackLog PowerShell cmdlet can then be used to collect them when necessary.

Per eseguire Get-AzureStackLog in un sistema Azure Stack Development Kit (ASDK)To run Get-AzureStackLog on an Azure Stack Development Kit (ASDK) system

  1. Accedere come AzureStack\CloudAdmin nell'host.Log in as AzureStack\CloudAdmin on the host.
  2. Aprire una finestra di PowerShell come amministratore.Open a PowerShell window as an administrator.
  3. Eseguire il Get AzureStackLog cmdlet di PowerShell.Run the Get-AzureStackLog PowerShell cmdlet.

Esempi:Examples:

Raccogliere tutti i log per tutti i ruoli:Collect all logs for all roles:

Get-AzureStackLog -OutputPath C:\AzureStackLogs

Raccogliere registri da macchine virtuali e BareMetal ruoli:Collect logs from VirtualMachines and BareMetal roles:

Get-AzureStackLog -OutputPath C:\AzureStackLogs -FilterByRole VirtualMachines,BareMetal

Raccogliere registri da macchine virtuali e BareMetal ruoli, con data di applicazione di filtri per i file di log per le ore trascorse 8:Collect logs from VirtualMachines and BareMetal roles, with date filtering for log files for the past 8 hours:

Get-AzureStackLog -OutputPath C:\AzureStackLogs -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8)

Raccogliere registri dai ruoli di macchine virtuali e BareMetal, con data di applicazione di filtri per i file di log per il periodo di tempo compreso tra 8 ore fa e 2 ore fa:Collect logs from VirtualMachines and BareMetal roles, with date filtering for log files for the time period between 8 hours ago and 2 hours ago:

Get-AzureStackLog -OutputPath C:\AzureStackLogs -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8) -ToDate (Get-Date).AddHours(-2)

Per l'esecuzione di Get-AzureStackLog in uno Stack di Azure sistema integratoTo run Get-AzureStackLog on an Azure Stack integrated system

Per eseguire lo strumento di raccolta log in un sistema integrato, è necessario avere accesso al punto finale con privilegi (PEP).To run the log collection tool on an integrated system, you need to have access to the Privileged End Point (PEP). Di seguito è riportato un esempio di script è possibile eseguire utilizzando la PEP per raccogliere i registri in un sistema integrato:Here is an example script you can run using the PEP to collect logs on an integrated system:

$ip = "<IP ADDRESS OF THE PEP VM>" # You can also use the machine name instead of IP here.

$pwd= ConvertTo-SecureString "<CLOUD ADMIN PASSWORD>" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ("<DOMAIN NAME>\CloudAdmin", $pwd)

$shareCred = Get-Credential

$s = New-PSSession -ComputerName $ip -ConfigurationName PrivilegedEndpoint -Credential $cred

$fromDate = (Get-Date).AddHours(-8)
$toDate = (Get-Date).AddHours(-2)  #provide the time that includes the period for your issue

Invoke-Command -Session $s {    Get-AzureStackLog -OutputPath "\\<HLH MACHINE ADDRESS>\c$\logs" -OutputSharePath "<EXTERNAL SHARE ADDRESS>" -OutputShareCredential $using:shareCred  -FilterByRole Storage -FromDate $using:fromDate -ToDate $using:toDate}

if($s)
{
    Remove-PSSession $s
}
  • Quando si raccolgono i log dal PEP, specificare il OutputPath parametro sia un percorso sul computer Host del ciclo di vita di Hardware (HLH).When you collect logs from the PEP, specify the OutputPath parameter to be a location on the Hardware Lifecycle Host (HLH) machine. Verificare inoltre che il percorso è crittografato.Also ensure that the location is encrypted.
  • I parametri OutputSharePath e OutputShareCredential sono facoltativi e vengono utilizzati quando si carica i log in una cartella condivisa esterna.The parameters OutputSharePath and OutputShareCredential are optional and are used when you upload logs to an external shared folder. Utilizzare i parametri inoltre a OutputPath.Use these parameters in addition to OutputPath. Se OutputPath non viene specificato, lo strumento di raccolta log utilizza l'unità di sistema della macchina virtuale PEP per l'archiviazione.If OutputPath is not specified, the log collection tool uses the system drive of the PEP VM for storage. Ciò potrebbe causare l'esito negativo perché lo spazio su disco è limitato dello script.This might cause the script to fail because the drive space is limited.
  • Come illustrato nell'esempio precedente, il FromDate e ToDate parametri possono essere utilizzati per raccogliere i log per un determinato periodo di tempo.As shown in the previous example, the FromDate and ToDate parameters can be used to collect logs for a particular time period. Questo può essere utile per scenari come la raccolta di log dopo l'applicazione di un pacchetto di aggiornamento in un sistema integrato.This can come in handy for scenarios like collecting logs after applying an update package on an integrated system.

Considerazioni sui parametri per ASDK e sistemi integratiParameter considerations for both ASDK and integrated systems

  • Se il FromDate e ToDate parametri non vengono specificati, i log vengono raccolti per le ultime quattro ore per impostazione predefinita.If the FromDate and ToDate parameters are not specified, logs are collected for the past four hours by default.
  • È possibile utilizzare il TimeOutInMinutes parametro da impostare il timeout per la raccolta di log.You can use the TimeOutInMinutes parameter to set the timeout for log collection. È impostata su 150 (2,5 ore) per impostazione predefinita.It is set to 150 (2.5 hours) by default.

  • Attualmente, è possibile utilizzare il FilterByRole parametro alla raccolta di log di filtro per i ruoli seguenti:Currently, you can use the FilterByRole parameter to filter log collection by the following roles:

    ACSMigrationServiceACSMigrationService ACSMonitoringServiceACSMonitoringService ACSSettingsServiceACSSettingsService
    ACSACS ACSFabricACSFabric ACSFrontEndACSFrontEnd
    ACSTableMasterACSTableMaster ACSTableServerACSTableServer ACSWacACSWac
    AD FSADFS ASAppGatewayASAppGateway BareMetalBareMetal
    BRPBRP CACA IPCCPI
    CRPCRP DeploymentMachineDeploymentMachine DHCPDHCP
    DomainDomain ECEECE ECESeedRingECESeedRing
    FabricRingFabricRing FabricRingServicesFabricRingServices IN MATERIA PLASTICA RINFORZATAFRP
    GatewayGateway HealthMonitoringHealthMonitoring EFFETTUATOHRP
    IBCIBC InfraServiceControllerInfraServiceController KeyVaultAdminResourceProviderKeyVaultAdminResourceProvider
    KeyVaultControlPlaneKeyVaultControlPlane KeyVaultDataPlaneKeyVaultDataPlane NCNC
    NonPrivilegedAppGatewayNonPrivilegedAppGateway NRPNRP SeedRingSeedRing
    SeedRingServicesSeedRingServices SLBSLB SQLSQL
    CRITERI DI RESTRIZIONE SOFTWARESRP ArchiviazioneStorage Che controller di archiviazioneStorageController
    URPURP UsageBridgeUsageBridge Macchine virtualiVirtualMachines
    È STATOWAS WASPUBLICWASPUBLIC SERVIZI DI DISTRIBUZIONE WINDOWSWDS

Raccogliere i log usando un'interfaccia utente graficaCollect logs using a graphical user interface

Anziché fornire i parametri necessari per il cmdlet Get-AzureStackLog recuperare i registri di Stack di Azure, è anche possibile sfruttare gli strumenti di Azure Stack disponibile Apri origine si trova nel repository GitHub di strumenti di Azure Stack principale in http://aka.ms/AzureStackTools.Rather than providing the required parameters for the Get-AzureStackLog cmdlet to retrieve Azure Stack logs, you can also leverage the available open source Azure Stack tools located in the main Azure Stack tools GitHub repository at http://aka.ms/AzureStackTools.

Il ERCS_AzureStackLogs.ps1 script di PowerShell è archiviato nel repository GitHub degli strumenti e viene aggiornato a intervalli regolari.The ERCS_AzureStackLogs.ps1 PowerShell script is stored in the GitHub tools repository and is updated on a regular basis. Avviato da una sessione di PowerShell amministrativa, lo script si connette all'endpoint con privilegi e l'esecuzione di Get-AzureStackLog con parametri forniti.Started from an administrative PowerShell session, the script connects to the privileged endpoint and runs Get-AzureStackLog with supplied parameters. Se viene specificato alcun parametro, si utilizzerà lo script di una richiesta di conferma per i parametri tramite un'interfaccia utente grafica.If no parameters are supplied, the script will default to prompting for parameters via a graphical user interface.

Per ulteriori informazioni su PowerShell ERCS_AzureStackLogs.ps1 script è possibile guardare un breve video o visualizzare lo script file readme si trova nel repository GitHub strumenti dello Stack di Azure.To learn more about the ERCS_AzureStackLogs.ps1 PowerShell script you can watch a short video or view the script’s readme file located in the Azure Stack tools GitHub repository.

Considerazioni aggiuntiveAdditional considerations

  • Il comando richiede del tempo per eseguire in base alle quali ruoli per raccogliere i log.The command takes some time to run based on which role(s) the logs are collecting. Fattori includono anche la durata specificata per la raccolta di log e i numeri di nodi nell'ambiente dello Stack di Azure.Contributing factors also include the time duration specified for log collection, and the numbers of nodes in the Azure Stack environment.
  • Al termine della raccolta di log, selezionare la cartella creata nel OutputPath parametro specificato nel comando.After log collection completes, check the new folder created in the OutputPath parameter specified in the command.
  • Ogni ruolo dispone dei log all'interno di singoli con estensione zip.Each role has its logs inside individual zip files. A seconda delle dimensioni dei log raccolti, un ruolo può disporre dei log suddiviso in più file zip.Depending on the size of the collected logs, a role may have its logs split in to multiple zip files. Per un ruolo, se si desidera disporre di tutti i file di log decompressi una singola cartella, utilizzare uno strumento che è possibile decomprimere in blocco (ad esempio 7zip).For such a role, if you want to have all the log files unzipped in to a single folder, use a tool that can unzip in bulk (such as 7zip). Selezionare tutti i file ZIP per il ruolo e estrarre qui.Select all the zipped files for the role, and select extract here. Questo consente a tutti i file di log per tale ruolo in un'unica cartella sottoposto a merge.This unzips all the log files for that role in a single merged folder.
  • Un file denominato Get AzureStackLog_Output.log viene anche creato nella cartella che contiene i file di log compresso.A file called Get-AzureStackLog_Output.log is also created in the folder that contains the zipped log files. Questo file è un log di output del comando, che può essere utilizzato per la risoluzione dei problemi durante la raccolta di log.This file is a log of the command output, which can be used for troubleshooting problems during log collection.
  • Per analizzare un errore specifico, i registri possono essere necessari da più di un componente.To investigate a specific failure, logs may be needed from more than one component.
    • Sistema e i registri eventi per tutte le macchine virtuali dell'infrastruttura vengono raccolti nel VirtualMachines ruolo.System and Event logs for all infrastructure VMs are collected in the VirtualMachines role.
    • Sistema e i registri eventi per tutti gli host vengono raccolti nel BareMetal ruolo.System and Event logs for all hosts are collected in the BareMetal role.
    • Vengono raccolti i registri eventi Cluster di failover e Hyper-V nel archiviazione ruolo.Failover Cluster and Hyper-V event logs are collected in the Storage role.
    • ACS log vengono raccolti nel archiviazione e ACS ruoli.ACS logs are collected in the Storage and ACS roles.

Nota

Limiti di dimensioni e durata vengono applicati nei log delle raccolte perché è essenziale garantire un utilizzo efficace dello spazio di archiviazione per assicurare che non riceve di log.Size and age limits are enforced on the logs collected as it is essential to ensure efficient utilization of your storage space to ensure it doesn't get flooded with logs. Tuttavia, durante la diagnosi di un problema è necessario in alcuni casi i registri che potrebbero non esistere più a causa di questi limiti.However, when diagnosing a problem you sometimes need logs that might not exist anymore because of these limits. È pertanto consigliabile eseguire l'offload dei registri a uno spazio di archiviazione esterna (un account di archiviazione di Azure, un dispositivo di archiviazione locale aggiuntive e così via) ogni 8 a 12 ore e mantenerli sono da 1 a 3 mesi, a seconda del requisiti.Thus, it is highly recommended that you offload your logs to an external storage space (a storage account in Azure, an additional on-prem storage device etc.) every 8 to 12 hours and keep them there for 1 - 3 months, depending on your requirements. Inoltre, verificare che il percorso di archiviazione è crittografato.Also, ensure this storage location is encrypted.

Passaggi successiviNext steps

Microsoft Azure Stack troubleshooting (Risoluzione dei problemi di Microsoft Azure Stack)Microsoft Azure Stack troubleshooting