GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Prometheus su Ubuntu 18.04

Prometheus è un potente sistema di monitoraggio e avviso open source adatto ad ambienti dinamici come nello spazio Cloud. È un progetto autonomo mantenuto dalla comunità con molte aziende e organizzazioni che contribuiscono al suo codice sorgente. La maggior parte dei componenti di Prometheus sono scritti in Go, il che li rende facili da costruire e distribuire come binari statici. Raramente dovresti compilare l'applicazione dal codice.

Prometheus è in grado di registrare qualsiasi serie temporale puramente numerica, sia per il monitoraggio incentrato sulla macchina come i sistemi Linux, sia per il monitoraggio di architetture orientate ai servizi altamente dinamiche. Strumenti di visualizzazione come Grafana supportano l'interrogazione di Prometheus con l'origine dati Grafana per Prometheus inclusa da Grafana 2.5.0.

In questa guida tratteremo come installare Prometheus sul server Ubuntu 18.04.

Componenti di Prometeo

L'ecosistema Prometheus comprende vari componenti che insieme lavorano per fornire un sistema completo di monitoraggio e allerta. La maggior parte dei componenti è opzionale e devi solo installarli su richiesta. I componenti principali sono:

  • Server Prometheus:estrae e archivia i dati delle serie temporali dai sistemi e dalle applicazioni client.
  • Esportatori:utilizzati per esportare metriche esistenti da sistemi di terze parti come metriche Prometheus.
  • Un gestore di avvisi utilizzato per gestire gli avvisi
  • Le librerie client per la strumentazione del codice dell'applicazione

Caratteristiche di Prometeo

Le caratteristiche principali di Prometheus sono:

  • un modello di dati multidimensionale con dati di serie temporali identificati dal nome della metrica e coppie chiave/valore
  • Ha un linguaggio di query molto flessibile per sfruttare il suo modello multidimensionale
  • I nodi del server singolo sono autonomi e non si basano sullo storage distribuito.
  • La raccolta di serie temporali di Prometheus utilizza il modello pull su protocollo HTTP
  • Ha il rilevamento automatico del servizio di destinazioni e i file di configurazione possono essere utilizzati per lo stesso.
  • Il push delle serie temporali è supportato tramite un gateway intermedio
  • Prometheus supporta diverse modalità di rappresentazione grafica e dashboard

Installazione di Prometheus su Ubuntu 18.04

Poiché Prometheus è scritto in Go, i suoi pacchetti sono distribuiti come binari. Al momento della stesura di questo articolo, l'ultima versione di Prometheus è v2.2.1 . Puoi controllare le versioni dalla pagina di download ufficiale. I pacchetti forniti sono per i sistemi operativi macOS, Linux e Windows, quindi assicurati di scaricare il pacchetto corretto.

$ sudo su -
$ export RELEASE="2.2.1"
$ wget https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz

Dopo aver scaricato l'archivio, estrailo usando tar.

$ tar xvf prometheus-${RELEASE}.linux-amd64.tar.gz
prometheus-2.2.1.linux-amd64/
prometheus-2.2.1.linux-amd64/consoles/
prometheus-2.2.1.linux-amd64/consoles/index.html.example
prometheus-2.2.1.linux-amd64/consoles/node-cpu.html
prometheus-2.2.1.linux-amd64/consoles/node-disk.html
prometheus-2.2.1.linux-amd64/consoles/node-overview.html
prometheus-2.2.1.linux-amd64/consoles/node.html
prometheus-2.2.1.linux-amd64/consoles/prometheus-overview.html
prometheus-2.2.1.linux-amd64/consoles/prometheus.html
prometheus-2.2.1.linux-amd64/console_libraries/
prometheus-2.2.1.linux-amd64/console_libraries/menu.lib
prometheus-2.2.1.linux-amd64/console_libraries/prom.lib
prometheus-2.2.1.linux-amd64/prometheus.yml
prometheus-2.2.1.linux-amd64/LICENSE
prometheus-2.2.1.linux-amd64/NOTICE
prometheus-2.2.1.linux-amd64/prometheus
prometheus-2.2.1.linux-amd64/promtool

Passa alla directory appena creata dalle estrazioni di file.

# cd prometheus-${RELEASE}.linux-amd64/

Crea gruppo di sistema Prometheus

Prometheus ha bisogno del proprio utente e gruppo per funzionare come.

# groupadd --system prometheus
# grep prometheus /etc/group
prometheus:x:999:

Crea utente del sistema Prometheus

Ora che abbiamo il gruppo Prometheus, creiamo un utente e gli assegniamo il gruppo creato.

# useradd -s /sbin/nologin -r -g prometheus prometheus
# id prometheus
uid=999(prometheus) gid=999(prometheus) groups=999(prometheus)

Crea configurazione e directory di dati per Prometheus

Prometheus ha bisogno di una directory per memorizzare i suoi dati e file di configurazione. Creeremo /var/lib/prometheus per dati e /etc/prometheus per i file di configurazione.

