GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Prometheus su CentOS 8 / RHEL 8

Prometeo è uno strumento open source di monitoraggio, interrogazione e avviso. Originariamente creato da Soundcloud nel 2012, lo strumento ricco di funzionalità è stato adottato da diverse aziende per monitorare la propria infrastruttura IT e garantire che tutti i sistemi funzionino senza intoppi. Prometheus ti consente di eseguire query ed estrarre metriche di serie temporali come l'utilizzo della CPU e della memoria tramite il protocollo HTTP e visualizzarli su grafici in tempo reale. Puoi anche configurare Prometheus per inviare avvisi in caso di inattività di un nodo o di un servizio e integrarlo con altri strumenti di monitoraggio di terze parti come Grafana per una migliore visualizzazione dei dati. In questa guida, esamineremo l'installazione di Prometheus sul sistema CentOS 8/RHEL 8.

Fase 1) Creazione di un utente e gruppo Prometheus

Per iniziare, creeremo un utente di sistema per Prometheus. Esegui il comando seguente per ottenere ciò.

[[email protected] ~]# useradd -m -s /bin/false prometheus
[[email protected] ~]# id prometheus
uid=1002(prometheus) gid=1002(prometheus) groups=1002(prometheus)
[[email protected] ~]#

Come avrai notato, l'utente del sistema non ha autorizzazioni di accesso come specificato nell'opzione /bin/false

Fase 2) Creazione delle directory di configurazione per Prometheus

Una volta creato l'utente per Prometheus, creeremo directory di configurazione nelle directory /etc e /var che memorizzeranno i file e i dati di configurazione di Prometheus. Quindi esegui i comandi seguenti:

[[email protected] ~]# mkdir /etc/prometheus
[[email protected] ~]# mkdir /var/lib/prometheus

Imposta la proprietà su /var/lib/prometheus

[[email protected] ~]# chown prometheus /var/lib/prometheus/

Passaggio 3) Download del file tar di Prometheus

Con le directory in atto, ora possiamo scaricare Prometheus. Per ottenere l'ultima versione, vai alla pagina Download per ottenere l'ultima versione per il tuo ambiente. Al momento della stesura di questo articolo, l'ultima versione era la v 2.14.0. In alternativa, esegui semplicemente il comando qui sotto

[[email protected] ~]# dnf install wget -y
[[email protected] ~]# wget https://github.com/prometheus/prometheus/releases/download/v2.14.0/prometheus-2.14.0.linux-amd64.tar.gz -P /tmp

Una volta completato il download, estrai il file tarball come mostrato

[[email protected] tmp]# tar -zxpvf prometheus-2.14.0.linux-amd64.tar.gz

Questo ti lascerà con una directory chiamata prometheus-2.14.0.linux-amd64

Usa il comando tree per visualizzare la struttura della directory,

La directory estratta contiene 2 file binari prometheus e promtool e che dobbiamo copiare nel percorso /usr/local/bin.

Quindi, vai alla directory estratta e copiali usando il comando:

[[email protected] ~]# cd /tmp/prometheus-2.14.0.linux-amd64
[[email protected] prometheus-2.14.0.linux-amd64]# cp prometheus  /usr/local/bin

Fai lo stesso con l'altro file binario

[[email protected] prometheus-2.14.0.linux-amd64]# cp promtool  /usr/local/bin

Fase 4) Creazione di un file di configurazione per Prometheus

Per iniziare con la configurazione, crea un file /etc/prometheus/prometheus.yml e incolla la configurazione nel file

[[email protected] ~]# vi /etc/prometheus/prometheus.yml
# Global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. 
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. 
  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']

Questo monitorerà solo il tuo sistema locale (Prometheus Server).

Quindi, regola il firewall come segue per consentire connessioni esterne al server tramite la porta 9090

[[email protected] ~]# firewall-cmd --add-port=9090/tcp --permanent
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]#

Fase 5) Creazione di un file di servizio Systemd per Prometheus Server

Per poter gestire Prometheus come servizio utilizzando systemd, dobbiamo creare un file di sistema per esso. Quindi, crea il file come mostrato e incolla il contenuto,

[[email protected] ~]# vi /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus Time Series Collection and Processing Server
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
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

[Install]
WantedBy=multi-user.target

Per rendere effettive le modifiche, ricarica il systemctl,

[[email protected] ~]# systemctl daemon-reload

Ora avvia e abilita Prometheus per l'esecuzione all'avvio

[[email protected] ~]# systemctl start prometheus
[[email protected] ~]# systemctl enable prometheus

Per essere certo che Prometheus sia in esecuzione, esegui il comando:

[[email protected] ~]# systemctl status prometheus

Dall'output visualizzato, possiamo vedere chiaramente che Prometheus funziona come previsto senza errori. Inoltre, puoi utilizzare l'utilità netstat per verificare se il servizio è in ascolto sulla porta 9090.

[[email protected] ~]# netstat -tunlp

È fantastico! Prometheus è in esecuzione sulla porta 9090 come previsto. Ora vai al tuo browser mentre sfoglia l'IP del tuo server come mostrato

http://ip-server:9090

Fai clic su "Stato ' e quindi fare clic su 'Target '

Il tuo sistema verrà visualizzato come mostrato

Passaggio 6) Installa e configura node_exporter

Esportatore di nodi è un'utilità che raccoglie e fornisce una vasta gamma di parametri di sistema Linux come CPU, utilizzo della memoria, filesystem e statistiche di rete. In questa sezione, installeremo node_exporter sul server Prometheus e su un host Linux CentOS 8 remoto e monitoreremo le metriche di sistema sui due host.

Sul nodo Prometheus creeremo un utente di sistema per node_exporter.

