Iscriviti per attivare i feed RSS

In questo articolo scoprirai di più su Performance Co-Pilot (PCP) e su come utilizzare questo strumento per monitorare sistemi e applicazioni per Red Hat Ansible Automation Platform.

Cos'è Performance Co-Pilot (PCP)?

PCP è un framework open source sviluppato da Red Hat, che monitora e analizza le prestazioni. Offre una suite di strumenti, librerie e servizi utili per monitorare, raccogliere e analizzare le metriche delle prestazioni di diversi sistemi, servizi e applicazioni. È progettato per la scalabilità e offre un monitoraggio completo e in tempo reale di singoli server così come di reti distribuite di macchine.

Funzioni principali di PCP

  1. Scalabilità: PCP può essere utilizzato per monitorare sia sistemi singoli che ambienti distribuiti.
  2. Raccolta di dati da più sorgenti: inclusi sistema operativo, database, interfacce di rete e applicazioni personalizzate.
  3. Estendibilità: puoi aggiungere in qualsiasi momento nuove metriche sviluppando agenti o estensioni personalizzati.
  4. Archiviazione e raccolta: PCP conserva i dati sulle prestazioni, affinché tu possa consultarli quando ti servono, e recupera i dati in tempo reale.
  5. Monitoraggio in tempo reale: le metriche riportate riflettono la situazione attuale, per consentirti di avere le prestazioni sempre sotto controllo.
  6. Interfacce grafiche e a riga di comando: strumenti grafici (come pmchart) e a riga di comando (come pminfo, pmval e pmlogsummary) ti consentono di monitorare e analizzare i dati sulle prestazioni.

Componenti tipici

  • Performance Metrics Collector Daemon (PMCD): daemon centrale che raccoglie le metriche dagli agenti.
  • Performance Metrics Name Space (PMNS): uno spazio dei nomi gerarchico che organizza le metriche delle prestazioni.
  • Performance Metrics Inference Engine (PMIE): uno strumento per attivare avvisi o azioni in base alle metriche in tempo reale.
  • PMLogger: registra le metriche delle prestazioni per analizzarle in seguito.
  • PMProxy: funge da protocollo proxy, consentendo a PCP di monitorare i client per collegare una o più istanze PMCD tramite PMProxy.

Scenari di utilizzo

  • Analisi delle prestazioni del sistema: PCP monitora CPU, memoria, I/O del disco, utilizzo della rete e altre metriche di sistema.
  • Monitoraggio delle applicazioni: PCP monitora applicazioni o servizi specifici per tenere sotto controllo il consumo delle risorse e le tendenze nelle prestazioni.
  • Analisi dei dati storici: archivia i dati sulle prestazioni nel tempo per analizzare le tendenze in senso diacronico o eseguire una verifica diagnostica dopo guasti del sistema.

Perché usare PCP per monitorare Ansible Automation Platform?

Ecco alcuni motivi per cui PCP è utile per monitorare Ansible Automation Platform:

  1. Approfondimenti sulle prestazioni: fornisce dati metrici dettagliati sulle prestazioni di Ansible Automation Platform per identificare i colli di bottiglia e utilizzare le risorse al meglio.
  2. Rilevamento proattivo dei problemi: monitorando costantemente le prestazioni puoi rilevare potenziali problemi prima che diventino significativi e risolverli proattivamente.
  3. Gestione delle risorse: monitorando l'utilizzo delle risorse (CPU, memoria, I/O del disco) puoi pianificare in modo efficace la capacità ed evitare i conflitti che impedirebbero il corretto funzionamento dell'ambiente di automazione.
  4. Scalabilità: le soluzioni per l'automazione sono in costante crescita, monitorando la situazione puoi valutare quando e come distribuire l'infrastruttura Ansible Automation Platform e gestire carichi di lavoro più sostanziosi senza compromettere le prestazioni.
  5. Controllo e conformità: mantieni la conformità con le normative interne ed esterne, grazie a un chiaro percorso di audit delle attività di automazione e dell'utilizzo delle risorse.
  6. Integrazione con altri strumenti: puoi integrare PCP con altri sistemi di monitoraggio e avviso, per avere una visione completa dell'infrastruttura e migliorare la risposta agli incidenti.
  7. Esperienza utente: i team che si affidano ad Ansible Automation Platform per la gestione del deployment e della configurazione possono contare su attività di automazione efficienti e su un'esperienza utente complessivamente migliorata.
  8. Analisi dei dati storici: PCP conserva i dati storici sulle prestazioni, consentendoti di analizzare le tendenze nel tempo, una capacità essenziale per prendere decisioni informate su modifiche o perfezionamenti futuri all'infrastruttura.

In conclusione, se utilizzi PCP per monitorare Ansible Automation Platform puoi migliorare prestazioni, affidabilità ed efficienza, perché le iniziative a favore dell'automazione ti consentano di raggiungere i tuoi obiettivi aziendali.

Configurazione del monitoraggio di Ansible Automation Platform tramite PCP

Puoi configurare il monitoraggio di Ansible Automation Platform sia per le installazioni tradizionali che per quelle containerizzate su macchine virtuali (VM) al momento. Per attivarlo devi assegnare il valore booleanosetup_monitoring a True nel file di inventario di configurazione nella sezione [all:vars]. Ad esempio:

[all:vars]
setup_monitoring = True

