Ricerca nel sito web

Come installare Prometheus e Node Exporter su Rocky Linux


Su questa pagina

  1. Concetti di base che devi conoscere
  2. Prerequisiti
  3. Aggiungi nuovo utente e directory
  4. Installazione di Prometheus su Rocky Linux
  5. Imposta il file di servizio Prometheus
  6. Installazione di Node Exporter su Rocky Linux
  7. Imposta Node_exporter come servizio
  8. Aggiungi node_exporter a Prometheus
  9. Verifica l'installazione di Prometheus e Node Exporter
  10. Conclusione

Prometheus è una piattaforma di monitoraggio e avviso open source.

Originariamente, Prometheus è stato creato da Soundcloud nel 2012. Da allora il progetto Prometheus adottato da alcune aziende famose è diventato un progetto più grande con sviluppatori e community molto attivi. E nel 2016, il progetto Prometheus si è laureato sotto la Cloud Native Computing Foundation (CNCF).

Concetti di base che devi conoscere

Fondamentalmente, Prometheus raccoglie dati e metriche tramite endpoint HTTP dai server di destinazione, quindi archivia tutti i dati come serie temporali. In Prometheus, i dati delle serie temporali sono identificati dal nome della metrica e dalle coppie chiave/valore.

Prometheus offre flessibilità attraverso Prometheus Query Language (PromQL). È possibile utilizzare PromQL per interrogare il database delle serie temporali Prometheus.

Nei server di destinazione è necessario installare l'applicazione di esportazione che espone tutti i dati e le metriche a Prometheus. Node Exporter è un esportatore comunemente usato per monitorare le macchine Linux.

L'esportatore di nodi espone le matrici relative all'hardware e al kernel dalle macchine Linux. Si presenta come un singolo file binario che esporrà le metriche di fine dati al server Prometheus.

Prerequisiti

In questo articolo imparerai come installare lo strumento di monitoraggio Prometheus e Node Exporter su un sistema Rocky Linux 8.

Prima di iniziare, assicurati di aver soddisfatto i seguenti requisiti:

  • Sistema operativo: Rocky Linux 8.5 (Green Obsidian)
  • Privilegi di root

Per questo esempio, stiamo usando il sistema Rocky Linux con indirizzo IP 192.168.1.10.

Ora iniziamo.

Aggiungi nuovo utente e directory

Inizialmente, creerai un nuovo utente di sistema prometheus, quindi creerai una nuova directory di configurazione e una nuova directory dei dati per l'installazione di Prometheus.

1. Esegui il seguente comando per creare un nuovo utente prometheus.

sudo adduser -M -r -s /sbin/nologin prometheus

2. Successivamente, creare una nuova directory di configurazione /etc/prometheus e la directory dei dati /var/lib/prometheus utilizzando il seguente comando.

sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus

Tutta la configurazione di Prometheus sarà disponibile nella directory /etc/prometheus e tutti i dati di Prometheus verranno salvati automaticamente nella directory /var/lib/prometheus.

Installazione di Prometeo su Rocky Linux

In questo passaggio, installerai manualmente il sistema di monitoraggio Prometheus dal file tarball o tar.gz.

Scegli la versione Prometheus da questo link. Per questo esempio, installeremo l'ultima versione di Prometheuss.

1. Modificare la directory di lavoro in /usr/src e scaricare il file binario di Prometheus utilizzando il seguente comando.

cd /usr/src
wget https://github.com/prometheus/prometheus/releases/download/v2.31.1/prometheus-2.31.1.linux-amd64.tar.gz

Al termine del processo di download, estrai il file Prometheus.

tar -xf prometheus-2.31.1.linux-amd64.tar.gz

Ora vedrai una nuova directory prometheus-VERSION.OS.

2. Successivamente, copia tutte le configurazioni di Prometheus nella directory /etc/prometheus e il file binario prometheus nella directory /usr/local/bin .