# mkdir -p /etc/prometheus/{rules,rules.d,files_sd}  /var/lib/prometheus

Copia i file binari di Prometheus in una directory nel tuo $PATH

La directory preferita per inserire binari di terze parti su Linux è /usr/local/bin/ poiché è in $PATH per impostazione predefinita e non interferisce con i binari di sistema.

# cp prometheus promtool /usr/local/bin/
# ls /usr/local/bin/
prometheus promtool

Copia console e console_libraries nella directory dei file di configurazione

I file e le librerie della console devono essere collocati in /etc/prometheus/ directory.

# cp -r consoles/ console_libraries/ /etc/prometheus/

Crea file di unità systemd:

Ubuntu 18.04 utilizza il sistema systemd init per impostazione predefinita, è necessario creare un file di unità di servizio per la gestione del servizio Prometheus. Metteremo il file in /etc/systemd/system directory. Il nome del file deve terminare con .service

# cat /etc/systemd/system/prometheus.service

[Unit]
Description=Prometheus systemd service unit
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/local/bin/prometheus \
--config.file=/etc/prometheus/prometheus.yml \
--storage.tsdb.path=/var/lib/prometheus \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries \
--web.listen-address=0.0.0.0:9090

SyslogIdentifier=prometheus
Restart=always

[Install]
WantedBy=multi-user.target

Nota che:

  • Leghiamo il servizio a 0.0.0.0:9090 . Questo sarà accessibile da tutte le interfacce di rete sul server. Limitalo specificando l'indirizzo IP per l'interfaccia che desideri utilizzare, 127.0.0.1 solo per l'accesso locale.
  • Il file di configurazione specificato è /etc/prometheus/prometheus.yml . Creeremo un file di configurazione di base da utilizzare successivamente.

Crea file di configurazione Prometheus

Questo verrà inserito in /etc/prometheus/ directory.

# cat  /etc/prometheus/prometheus.yml
# Global config
global: 
 scrape_interval: 15s # Set the scrape interval to every 15 seconds.
 evaluation_interval: 15s # Evaluate rules every 15 seconds. 
 scrape_timeout: 15s # scrape_timeout is set to the global default (10s).

# A scrape configuration containing exactly one endpoint to scrape:# Here it's Prometheus itself.
scrape_configs:
 # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
 - job_name: 'prometheus'

# metrics_path defaults to '/metrics'
 # scheme defaults to 'http'.

static_configs:
 - targets: ['localhost:9090']

Per ulteriori opzioni di configurazione, fare riferimento alla guida alla configurazione ufficiale di Prometheus.

Modifica i permessi della directory per l'utente e il gruppo Prometheus

La proprietà dei file e dei dati di Prometheus dovrebbe essere l'utente e il gruppo.

# chown -R prometheus:prometheus /etc/prometheus/  /var/lib/prometheus/
# chmod -R 775 /etc/prometheus/ /var/lib/prometheus/

Avvia e abilita il servizio Prometheus

Avvia e abilita l'avvio del servizio Prometheus all'avvio.

# systemctl start prometheus
# systemctl enable prometheus
Created symlink from /etc/systemd/system/multi-user.target.wants/prometheus.service to /etc/systemd/system/prometheus.service.

Verifica lo stato:

# systemctl status prometheus


Conferma che la porta 9090 è in ascolto.

# netstat -tunlp | grep 9090
tcp6 0 0 :::9090 :::* LISTEN 2140/prometheus

# telnet 127.0.0.1 9090
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
^]
If you have a firewall like ufw, Open port 9090 to be able to access it from a remote device.

# ufw allow 9090
Rule added
Rule added (v6)

Per consentire una rete specifica, utilizza:

# ufw allow from 192.168.10.0/24 to any port 9090
Rule added

# ufw status
Status: active

To Action From
-- ------ ----
9090 ALLOW Anywhere 
9090 ALLOW 192.168.10.0/24 
9090 (v6) ALLOW Anywhere (v6)

Per ottenere l'interfaccia Web, apri http://ip:9090

La prossima cosa che potresti voler dare un'occhiata è la configurazione di Vari esportatori per la raccolta e la visualizzazione delle metriche. Il miglior punto di partenza è la pagina Strumentazione degli esportatori.


Ubuntu
  1. Come installare Odoo su Ubuntu

  2. Come installare Maven su Ubuntu

  3. Come installare R su Ubuntu 16.04

  4. Come installare Vai su Ubuntu 18.04

  5. Come installare Prometheus su Ubuntu 20.04

Come installare lo strumento di monitoraggio Prometheus su Ubuntu 20.04

Come installare qt su Ubuntu 20.04

Come installare Prometheus su Ubuntu 16.04 LTS

Come installare Prometheus su Ubuntu 20.04 LTS

Come installare Go in Ubuntu 20.04

Come installare Vai su Ubuntu 22.04