Prometheus è uno strumento di monitoraggio dei server Linux open source utilizzato principalmente per il monitoraggio delle metriche, il monitoraggio degli eventi e la gestione degli avvisi.
Prometheus ha cambiato il modo di monitorare i sistemi ed è per questo che è diventato il progetto di primo livello della Cloud Native Computing Foundation (CNCF).
Prometheus utilizza un potente linguaggio di query, ad esempio “PromQL”.
In Prometheus sono attive le schede e gestiscono centinaia di servizi e microservizi.
Prometheus utilizza più modalità utilizzate per il supporto di grafici e dashboard.
Questo articolo ti guiderà attraverso un processo passo passo per l’installazione e la configurazione di Prometheus su Ubuntu 22.04.
PREREQUISITI
Ubuntu Server 22.04
Utente con privilegi di sudo
INSTALLAZIONE DI PROMETHEUS
Aggiornare i pacchetti di sistema con il comando:
0 |
sudo apt update
|
Creare gruppo e un utente di sistema per Prometheus.
Per creare un gruppo e quindi aggiungere un utente al gruppo, eseguire il comando seguente:
0
1
|
sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus
|
In questo modo verranno creati un utente e un gruppo di sistema denominati prometheus con privilegi limitati, riducendo il rischio di accesso non autorizzato.
Per memorizzare i file di configurazione e le librerie per Prometheus, è necessario creare alcune directory.
Utilizzare i comandi seguenti per creare le directory:/etc e /var/lib
0
1
|
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
|
Per scaricare l’ultima versione di Prometheus andare sul sito ufficiale di Prometheus
Copiare il link per il download del sistema operativo Linux come mostrato nell’immagine sovrastante
Scaricare usando wget e il link che hai copiato in questo modo:
0 |
wget https://github.com/prometheus/prometheus/releases/download/v2.52.0/prometheus-2.52.0.linux-amd64.tar.gz
|
NOTA BENE: al momento della stesura del seguente tutorial la versione disponibile di Prometheus è la 2.52.0 / 2024-05-07
Al termine del download, eseguire il seguente comando per estrarre il contenuto del file scaricato:
0 |
tar vxf prometheus*.tar.gz
|
Andare all’interno della cartella di Prometheus utilizzando il comando:
0 |
cd prometheus*/
|
Il passaggio alla directory Prometheus semplifica la gestione e la configurazione dell’installazione.
I passaggi successivi verranno eseguiti nel contesto della directory Prometheus.
Adesso che abbiamo scaricato Prometheus continuare con la configurazione del software.
Innanzitutto, è necessario spostare alcuni file binari (prometheus e promtool) e modificare la proprietà dei file nell’utente e nel gruppo prometheus.
È possibile eseguire questa operazione con i seguenti comandi:
0
1
2
|
sudo mv consoles /etc/prometheus
sudo mv console_libraries /etc/prometheus
sudo mv prometheus.yml /etc/prometheus
|
Quindi attribuire i permessi con i seguenti comandi:
0
1
2
3
|
sudo chown prometheus:prometheus /etc/prometheus
sudo chown -R prometheus:prometheus /etc/prometheus/consoles
sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
sudo chown -R prometheus:prometheus /var/lib/prometheus
|
Spostare i file binari e settare l’owner con i comandi:
0
1
|
sudo mv prometheus /usr/local/bin/
sudo chown prometheus:prometheus /usr/local/bin/prometheus
|
Il file prometheus.yml è il file di configurazione principale di Prometheus.
Include le impostazioni per le destinazioni da monitorare, la frequenza di scraping dei dati, l’elaborazione dei dati e l’archiviazione.
È possibile impostare le regole di avviso e le condizioni di notifica nel file.
Editare il file con il comando:
0 |
sudo nano /etc/prometheus/prometheus.yml
|
Di seguito il contenuto del file di configurazione:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is ever>
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 >
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_>
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# 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 >
- job_name: "prometheus"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["localhost:9090"]
|
A questo punto, è necessario creare un file di servizio di sistema per Prometheus.
Creare e aprire un file con l’editor di testo come di seguito:
0 |
sudo nano /etc/systemd/system/prometheus.service
|
Incollare questo output all’interno del file
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/docs/introduction/overview/
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
|
Se è tutto OK dovremmo vedere una schermata come mostrato nell’immagine sovrastante
Salvare e chiudere il file di configurazione
Il file di servizio systems per Prometheus definisce come Prometheus dovrebbe essere gestito come servizio di sistema su Ubuntu.
Include la configurazione del servizio, ad esempio l’utente e il gruppo con cui deve essere eseguito.
Include anche il percorso del file binario di Prometheus e il percorso del file di configurazione di Prometheus.
Inoltre, il file può essere utilizzato per impostare le posizioni di archiviazione per i dati delle metriche e passare opzioni aggiuntive della riga di comando al file binario Prometheus all’avvio.
È necessario ricaricare i file di configurazione del sistema dopo aver salvato il file in modo che le modifiche apportate vengano riconosciute dal sistema.
Ricaricare i file di configurazione del sistema utilizzando il comando:
0 |
sudo systemctl daemon-reload
|
Abilitare e avviare il servizio Prometheus con i seguenti comandi:
0
1
|
sudo systemctl enable prometheus
sudo systemctl start prometheus
|
Dopo aver avviato il servizio Prometheus, è possibile verificare che sia in esecuzione o se si sono verificati errori utilizzando il comando:
0 |
sudo systemctl status prometheus
|
Se è tutto OK dovremmo vedere il servizio in running come mostrato nell’immagine sovrastante
A questo punto per accedere alla Web Gui richiamare da un qualsiasi browser il link:
http://server-IP-or-Hostname:9090
Se è andato tutto a buon fine dovremmo visualizzare la Dashboard di Prometheus
0 commenti