Come installare Prometheus su Ubuntu 17 Linux

In più occasioni abbiamo parlato della scalabilità che ci offrono le distro Linux avendo migliaia di applicazioni open source che possono essere installate al loro interno e quindi ampliare notevolmente la capacità di utilizzo e sviluppo di servizi e ruoli.

Possiamo trovare applicazioni per tutti i tipi di attività a livello personale o aziendale e oggi Solvetic ne analizzerà in dettaglio una che colpisce per il suo potenziale dinamismo quando si tratta di raccogliere più tipi di metriche e di offrirci report dettagliati che saranno molto utili quando si tratta della nostra gestione e supporto.

Questa applicazione si chiama Prometheus e oggi vedremo come installarla in Ubuntu 17.04 in modo pratico.

Cos'è Prometeo?Prometheus è un potente sistema di monitoraggio open source che raccoglie le metriche dei nostri servizi e le archivia in un database di serie temporali. Ci offre un modello di dati multidimensionale, un linguaggio di query flessibile e varie possibilità di visualizzazione tramite strumenti come Grafana.

Per impostazione predefinita, Prometheus esporta solo le metriche su se stesso, ad esempio il numero di richieste ricevute, il consumo di memoria, tra gli altri. Tuttavia, è possibile estendere Prometheus installando esportatori che sono programmi opzionali che generano metriche aggiuntive e dettagliate di altri aspetti da analizzare.

Questi esportatori si concentrano su infrastrutture, database e server Web in sistemi di messaggistica, API e molti altri.

Alcuni degli esportatori che Prometheus ci offre sono:

node_exporterQuesto esportatore produce metriche sull'infrastruttura dell'apparecchiatura tra cui CPU, memoria e utilizzo del disco rigido corrente, nonché I / O e statistiche di rete (come il numero di byte letti da un disco o il carico medio su un server).

blackbox_exporterCon questo esportatore saremo in grado di generare metriche derivate da protocolli di navigazione come HTTP e HTTPS per determinare la disponibilità degli endpoint, il tempo di risposta e altro.

mysqld_exporterLa funzione di questo esportatore è raccogliere metriche relative a un server MySQL, come il numero di query eseguite, il tempo medio di risposta delle query e lo stato di replica del cluster.

conigliomq_exporterQuesto esportatore genera metriche sul sistema di messaggistica RabbitMQ, inclusi dettagli come il numero di messaggi pubblicati, il numero di messaggi pronti per essere consegnati e la dimensione di tutti i messaggi nella coda.

nginx-vts-exporterCon questo esportatore otterremo metriche su un server web Nginx che utilizza il modulo Nginx VTS, che include il numero di connessioni aperte, il numero di risposte inviate (raggruppate per codici di risposta) e la dimensione totale delle richieste inviate o ricevute in byte.

Caratteristiche di PrometeoAlcune delle caratteristiche più importanti di Prometheus sono:

  • Dimensione dei dati, poiché Prometheus archivia tutti i dati come serie temporali utilizzando flussi di valori temporali che appartengono alla stessa metrica e allo stesso insieme di dimensioni etichettate. Inoltre, Prometheus può generare serie temporali derivate dal tempo come risultato di query.
  • Query dinamiche A questo proposito, Prometheus offre un linguaggio di espressione funzionale attraverso il quale l'utente può selezionare e aggregare dati di serie temporali in tempo reale. Il risultato di un'espressione può essere visualizzato come grafico, visualizzato come dati tabulari nel browser delle espressioni Prometheus o eseguito da sistemi esterni tramite l'API HTTP.
  • Varie opzioni di visualizzazione, poiché Prometheus include Grafana che è disponibile da Grafana 2.5.0 (2015-10-28).
  • Archiviazione efficiente, perché Prometheus dispone di un sofisticato sottosistema di archiviazione locale. Per gli indici, utilizza LevelDB. Per i dati di esempio in blocco, dispone di un proprio livello di archiviazione personalizzato, che organizza i dati di esempio in blocchi di dimensioni costanti (carico utile di 1024 byte). Questi blocchi vengono archiviati su disco in un file per serie temporale.
  • Funzionamento semplice poiché Prometheus è configurato tramite parametri della riga di comando e un file di configurazione. Mentre la riga di comando richiede di configurare parametri di sistema immutabili (come posizioni di archiviazione, quantità di dati da salvare su disco e in memoria), il file di configurazione definisce tutto ciò che riguarda i lavori di scraping e le loro istanze, nonché i file delle regole caricati con l'applicazione .
  • Avvisi precisi, avendo la possibilità di creare regole di avviso che ci consentono di definire condizioni di avviso in base ai valori del linguaggio dell'espressione Prometheus e inviare notifiche sugli avvisi di attivazione a un servizio esterno in un determinato momento e quindi essere consapevoli di qualsiasi cambiamento.
  • Librerie multiple, grazie al fatto che Prometheus ci offre una serie di librerie compatibili come Java o Scala, Python, Rubí, Bash, C++, Common Lisp, Elixir, Erlang, Haskell, Lua per Nginx, Lua per Tarantool, . NET/C#, Node.js, PHP e Rust.
  • Integrazione multipla, poiché abbiamo diverse librerie e server che aiutano a esportare metriche esistenti da sistemi di terze parti a metriche Prometheus, alcune di queste sono esportatore Aerospike, esportatore ClickHouse, esportatore Consul, esportatore CouchDB, esportatore ElasticSearch, esportatore Memcached, esportatore MongoDB, MSSQL esportatore server, esportatore server MySQL, esportatore OpenTSDB, esportatore PgBouncer, esportatore PostgreSQL o esportatore ProxySQL.

Ora vedremo come installare Prometheus su Ubuntu 17.04.

1. Installazione di Nginx

Passo 1
Il primo punto da tenere a mente è che Nginx deve essere installato in Ubuntu, se non lo abbiamo, eseguiremo il seguente comando:

 sudo apt install nginx

Passo 2
Lì inseriremo la lettera S per confermare il download e l'installazione dei pacchetti necessari. Una volta installato, sarà necessario configurare le impostazioni del firewall Ubuntu per consentire l'accesso al servizio Nginx, per questo eseguiremo la seguente riga per elencare le configurazioni delle applicazioni ufw:

 elenco di app sudo ufw

A livello di Nginx abbiamo le seguenti opzioni

  • Nginx Full: questo profilo apre sia la porta 80 (traffico web normale, non crittografato) che la porta 443 (traffico TLS / SSL crittografato)
  • Nginx HTTP: questo profilo apre solo la porta 80 (traffico web normale e non crittografato)
  • Nginx HTTPS: questo profilo apre solo la porta 443 (traffico TLS/SSL crittografato)

Passaggio 3
In questo caso eseguiremo la seguente riga:

 sudo ufw allow 'Nginx HTTP'

Passaggio 4
Possiamo vedere che lo stato del firewall è inattivo, in alcuni casi, e deve essere necessario attivarlo, per questo eseguiamo quanto segue:

 sudo ufw enable

Una volta configurati questi parametri nel firewall, continuiamo con l'installazione di Prometheus.


Accedi Iscriviti!

wave wave wave wave wave