Imposta la variabile di ambiente PROM_SRC nella directory /usr/src/prometheus-*.

export PROM_SRC=/usr/src/prometheus-*

Copia la configurazione di prometheus prometheus.yml nella directory /etc/prometheus.

sudo cp $PROM_SRC/prometheus.yml /etc/prometheus/

Copia il file binario prometheus e promtool nella directory /usr/local/bin/.

sudo cp $PROM_SRC/prometheus /usr/local/bin/
sudo cp $PROM_SRC/promtool /usr/local/bin/

Copia i modelli e le librerie della console Prometheus nella directory /etc/prometheus.

sudo cp -r $PROM_SRC/consoles /etc/prometheus
sudo cp -r $PROM_SRC/console_libraries /etc/prometheus

3. Successivamente, modifica la configurazione di Prometheus /etc/prometheus/prometheus.yml utilizzando l'editor nano.

nano /etc/prometheus/prometheus.yml

Nell'opzione scrape_configs, potrebbe essere necessario aggiungere processi di monitoraggio e come eseguire lo scraping di tutti i dati dalla destinazione.

La configurazione predefinita viene fornita con il nome del processo di monitoraggio predefinito prometheus e il server di destinazione localhost tramite l'opzione static_configs.

Cambia la destinazione da localhost:9090 all'indirizzo IP del server 192.168.1.10:9090 come di seguito.

# 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: ["192.168.1.10:9090"]

Salva la configurazione ed esci.

4. Eseguire ora il seguente comando per modificare la configurazione e le directory dei dati nell'utente promethues.

sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus

Ora hai completato l'installazione di base di Prometheus.

Imposta il file di servizio Prometheus

In questo passaggio, configurerai Prometheus come servizio systemd.

1. Creare un nuovo file di servizio systemd /etc/systemd/system/prometheus.service utilizzando nano editor.

sudo nano /etc/systemd/system/prometheus.service

Copia e incolla la seguente configurazione.

[Unit]
Description=Prometheus
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

Salva la configurazione ed esci.

2. Successivamente, ricaricare il gestore systemd per applicare una nuova configurazione.

sudo systemctl daemon-reload

3. Eseguire ora il seguente comando per avviare e abilitare il servizio Prometheus, quindi controllarne lo stato corrente.

sudo systemctl enable --now prometheus
sudo systemctl status prometheus

Se l'installazione ha esito positivo, vedrai che il servizio prometheus è attivo e in esecuzione come di seguito.

Lo strumento di monitoraggio Prometheus è ora accessibile sulla porta TCP 9090.

4. Apri il browser Web e digita l'indirizzo IP del server con la porta 9090 nella barra degli indirizzi.

http://192.168.1.10:9090/

E vedrai la query del dashboard prometheus di seguito.

Ora hai completato l'installazione di Prometeo. Passare al passaggio successivo per l'installazione di Node Exporter.

Installazione di Node Exporter su Rocky Linux

L'esportatore di nodi fa parte del progetto prometheus. Puoi utilizzare node exporter per esportare le metriche dei server Linux sul server Prometheus.

In questo passaggio, installerai l'esportatore di nodi sul sistema Rocky Linux dal file tar.gz.

Controlla questo link per ottenere l'ultima versione di node exporter. In questo esempio, installeremo node exporter versione 1.3.0.

1. Modificare la directory di lavoro in /usr/src e scaricare il file binario dell'esportatore di nodi utilizzando il seguente comando.

cd /usr/src/
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.0/node_exporter-1.3.0.linux-amd64.tar.gz

Se il processo di download viene completato, estrai il file di esportazione del nodo.

tar -xf node_exporter-1.3.0.linux-amd64.tar.gz

Ora otterrai una nuova directory node_exporter-VERSION.OS.

2. Successivamente, sposta il file binario dell'esportatore del nodo nella directory /usr/local/bin utilizzando il seguente comando.

mv node_exporter-*/node_exporter /usr/local/bin

