Condividi tramite


Come usare PerfInsights

Nota

CentOS a cui si fa riferimento in questo articolo è una distribuzione Linux e raggiungerà End Of Life (EOL). Prendere in considerazione l'uso e pianificare di conseguenza. Per altre informazioni, vedere Indicazioni sulla fine del ciclo di vita di CentOS.

PerfInsights Linux è uno strumento diagnostico di autoaiuto che raccoglie e analizza i dati diagnostici e fornisce un report per aiutare a risolvere i problemi di prestazioni delle macchine virtuali Linux in Azure. PerfInsights può essere eseguito nelle macchine virtuali supportate come strumento autonomo o direttamente dal portale usando Diagnostica delle prestazioni per le macchine virtuali di Azure.

Se riscontri problemi di prestazioni con le macchine virtuali, prima di contattare il supporto, esegui questo strumento.

Scenari di risoluzione dei problemi supportati

PerfInsights può raccogliere e analizzare diversi tipi di informazioni. Le sezioni seguenti trattano scenari comuni.

Rapida analisi delle prestazioni

Questo scenario raccoglie informazioni di base come l'archiviazione e la configurazione hardware della tua macchina virtuale, vari registri, tra cui:

  • Informazioni sul sistema operativo

  • Informazioni sul dispositivo PCI

  • Registri generali del sistema operativo guest

  • File di configurazione

  • Informazioni sull'archiviazione

  • Configurazione della macchina virtuale Azure (raccolta utilizzando Azure Instance Metadata Service).

  • Elenco dei processi in esecuzione, disco, memoria e utilizzo della CPU

  • Informazioni sulla rete

Questa è una raccolta passiva di informazioni che non dovrebbe influenzare il sistema.

Nota

Lo scenario di analisi rapida delle prestazioni è incluso automaticamente in ognuno dei seguenti scenari:

Analisi di prestazioni

Questo scenario è simile all'analisi rapida delle prestazioni, ma consente di acquisire informazioni di diagnostica per una durata maggiore.

Analisi delle prestazioni dell'HPC

Questo scenario è pensato per la risoluzione dei problemi nelle macchine virtuali di dimensioni HPC, ovvero serie H e serie N. Verifica la configurazione di una macchina virtuale rispetto a ciò che il team della piattaforma HPC di Azure ha testato e consigliato. Raccoglie inoltre registri e dati diagnostici relativi allo stato e alla configurazione dell'hardware speciale disponibile su tali macchine virtuali, tra cui:

  • Informazioni sul driver della GPU

  • Diagnostica dell'hardware della GPU

  • Informazioni e configurazione del driver InfiniBand

  • Diagnostica del dispositivo InfiniBand

  • File di configurazione di rete

  • Informazioni sull'ottimizzazione delle prestazioni

Nota

Alcuni strumenti usati dallo scenario di analisi delle prestazioni HPC, ad esempio i comandi cli inclusi nel pacchetto con i driver di dispositivo, non sono presenti in tutte le macchine virtuali. In tali casi, quelle parti dell'analisi verranno saltate. L'esecuzione di questo scenario non installa alcun software nelle macchine virtuali né apporta altre modifiche permanenti.

Nota

L'esecuzione dello scenario HPC direttamente dal portale di Azure non è attualmente supportata, quindi PerfInsights deve essere scaricato ed eseguito dalla riga di comando per usarlo.

Che tipo di informazioni vengono raccolte da PerfInsights

