Articoli

Prometheus: la piattaforma per monitorare software e hardware

Prometheus è un sistema open source per il monitoraggio e l’alerting. Prometheus raccoglie ed archivia metriche sotto forma di “time series data” permettendo di aggiungere alle informazioni standard, come il timestamp, degli elementi chiamati “label” che arricchiscono la metrica. Prometheus è deployable sia on-premise sia con soluzioni completamente gestite come Google Cloud Managed Service for Prometheus e può essere integrato in qualsiasi architettura IT.

Contattaci subito e senza impegno per integrare Prometheus nella tua architettura IT.

Cosa sono le metriche

Prima di parlare delle caratteristiche, delle componenti e di una classica architettura di Prometheus ti vogliamo fornire brevi informazioni sul concetto di metrica al fine di farti comprendere appieno come sfruttarle per monitorare i tuoi sistemi ed applicazioni.

Le metriche altro non sono che misurazioni numeriche agnostiche cioè completamente indipendenti dal sistema o servizio da monitorare. Il termine “time series” si riferisce al fatto che vengono registrati i cambiamenti nel passare del tempo. Le metriche implementano il concetto di observability, vale a dire la capacità di saper monitorare le componenti e le architetture in uso.

Le misurazioni cambiano e si adattano in base a cosa vuoi monitorare, per es. per un Web Server potrebbe essere il numero di richieste, per un database il numero delle query attive e così via. Prometheus è adattabile a qualsiasi contesto operativo e permette alle metriche di giocare un importante ruolo nella comprensione di come lavorano ed operano quotidianamente le tue applicazioni ed i tuoi servizi.

Attraverso le metriche puoi stabilire trigger che attivano alert in determinate condizioni, per es. quando le richieste superano una determinata soglia, l’applicazione diventa lenta ed è quindi necessario attivare algoritmi di scalabilità. Quelli citati sono solo alcuni semplici esempi, Prometheus è talmente flessibile, come scoprirai fra poco, che può essere parte attiva in qualsiasi necessità di monitoraggio applicativo e di architetture IT complesse.

Contattaci subito e senza impegno per integrare Prometheus nella tua architettura IT.

Le funzionalità di Prometheus

Le funzionalità principali di Prometheus sono:

  • un data model multidimensionale identificato anche grazie alle label ( per un approfondimento puoi leggere il seguente articolo);
  • PromQL, un query language flessibile e perfettamente adatto al data model;
  • nessuna dipendenza, ogni nodo è autonomo;
  • semplicità nella collection dei time series data grazie al tradizionale strumento del pull su HTTP;
  • possibilità di attivare il pushing dei time series data attraverso un gateway;
  • possibilità di “scoprire” i target attraverso un tool di service discovery;
  • integrazione con differenti tool di dashboard come Grafana.

Contattaci subito e senza impegno per integrare Prometheus nella tua architettura IT.

Le componenti e la tipica architettura di Prometheus

Prometheus ha a corredo una serie di componenti, la maggior parte delle quali è opzionale e viene fornita per essere adattato a qualsiasi esigenza di monitoraggio. Tra queste:

  • la principale è rappresentata dal server Prometheus che ha il compito fondamentale di effettuare la raccolta e l’archiviazione dei time series data;
  • le librerie di client per integrare i tuoi client con il server, praticamente coprono qualsiasi esigenza da applicazioni sviluppate in Go, Java, Python, Ruby, Rust, Node.js, Perl, Lua fino ad esigenze personalizzate attraverso la possibilità di sviluppare la propria libreria;
  • un push gateway al fine di permettere a workload ad hoc di esporre le proprie metriche a Prometheus;
  • numerosi exporter che concettualmente funzionano come le librerie ma nascono per servizi di terze parti e permettono di esportare le metriche in Prometheus. Anche qui coprono qualsiasi esigenza come MongoDB,CouchDB, MSSQL, MySQL, Redis, Jira, Kafka, MQTT, ecc..ed anche hardware come Nvidia, Windows, IoT, Fortigate, Network, ecc….);
  • un gestore degli alert per effettuare le operazioni classiche sugli alert.

Considerando le componenti, come puoi immaginare, l’architettura è abbastanza semplice: ad un server Prometheus centrale si collegano librerie, exporter e push gateway per la raccolta delle informazioni ( che è di tipo pull), infine si collega al server l’alert manager per notificare o effettuare operazioni sugli alert ed uno strumento come Grafana per visualizzare le metriche e/o un servizio API ad hoc che esporta le metriche raccolte in strumenti di analisi.

In poche parole, con Prometheus, hai una piattaforma affidabile e flessibile per raccogliere ed analizzare le metriche time series di qualsiasi servizio o strumento anche hardware.

Contattaci subito e senza impegno per integrare Prometheus nella tua architettura IT.

Glue Labs e Prometheus

Abbiamo integrato Prometheus sia on-premise sia in Cloud personalizzando le metriche grazie alle competenze avanzate in ambito sviluppo applicativo. Grazie all’esperienza maturata in tantissimi settori, con numerosi Clienti e con un solido gruppo aziendale ti forniamo assistenza e supporto  nella configurazione, nell’implementazione e nell’integrazione di Prometheus in qualsiasi architettura IT. Contattaci subito e senza impegno per maggiori informazioni.