Introduzione

Prometheus è un popolare sistema di monitoraggio e allerta open source, utilizzato in molte applicazioni moderne.

Il tool supporta specifiche tipologie di metriche delle quali raccoglie valori cumulativi effettuando un “pull” via HTTP delle informazioni relative e memorizzandole all’interno di un proprio database, ai fini dell’archiviazione temporale, della consultazione successiva o anche propedeutica per la generazione di eventuali alert per la segnalazione di problematiche (es. esaurimento spazio su disco, endpoint non in salute, ecc.).

La definizione, raccolta dati ed esportazione delle metriche è demandata ad appositi client previsti per diversi linguaggi, alcuni ufficiali (sviluppati direttamente dal team di Prometheus), altri invece “semi ufficiali” distribuiti da terze parti.

La libreria client che ho sviluppato permette ai programmatori Delphi di integrare facilmente i loro progetti con questo sistema di monitoraggio.

Dettagli

La libreria client Delphi per Prometheus è stata progettata per essere facile da usare e offre molte funzionalitĂ  utili per la raccolta delle metriche finalizzata alla loro memorizzazione nel tempo e all’eventuale generazione di alert tramite lo scraping effettuato dal server dello stesso Prometheus.

Con questa libreria, è quindi possibile monitorare le prestazioni delle applicazioni in tempo reale e raccogliere dati sulle attivitĂ  dei sistemi, esponendole nei formati compatibili dal tool Prometheus. L’ottenimento di informazioni preziose sulle prestazioni e sul comportamento delle applicazioni Delphi e del sistema nel quale girano consentono di prendere tempestivamente decisioni basate su tali dati per migliorare l’architettura.

Ecco alcune delle funzionalitĂ  supportate:

  • Metriche di base: la libreria consente di definire alcune metriche di base supportate da Prometheus per tenere traccia di alcuni valori rilevanti nella tua applicazione, come il numero di volte in cui si è verificato un evento o la quantitĂ  corrente di memoria allocata e così via.

  • Etichette: si tratta di coppie chiave-valore che ti consentono di aggiungere ulteriore contesto alle tue metriche.

  • Collector personalizzati: la libreria consente di definire dei collector personalizzati che possono essere utilizzati per raccogliere metriche da qualsiasi fonte.

Codice sorgente

La libreria è rilasciata open source ed è pubblicata sul sito GitHub.

Scarica il codice sorgente