In questo modo il programma di installazione eseguirà il ruolo di monitoraggio per configurare PCP nel cluster Ansible Automation Platform, installando e attivando i servizi necessari, come pcp, pmcd e pmproxy. Nelle distribuzioni tradizionali basate su RPM, PCP viene installato tramite DNF ed eseguito tramite systemd, mentre nei sistemi containerizzati viene eseguito in un container, insieme a tutti gli altri componenti di Ansible Automation Platform. Il programma di installazione configura anche Performance Metric Domain Agent (PMDA), che sono plug-in eseguiti come daemon per pmcd, che monitorano componenti chiave come nginx, redis, postgres e openmetrics sugli host di Ansible Automation Platform.

Nelle installazioni tradizionali il nodo gateway è l'hub centrale per la raccolta delle metriche PCP provenienti da tutti i nodi del cluster Ansible Automation Platform, in modo che questi dati siano archiviati in modo efficace.

PCP utilizza la porta 44322 per esporre le metriche, quindi verifica che sia aperta per i gruppi di sicurezza, se servisse. In caso contrario, le metriche possono comunque essere consultate sull'host con strumenti della riga di comando PCP, ma sono disponibili solo localmente, non possono essere aggregate con strumenti esterni.

Al termine della configurazione puoi accedere tramite ssh a qualsiasi nodo gateway ed eseguire il comando seguente per consultare tutte le metriche raccolte da PCP.

Recupero delle metriche archiviate

Puoi recuperare le metriche da un archivio utilizzando gli strumenti dell'interfaccia della riga di comando di PCP; considera che nelle installazioni tradizionali in genere gli archivi possono trovarsi al percorso  /var/log/pcp/pmlogger/.

Ad esempio:

/var/log/pcp/pmlogger/controller.example.com/20241004.00.10

Nelle installazioni containerizzate invece si trovano in /home/ansible/aap/pcp_archives.

Ad esempio:

/home/ansible/aap/pcp_archives/controller.example.com/20241004.00.10

Esempi

  • Per vedere un elenco di tutte le metriche abilitate quando è stato creato l'archivio, immetti il comando seguente:

    # pminfo --archive <ARCHIVE_FILE_LOCATION>
  • Per vedere l'host e il periodo coperto da un archivio, immetti il comando seguente:

    # pmdumplog -l <ARCHIVE_FILE_LOCATION>
  • Per vedere un elenco delle operazioni di scrittura su disco per ciascuna partizione nel periodo coperto dall'archivio usa il comando:

    # pmval --archive <ARCHIVE_FILE_LOCATION> \
    -f 1 disk.partitions.write
  • Per vedere un elenco delle operazioni di scrittura su disco per ciascuna partizione nel periodo coperto dall'archivio, con un intervallo di 2 secondi, nel periodo compreso tra le 14:00 e le 14:15, usa il comando:

    # pmval --archive <ARCHIVE_FILE_LOCATION> \
    -d -t 2sec \
    -f 3 disk.partitions.write \
    -S @14:00 -T @14:15
  • Per vedere un elenco dei valori medi di tutte le metriche delle prestazioni, inclusi l'ora e il valore minimo/massimo, nel periodo compreso tra le 14:00 e le 14:30 e formattare i valori come tabella, usa il comando:

    # pmlogsummary <ARCHIVE_FILE_LOCATION> \
    -HlfiImM \
    -S @14:00 \
    -T @14:30 \
    disk.partitions.write \
    mem.freemem
  • Per visualizzare le metriche di sistema archiviate in un archivio, a partire dalle 14:00, in modo interattivo, simile a quello usato dallo strumento top, usa il comando:

    # pcp --archive <ARCHIVE_FILE_LOCATION> \
    -S @14:00 \
    atop

Conclusioni

È essenziale monitorare Ansible Automation Platform per garantire l'affidabilità, le prestazioni e la protezione dei servizi che supporta. Ti aiuta a rilevare e risolvere in tempo reale problemi come tempi di risposta lenti, errori del server e vulnerabilità nella sicurezza, riducendo al minimo i tempi di fermo e le potenziali interruzioni. Monitorando continuamente metriche fondamentali, come traffico, utilizzo e consumo delle risorse, la piattaforma funziona al meglio.

Altre risorse

product trial

Red Hat Ansible Automation Platform | Versione di prova del prodotto

Scarica una versione di prova gratuita di 60 giorni di Red Hat Ansible Automation Platform, che include l'accesso al nostro software di gestione del sistema e analisi predittiva.

Sull'autore

Nikhil Jain is a Principal Software Engineer with Red Hat’s Performance and Scale Engineering team who focuses on the testing, analysis and improvement of Red Hat Ansible Automation Platform products and services.
Read full bio

Ricerca per canale

automation icon

Automazione

Novità sull'automazione IT di tecnologie, team e ambienti

AI icon

Intelligenza artificiale

Aggiornamenti sulle piattaforme che consentono alle aziende di eseguire carichi di lavoro IA ovunque

open hybrid cloud icon

Hybrid cloud open source

Scopri come affrontare il futuro in modo più agile grazie al cloud ibrido

security icon

Sicurezza

Le ultime novità sulle nostre soluzioni per ridurre i rischi nelle tecnologie e negli ambienti

edge icon

Edge computing

Aggiornamenti sulle piattaforme che semplificano l'operatività edge

Infrastructure icon

Infrastruttura

Le ultime novità sulla piattaforma Linux aziendale leader a livello mondiale

application development icon

Applicazioni

Approfondimenti sulle nostre soluzioni alle sfide applicative più difficili

Virtualization icon

Virtualizzazione

Il futuro della virtualizzazione negli ambienti aziendali per i carichi di lavoro on premise o nel cloud