Vengono raccolte informazioni sulla macchina virtuale Linux, sul sistema operativo, sui dispositivi a blocchi, sui consumatori di risorse elevate, sulla configurazione e su vari log. Di seguito sono riportate informazioni dettagliate:

  • Sistema operativo

    • Distribuzione e versione di Linux
    • Informazioni sul kernel
    • Informazioni sul driver
    • Log dell'estensione della macchina virtuale del driver HPC di Azure*
    • Configurazione SELinux*
  • Hardware

    • Dispositivi PCI [*]
    • Output di lscpu*
    • Dump della tabella del BIOS di gestione del sistema*
  • Processi e memoria

    • Elenco dei processi (nome dell'attività, memoria utilizzata, file aperti)
    • Memoria fisica totale, disponibile e libera
    • Memoria di scambio totale, disponibile e libera
    • Acquisizione del profilo della CPU ed elaborazione dell'utilizzo della CPU a intervalli di 5 secondi
    • Acquisizione del profilo dell'utilizzo della memoria dei processi a intervalli di 5 secondi
    • Limiti utente per l'accesso alla memoria*
    • Configurazione NUMA*
  • GPU

    • Uscita Nvidia SMI*
    • Diagnostica Nvidia DCGM*
    • Dump di debug Nvidia*
  • Rete

    • Elenco degli adattatori di rete con le statistiche degli adattatori
    • Tabella di instradamento di rete
    • Porte aperte e stato
    • Chiavi di partizione InfiniBand*
    • Output di ibstat *
  • Archiviazione

    • Elenco dei dispositivi bloccati
    • Elenco delle partizioni
    • Elenco dei punti di montaggio
    • Informazioni sul volume MDADM
    • Informazioni sul volume LVM
    • Acquisizione del profilo su tutti i dischi a intervalli di 5 secondi
  • Log

    • /var/log/messaggi
    • /var/log/syslog
    • /var/log/kern.log
    • /var/log/cron.log
    • /var/log/boot.log
    • /var/log/yum.log
    • /var/log/dpkg.log
    • /var/log/sysstat o /var/log/sa [**]
    • /var/log/cloud-init.log
    • /var/log/cloud-init-output.log
    • /var/log/gpu-manager.log
    • /var/log/waagent.log
    • /var/log/azure/[extension folder]/*log*
    • /var/opt/microsoft/omsconfig/omsconfig.log
    • /var/opt/microsoft/omsagent/log/omsagent.log
    • /etc/waagent.config
    • Output di journalctl per gli ultimi cinque giorni
  • Metadati istanza macchina virtuale di Azure

              * Solo nello scenario HPC

Traccia diagnostica delle prestazioni

Esegue un motore basato su regole in background per raccogliere dati e diagnosticare problemi di prestazioni in corso. Le regole vengono visualizzate nel report nella scheda Categoria -> Ricerca.

Ogni regola è composta da quanto segue:

  • Ricerca in corso: descrizione del risultato.
  • Raccomandazione: raccomandazione su quali azioni potrebbero essere intraprese per il risultato. Sono inoltre presenti link di riferimento alla documentazione che fornisce ulteriori informazioni sul risultato e/o sulla raccomandazione.
  • Livello di impatto: rappresenta il potenziale per avere un impatto sulle prestazioni.

Attualmente sono supportate le seguenti categorie di regole:

  • Elevato utilizzo delle risorse:

    • Utilizzo elevato della CPU: rileva i periodi di utilizzo elevato della CPU e mostra i principali consumatori di utilizzo della CPU durante tali periodi.
    • Utilizzo elevato della memoria: rileva i periodi di utilizzo elevato della memoria e mostra i principali consumatori di utilizzo della memoria durante tali periodi.
    • Utilizzo elevato del disco: rileva i periodi di utilizzo elevato del disco sui dischi fisici e mostra i principali consumatori di utilizzo del disco durante tali periodi.
  • Archiviazione: rileva configurazioni di archiviazione specifiche.

  • Memoria: rileva configurazioni di memoria specifiche.

  • GPU: rileva configurazioni GPU specifiche.

  • Rete: rileva impostazioni di rete specifiche.

  • Sistema: rileva impostazioni di sistema specifiche.

Nota

[*] Le informazioni PCI non sono ancora raccolte sulle distribuzioni Debian e SLES.

[**] /var/log/sysstat o /var/log/sa contiene i file SAR (System Activity Report) raccolti dal pacchetto sysstat. Se il pacchetto sysstat non è installato nella macchina virtuale, lo strumento PerfInsights fornisce consigli per installarlo.

Esegui PerfInsights Linux sulla tua macchina virtuale

Cosa devo sapere prima di eseguire lo strumento

Requisiti relativi allo strumento

  • Questo strumento deve essere eseguito sulla macchina virtuale che presenta il problema di prestazioni.

  • Python 3.6 o versione successiva deve essere installato nella VM.

    Nota

    Python 2 non è più supportato dalla Python Software Foundation (PSF). Se Python 2.7 è installato nella macchina virtuale, è possibile installare PerfInsights. Tuttavia, non verranno apportate modifiche o correzioni di bug in PerfInsights per supportare Python 2.7. Per ulteriori informazioni, vedere Sunsetting Python 2.

  • Attualmente sono supportate le seguenti distribuzioni:

    Nota

    Microsoft ha testato solo le versioni elencate nella tabella. Se una versione non è elencata nella tabella, significa che non è stata esplicitamente testata da Microsoft, ma potrebbe comunque funzionare.

    Distribuzione Versione
    Server OracleLinux 6.10 [*], 7.3, 7.5, 7.6, 7.7, 7.8, 7.9
    CentOS 6.5 [*], 7.6, 7.7, 7.8, 7.9
    RHEL 7.2, 7.5, 8.0 [*], 8.1, 8.2, 8.6, 8.8
    Ubuntu 14.04, 16.04, 18.04, 20.04, 22.04
    Debian 8, 9, 10, 11 [*]
    SLES 12 SP4 [*], 12 SP5 [*], 15 [*], 15 SP1 [*], 15 SP2 [*], 15 SP4 [*]
    AlmaLinux 8.4, 8.5
    Azure Linux 2.0

Nota

[*] Fare riferimento alla sezione Problemi noti

Nota

[*] Lo scenario HPC si basa sullo strumento HPCDiag, quindi controlla la matrice di supporto per le dimensioni delle VM e i sistemi operativi supportati. In particolare, le macchine virtuali con dimensioni NDv4 non sono ancora supportate e i report per tali macchine virtuali potrebbero mostrare risultati estranei.

Problemi noti

  • RHEL 8 non ha Python installato per impostazione predefinita. Per eseguire PerfInsights Linux, è necessario installare Python 3.6 o una versione successiva.

  • La raccolta di informazioni sull'agente guest potrebbe non funzionare su CentOS 6.x.

  • Le informazioni sui dispositivi PCI non vengono raccolte sulle distribuzioni basate su Debian.

  • Le informazioni sulle macchine virtuali Linux vengono raccolte parzialmente su alcune distribuzioni.

Come eseguo PerfInsights

È possibile eseguire PerfInsights in una macchina virtuale installando Diagnostica delle prestazioni di Azure dal portale di Azure. Puoi anche eseguirlo come strumento autonomo.

Nota

PerfInsights semplicemente raccoglie e analizza i dati. Non apporta alcuna modifica al sistema.

Installa ed esegui PerfInsights dal portale di Azure

Per ulteriori informazioni su questa opzione, vedere Diagnostica delle prestazioni di Azure.

Eseguire PerfInsights in modalità autonoma

Per eseguire lo strumento PerfInsights, attenersi alla seguente procedura:

  1. Scarica PerfInsights.tar.gz in una cartella sulla tua macchina virtuale ed estrai i contenuti utilizzando i seguenti comandi dal terminale.

    wget https://download.microsoft.com/download/9/F/8/9F80419C-D60D-45F1-8A98-718855F25722/PerfInsights.tar.gz
    
    tar xzvf PerfInsights.tar.gz
    
  2. Passare alla cartella che contiene il file perfinsights.py ed eseguire perfinsights.py per visualizzare i parametri della riga di comando disponibili.

    cd <the path of PerfInsights folder>
    sudo python perfinsights.py
    

                                 Screenshot dell'output della riga di comando di PerfInsights Linux.                                           

    La sintassi di base per l'esecuzione di scenari PerfInsights è:

    sudo python perfinsights.py -r <ScenarioName> -d [duration]<H | M | S> [AdditionalOptions]
    

    È possibile utilizzare l'esempio seguente per eseguire lo scenario di analisi rapida delle prestazioni per 1 minuto e creare i risultati nella cartella /tmp/output:

    sudo python perfinsights.py -r quick -d 1M -a -o /tmp/output
    

    È possibile usare l'esempio seguente per eseguire lo scenario di analisi delle prestazioni per 5 minuti e caricare il risultato (archiviato in un file TAR) nell'account di archiviazione:

    sudo python perfinsights.py -r vmslow -d 300S -a -t <StorageAccountName> -k <StorageAccountKey> -i <full resource Uri of the current VM>
    

    È possibile usare l'esempio seguente per eseguire lo scenario di analisi delle prestazioni HPC per 1 minuto e caricare il file TAR dei risultati nell'account di archiviazione:

    sudo python perfinsights.py -r hpc -d 60S -a -t <StorageAccountName> -k <StorageAccountKey> -i <full resource Uri of the current VM>
    

    Nota

    Prima di eseguire uno scenario, PerfInsights chiede all'utente di accettare di condividere le informazioni diagnostiche e di accettare l'EULA. Utilizzare l'opzione -a o --accept-disclaimer-and-share-diagnostics per saltare queste richieste.

    Se si ha un ticket di supporto attivo con Microsoft e si sta eseguendo PerfInsights su richiesta del tecnico di supporto con cui si sta lavorando, assicurarsi di fornire il numero del ticket di supporto utilizzando l'opzione -s o --support-request.

Al termine dell'esecuzione, viene visualizzato un nuovo file tar nella stessa cartella di PerfInsights a meno che non sia specificata alcuna cartella di output. Il nome del file è PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz. Puoi inviare questo file all'agente dell'assistenza per l'analisi o aprire il rapporto all'interno del file per rivedere i risultati e raccomandazioni.

Esamina il rapporto di diagnostica

All'interno del file PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz è possibile trovare un report HTML che descrive in dettaglio i risultati di PerfInsights. Per esaminare il report, espandere il file PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz, quindi aprire il file PerfInsights Report.html.

Scheda Panoramica

La scheda Panoramica fornisce dettagli di esecuzione di base e informazioni sulla macchina virtuale. La scheda Risultati mostra un riepilogo dei consigli di tutte le diverse sezioni del rapporto PerfInsights.

                             Screenshot della scheda Panoramica del report PerfInsights.                                           

                             Screenshot della scheda Risultati del rapporto PerfInsights.                                           

Nota

I risultati classificati come urgenti sono problemi noti che potrebbero causare problemi di prestazioni. I risultati classificati come medi rappresentano configurazioni non ottimali che non causano necessariamente problemi di prestazioni. I risultati classificati come non urgenti sono solo informativi.

Esaminare le raccomandazioni e i collegamenti per tutti i risultati di livello urgente e medio. Informazioni su come possono influire sulle prestazioni e sulle migliori pratiche per le configurazioni ottimizzate per le prestazioni.

scheda CPU

La scheda CPU fornisce informazioni sull'utilizzo della CPU a livello di sistema durante l'esecuzione di PerfInsights. Le informazioni sui periodi di utilizzo elevato della CPU e sui principali consumatori di CPU a lungo termine saranno utili per risolvere i problemi legati alla CPU.

                             Screenshot della scheda CPU report di PerfInsights.                                           

scheda GPU

La scheda GPU fornisce informazioni sui risultati che saranno utili per la risoluzione dei problemi relativi alla GPU.

                             Screenshot della scheda GPU di PerfInsights Report.                                           

Scheda rete

La scheda Rete fornisce informazioni sulla configurazione e lo stato della rete. Le informazioni sui risultati relativi alla rete, inclusi i problemi di InfiniBand nello scenario HPC, sono disponibili qui.

                             Screenshot della scheda Rete.                                           

Scheda Archiviazione

La sezione Risultati mostra vari risultati e consigli relativi all'archiviazione.

Le schede Dispositivi a blocchi e altre sezioni correlate, come Partizioni, LVM e MDADM, descrivono come i dispositivi a blocchi sono configurati e collegati tra loro.

                             Screenshot della scheda Archiviazione.                                           

                             Screenshot della scheda MDADM.                                           

Scheda Linux

La scheda Linux contiene informazioni sull'hardware e sul sistema operativo in esecuzione nella VM. I dettagli includono un elenco dei processi in esecuzione e informazioni su Agente guest, PCI, CPU, GPU, driver e driver LIS.

                             Screenshot della scheda Linux e dei dettagli.                                           

O su una VM abilitata per GPU:

                             Screenshot della scheda GPU nella scheda Linux e i dettagli.                                           

Passaggi successivi

È possibile caricare i log e i report di diagnostica al supporto tecnico Microsoft per un'ulteriore revisione. Quando si collabora con il personale di supporto Microsoft, è possibile che venga richiesto di trasmettere l'output generato da PerfInsights per agevolare il processo di risoluzione dei problemi.

Lo screenshot seguente mostra un messaggio simile a quello che potresti ricevere:

                             Screenshot del messaggio di esempio dal supporto Microsoft。                                           

Seguire le istruzioni nel messaggio per accedere all'area di lavoro di trasferimento file. Per maggiore sicurezza, devi cambiare la tua password al primo utilizzo.

Dopo aver eseguito l'accesso, verrà visualizzata una finestra di dialogo per caricare il file PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz raccolto da PerfInsights.

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.