Passare al passaggio successivo per configurare node exporter come servizio systemd.

Imposta Node_exporter come servizio

Prima di creare un file di servizio dell'esportatore di nodi, crea un nuovo utente di sistema node_exporter.

1. Eseguire il seguente comando per creare un nuovo utente di sistema.

sudo adduser -M -r -s /sbin/nologin node_exporter

2. Successivamente, creare un nuovo file di servizio per node exporter /etc/systemd/system/node_exporter.service utilizzando nano editor.

sudo nano /etc/systemd/system/node_exporter.service

Copia e incolla la seguente configurazione.

[Unit]
Description=Node Exporter
After=network.target

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

[Install]
WantedBy=multi-user.target

Salva la configurazione ed esci.

3. Ora ricarica il gestore systemd per applicare la nuova configurazione.

sudo systemctl daemon-reload

4. Avviare e abilitare il servizio node_exporter utilizzando il seguente comando.

sudo systemctl enable --now node_exporter

Successivamente, controlla lo stato corrente del servizio node_exporter.

sudo systemctl status node_exporter

Assicurati che il servizio node_exporter sia attivo e in esecuzione.

5. L'esportatore di nodi è in esecuzione sulla porta predefinita 9100. Verificare utilizzando il comando ss di seguito.

ss -aplnt | grep node

Vedrai un output simile a quello di seguito.

State    Recv-Q   Send-Q     Local Address:Port     Peer Address:Port   Process
LISTEN   0        128              0.0.0.0:22            0.0.0.0:*       users:(("sshd",pid=683,fd=4))
LISTEN   0        128                    *:9090                *:*       users:(("prometheus",pid=709,fd=8))
LISTEN   0        128                    *:9100                *:*       users:(("node_exporter",pid=5786,fd=3))
LISTEN   0        128                 [::]:22               [::]:*       users:(("sshd",pid=683,fd=6))

E hai completato l'installazione di node exporter sul sistema Rocky Linux.

Aggiungi node_exporter a Prometheus

Dopo aver completato l'installazione di Prometheus e dell'esportatore di nodi, aggiungi l'esportatore di nodi al server Prometheus.

1. Modificare la configurazione di Prometheus utilizzando il nano editor.

sudo nano /etc/prometheus/prometheus.yml

Nella sezione scrape_config, aggiungi un nuovo processo Prometheus utilizzando la seguente configurazione. E assicurati di cambiare l'indirizzo IP del server con il tuo server di destinazione.

  - job_name: 'node_exporter_metrics'
    scrape_interval: 5s
    static_configs:
      - targets: ['SERVER-IP:9100']

Salva la configurazione ed esci.

2. Ora riavvia il servizio Prometheus per applicare una nuova configurazione.

sudo systemctl restart prometheus

E hai aggiunto l'esportatore di nodi al server Prometheus.

Verificare l'installazione di Prometheus e Node Exporter

1. Torna alla dashboard di Prometheus, fai clic sul menu Stato e seleziona Obiettivi.

Vedrai due diversi endpoint, prometheus e node_exporter_metrics.

2. Successivamente, vai al menu graph e digita la query PromQL nella barra di ricerca. Per questo esempio, controlla il sistema operativo dettagliato utilizzando la query node_os_info.

E vedrai informazioni dettagliate sul tuo attuale sistema operativo.

3. Un altro esempio, verifica la velocità della rete utilizzando la query node_network_speed_bytes, quindi passa alla scheda Graph. E vedrai un output simile come di seguito.

Ora hai installato con successo Prometheus e node exporter sul sistema Rocky Linux.

Conclusione

Congratulazioni! Hai appreso l'installazione e la configurazione di base del sistema di monitoraggio Prometheus e dell'esportatore di nodi sul sistema Rocky Linux.

Per il passaggio successivo, puoi esplorare un altro esportatore Prometheus per altre applicazioni e Grafana come dashboard di monitoraggio.