[[email protected] ~]# useradd -m -s /bin/false node_exporter

Quindi, vai alla pagina dei download di Prometheus e scarica il tarball node_exporter o usa sotto wget to command per scaricarlo dalla riga di comando,

[[email protected] ~]# wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz

Dopo aver scaricato il file node_exporter, procedi ed estrailo come mostrato

[[email protected] ~]# tar -zxpvf node_exporter-0.18.1.linux-amd64.tar.gz

Puoi controllare il contenuto della cartella estratta usando il comando tree come mostrato

[[email protected] ~]# tree node_exporter-0.18.1.linux-amd64

Quindi, copia il file binario chiamato node_exporter al percorso /usr/local/bin

[[email protected] ~]# cp node_exporter-0.18.1.linux-amd64/node_exporter /usr/local/bin

Quindi, imposta i permessi del file node_exporter che è stato copiato come mostrato

[[email protected] ~]# chown node_exporter:node_exporter /usr/local/bin/node_exporter

Successivamente, dobbiamo configurare node_exporter per l'esecuzione come servizio. Quindi, procedi e crea un file di servizio systemd come mostrato

[[email protected] ~]# vi /etc/systemd/system/node_exporter.service

Quindi incolla la configurazione mostrata di seguito e salva il file

[Unit]
Description=Prometheus Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target

Per rendere effettive le modifiche, ricarica systemd manager con il comando:

[[email protected] ~]# systemctl daemon-reload

Quindi, avvia e abilita il servizio node_exporter

[[email protected] ~]# systemctl start node_exporter
[[email protected] ~]# systemctl enable node_exporter

Solo per essere sicuro che il servizio sia in esecuzione, esegui:

[[email protected] ~]# systemctl status node_exporter

Solo per essere sicuro che il servizio sia in esecuzione, utilizza l'utilità netstat per verificare se è in ascolto sulla porta 9100 come previsto per impostazione predefinita.

[[email protected] ~]# netstat -pnltu | grep 9100
tcp6       0      0 :::9100       :::*          LISTEN      3472/node_exporter
[[email protected] ~]#

Perfetto! Il servizio Node_exporter è in esecuzione come previsto.

Quindi, apri la porta 9100 nel firewall come mostrato

[[email protected] ~]# firewall-cmd --add-port=9100/tcp  --permanent
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]#

Ripeti i passaggi descritti anche per il sistema Linux CentOS 8 remoto.

Infine, è necessario aggiungere la destinazione node_exporter al file prometheus.yml. Aggiungi le righe seguenti per definire node_exporter per il server Prometheus

[[email protected] ~]# vi /etc/prometheus/prometheus.yml
---------
 - job_name: 'node_exporter'
   static_configs:
   - targets: ['localhost:9100']

Riavvia il servizio Prometeo

[[email protected] ~]# systemctl restart prometheus

Ancora una volta, vai al tuo browser, fai clic su "Stato ' e fai clic su 'Target '

Assicurati di osservare un nuovo endpoint sul browser chiamato node_exporter per il server Prometheus

Per aggiungere un endpoint per il sistema Linux remoto torna a prometheus.yml file e aggiungi la riga sottostante

– obiettivi:['192.168.10.90:9100']

La sezione node_exporter dovrebbe ora assomigliare a questa

 - job_name: 'node_exporter'
   static_configs:
   - targets: ['localhost:9100']
   - targets: ['192.168.10.90:9100']

Salva le modifiche e riavvia il servizio Prometheus

[[email protected] ~]# systemctl restart prometheus

Aggiorna il browser e nota il secondo endpoint che è stato aggiunto per il sistema Linux CentOS remoto

Per assicurarti di ricevere le metriche, dai tuoi nodi configurati. usa semplicemente il comando curl come segue:

# curl http://node-ip:9100/metrics

Ad esempio, per visualizzare le metriche dal server Prometheus esegui:

[[email protected] ~]# curl http://localhost:9100/metrics

Per l'host remoto CentOS 8, ho eseguito il comando:

[[email protected] ~]# curl http://192.168.10.90:9100/metrics

Questo può essere ottenuto anche aprendo un browser e sfogliando l'URL

http://192.168.10.90:9100/metriche

Puoi anche scegliere di rappresentare graficamente le metriche che desideri. Vai semplicemente alla home page del server Prometheus e fai clic sul menu a discesa "inserisci metrica al cursore '.

Seleziona la metrica che desideri rappresentare graficamente,

Fai clic su "Esegui ' e fai clic sul 'grafico ' scheda appena sotto per mostrare il grafico

E questo ci porta alla fine di questo argomento. Hai installato e configurato correttamente Prometheus per monitorare le metriche di sistema sia sul server che sull'host remoto. Nella nostra prossima guida, integreremo Prometheus con Grafana per una migliore visualizzazione e analisi delle metriche. Sentiti libero di condividere il tuo feedback con noi e condividere l'articolo con un amico.


Cent OS
  1. Come installare phpMyAdmin su RHEL 8 / CentOS 8

  2. Come installare P7Zip su RHEL 8 / CentOS 8

  3. Come installare ntfs-3g su RHEL 8 / CentOS 8

  4. Come installare PHP-mbstring su RHEL 8 / CentOS 8

  5. Come installare phantomjs su RHEL 8 / CentOS 8

Come installare Docker CE su RHEL 8 / CentOS 8

Come installare Katello su CentOS 7.x

Come installare VirtualBox 5.1 su CentOS 7 / RHEL 7 / Fedora 26

Come installare Docker CE su CentOS 8 / RHEL 8

Come installare VirtualBox 6.0 su CentOS 8 / RHEL 8

Come installare Prometheus su CentOS 8