Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Prometheus è uno strumento di monitoraggio delle serie temporali open source per la gestione di una varietà di risorse e applicazioni di sistema. Fornisce un modello di dati multidimensionale, la capacità di interrogare i dati raccolti e la reportistica dettagliata e la visualizzazione dei dati tramite Grafana.
Per impostazione predefinita, Prometheus è abilitato a raccogliere parametri sul server in cui è installato. Con l'aiuto degli esportatori di nodi, i parametri possono essere raccolti da altre risorse come server Web, contenitori, database, applicazioni personalizzate e altri sistemi di terze parti. In questo tutorial, ti mostreremo come installare e configurare Prometheus con gli esportatori di nodi su un'istanza Lightsail. Per un elenco completo degli esportatori disponibili, consulta Esportatori e integrazioni
Indice
Fase 1: completamento dei prerequisiti
Prima di poter installare Prometheus su un'istanza Amazon Lightsail, devi fare quanto segue:
-
Crea un'istanza in Lightsail. Ti consigliamo di utilizzare lo schema LTS di Ubuntu 20.04 per la tua istanza. Per ulteriori informazioni, consulta Creare un'istanza in Amazon Lightsail.
-
Crea un indirizzo IP statico e collegalo alla nuova istanza. Per ulteriori informazioni, consulta Creare un indirizzo IP statico in Amazon Lightsail.
-
Apri le porte 9090 e 9100 sul firewall della tua nuova istanza. Prometheus richiede che le porte 9090 e 9100 siano aperte. Per ulteriori informazioni, consulta Aggiungere e modificare le regole firewall delle istanze in Amazon Lightsail.
Fase 2: aggiungi gli utenti e le directory di sistema locali all'istanza Lightsail
Completa la seguente procedura per connetterti alla tua istanza Lightsail tramite SSH e aggiungere utenti e directory di sistema. Questa procedura crea i seguenti account utente Linux:
-
prometheus
: questo account viene utilizzato per installare e configurare l'ambiente server. -
exporter
: questo account viene utilizzato per configurare l'estensionenode_exporter
.
Questi account utente sono creati al solo scopo di gestione e pertanto non richiedono servizi o autorizzazioni utente aggiuntivi oltre l'ambito di questa configurazione. In questa procedura, crei anche directory per l'archiviazione e la gestione dei file, delle impostazioni del servizio e dei dati utilizzati da Prometheus per monitorare le risorse.
-
Accedi alla console Lightsail
. -
Nella pagina di gestione dell'istanza, nella scheda Connect (Connetti), scegliere Connect using SSH (Connetti tramite SSH).
-
Una volta completata la connessione, inserisci i comandi seguenti singolarmente per creare due account utente Linux,
prometheus
eexporter
.sudo useradd --no-create-home --shell /bin/false prometheus
sudo useradd --no-create-home --shell /bin/false exporter
-
Inserisci i comandi seguenti singolarmente per creare directory di sistema locali.
sudo mkdir /etc/prometheus /var/lib/prometheus
sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus
Fase 3: donwload dei pacchetti binari di Prometheus
Completa la seguente procedura per scaricare i pacchetti binari di Prometheus sulla tua istanza Lightsail.
-
Apri un browser Web sul tuo computer locale e accedi alla Pagina dei download di Prometheus
. -
Nella parte superiore della pagina, per il menu a discesa Sistema operativo seleziona linux. Per Architettura, seleziona amd64.
-
Scegli o clicca con il pulsante destro il link di download di Prometheus che appare e copia l'indirizzo del link in un file di testo sul tuo computer. Esegui la stessa procedura per il download di node_exporter che appare. Dovrai utilizzare entrambi gli indirizzi copiati in una fase successiva di questa procedura.
-
Connect alla tua istanza Lightsail tramite SSH.
-
Inserisci il comando seguente per modificare le directory sulla tua home directory.
cd ~
-
Inserisci il comando seguente per scaricare i pacchetti binari di Prometheus sulla tua istanza.
curl -LO
prometheus-download-address
prometheus-download-address
Sostituiscilo con l'indirizzo che hai copiato in precedenza in questa procedura. Il comando dovrebbe essere come l'esempio seguente quando aggiungi l'indirizzo.curl -LO
https://github.com/prometheus/prometheus/releases/download/v2.37.0/prometheus-2.37.0.linux-amd64.tar.gz
-
Inserisci il comando seguente per scaricare i pacchetti binari
node_exporter
sull'istanza.curl -LO
node_exporter-download-address
Sostituire
node_exporter-download-address
con l'indirizzo copiato nel passaggio precedente di questa procedura. Il comando dovrebbe essere come l'esempio seguente quando aggiungi l'indirizzo.curl -LO
https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
-
Esegui i comandi seguenti singolarmente per estrarre i contenuti dei file scaricati di Node Exporter e Prometheus.
tar -xvf
prometheus-2.37.0.linux-amd64.tar.gz
tar -xvf
node_exporter-1.3.1.linux-amd64.tar.gz
Dopo l'estrazione del contenuto dei file scaricati, vengono create diverse sottodirectory.
-
Inserisci i comandi seguenti singolarmente per copiare i file estratti
prometheus
epromtool
nella directory dei programmi/usr/local/bin
.sudo cp -p ./prometheus-2.37.0.linux-amd64/prometheus /usr/local/bin
sudo cp -p ./prometheus-2.37.0.linux-amd64/promtool /usr/local/bin
-
Inserisci il seguente comando per modificare la proprietà dei file
prometheus
epromtool
all'utenteprometheus
che hai creato in precedenza in questo tutorial.sudo chown prometheus:prometheus /usr/local/bin/prom*
-
Inserisci i comandi seguenti singolarmente per copiare le sottodirectory
consoles
econsole_libraries
su/etc/prometheus
. L'opzione-r
esegue una copia ricorsiva di tutte le directory all'interno della gerarchia.sudo cp -r ./prometheus-2.37.0.linux-amd64/consoles /etc/prometheus
sudo cp -r ./prometheus-2.37.0.linux-amd64/console_libraries /etc/prometheus
-
Inserisci i seguenti comandi singolarmente per modificare la proprietà dei file copiati all'utente
prometheus
che hai creato in precedenza in questo tutorial. L'opzione-R
esegue una modifica della proprietà ricorsiva di tutte le directory e i file all'interno della gerarchia.sudo chown -R prometheus:prometheus /etc/prometheus/consoles
sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
-
Inserisci i seguenti comandi singolarmente per copiare il file di configurazione
prometheus.yml
sulla directory/etc/prometheus
e modificare la proprietà dei file copiati all'utenteprometheus
che hai creato in precedenza in questo tutorial.sudo cp -p ./prometheus-2.37.0.linux-amd64/prometheus.yml /etc/prometheus
sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml
-
Inserisci il seguente comando per copiare il file
node_exporter
dalla sottodirectory./node_exporter*
alla directory dei programmi/usr/local/bin
.sudo cp -p ./node_exporter-1.3.1.linux-amd64/node_exporter /usr/local/bin
-
Inserisci il seguente comando per modificare la proprietà del file all'utente
exporter
che hai creato in precedenza in questo tutorial.sudo chown exporter:exporter /usr/local/bin/node_exporter
Fase 4: configura Prometheus
Completa la procedura seguente per configurare una Prometheus. In questa procedura, apri e modifichi il file prometheus.yml
, che contiene varie impostazioni per lo strumento Prometheus. Prometheus stabilisce un ambiente di monitoraggio basato sulle impostazioni configurate nel file.
-
Connect alla tua istanza Lightsail tramite SSH.
-
Inserisci il seguente comando per creare una copia di backup del file
prometheus.yml
prima di aprirlo e modificarlo.sudo cp /etc/prometheus/prometheus.yml /etc/prometheus/prometheus.yml.backup
-
Inserisci il comando seguente per aprire il file
prometheus.yml
utilizzando Vim.sudo vim /etc/prometheus/prometheus.yml
Di seguito sono riportati alcuni parametri importanti che potresti voler configurare nel file
prometheus.yml
:-
scrape_interval
: situato sotto l'intestazioneglobal
, questo parametro definisce l'intervallo di tempo (in secondi) con cui Prometheus raccoglierà o ricaverà dati di parametri per una determinata destinazione. Come indicato dal tagglobal
, questa impostazione è universale per tutte le risorse monitorate da Prometheus. Questa impostazione si applica anche agli esportatori, a meno che un singolo esportatore non fornisca un valore diverso che sostituisca il valore globale. Puoi mantenere questo parametro impostato sul valore corrente di 15 secondi. -
job_name
: situato sotto l'intestazionescrape_configs
, questo parametro è un'etichetta che identifica gli esportatori nel set di risultati di una query di dati o di una visualizzazione visiva. Puoi specificare il valore del nome di un lavoro per riflettere al meglio le risorse monitorate nell'ambiente. Ad esempio, puoi etichettare un lavoro per la gestione di un sito Web comebusiness-web-app
oppure puoi etichettare un database comemysql-db-1
. In questa configurazione iniziale, stai monitorando solo il server Prometheus, in modo da poter mantenere aggiornato il valoreprometheus
attuale. -
targets
: situato sotto l'intestazionestatic_configs
, l'impostazionetargets
utilizza una coppia chiave-valore diip_addr:port
per identificare la posizione in cui è in esecuzione un determinato esportatore. Modificherai l'impostazione predefinita nei passaggi 4-7 di questa procedura.
Nota
Per questa configurazione iniziale, non è necessario configurare i parametri
alerting
erule_files
. -
-
Nel file
prometheus.yml
che hai aperto in Vim, premi il tasto I per accedere alla modalità di inserimento in Vim. -
Scorri e trova il parametro
targets
situato sotto l'intestazionestatic_configs
. -
Modifica l'impostazione predefinita in
. Sostituisci<ip_addr>
:9090
con l'indirizzo IP statico dell'istanza. Il parametro modificato dovrebbe essere simile a quello riportato nell'esempio seguente.<ip_addr>
-
Premi il tasto Esci per uscire dalla modalità di inserimento e digita :wq! per salvare le modifiche e uscire da Vim.
-
(Facoltativo) Se si è verificato un errore, inserisci il seguente comando per sostituire il file
prometheus.yml
con il backup creato in precedenza in questa procedura.sudo cp /etc/prometheus/prometheus.yml.backup /etc/prometheus/prometheus.yml
Fase 5: avvia Prometheus
Completa la procedura seguente per avviare il servizio di Prometheus sull'istanza.
-
Connect alla tua istanza Lightsail tramite SSH.
-
Inserisci il seguente comando per avviare il servizio di Prometheus.
sudo -u prometheus /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
La riga di comando fornisce dettagli sul processo di avvio e su altri servizi. Dovrebbe inoltre indicare che il servizio è in ascolto sulla porta 9090.
Se il servizio non si avvia, consulta la sezione Fase 1: completa i prerequisiti di questo tutorial per informazioni sulla creazione di regole firewall di istanza per consentire il traffico su questa porta. Per altri errori, consulta il file
prometheus.yml
per confermare l'assenza di errori di sintassi. -
Dopo aver convalidato il servizio in esecuzione, premi CTRL+C per arrestarlo.
-
Inserisci il comando seguente per aprire il file di configurazione
systemd
in Vim. Questo file viene utilizzato per avviare Prometheus.sudo vim /etc/systemd/system/prometheus.service
-
Inserisci le seguenti righe nel file.
[Unit] Description=PromServer 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
Le istruzioni precedenti sono utilizzate dal gestore di servizi
systemd
di Linux per avviare Prometheus sul server. Quando viene invocato, Prometheus funge da utenteprometheus
e fa riferimento al fileprometheus.yml
per caricare le impostazioni di configurazione e memorizzare i dati delle serie temporali nella directory/var/lib/prometheus
. Puoi eseguireman systemd
dalla riga di comando per visualizzare ulteriori informazioni sul servizio. -
Premi il tasto Esci per uscire dalla modalità di inserimento e digita :wq! per salvare le modifiche e uscire da Vim.
-
Inserisci il seguente comando per caricare le informazioni nel responsabile dei servizi di
systemd
.sudo systemctl daemon-reload
-
Inserisci il seguente comando per riavviare Prometheus.
sudo systemctl start prometheus
-
Inserisci il seguente comando per verificare lo stato del servizio Prometheus.
sudo systemctl status prometheus
Se il servizio viene avviato correttamente, riceverai un output simile a quello riportato nell'esempio seguente.
-
Premi Q per uscire dal comando di stato.
-
Inserisci il seguente comando per abilitare Prometheus all'avvio quando l'istanza è stata lanciata.
sudo systemctl enable prometheus
-
Apri un browser Web sul tuo computer locale e vai al seguente indirizzo Web per visualizzare l'interfaccia di gestione di Prometheus.
http:
<ip_addr>
:9090Sostituisci
<ip_addr>
con l'indirizzo IP statico dell'istanza Lightsail. Dovresti visualizzare un pannello di controllo simile all'esempio seguente.
Fase 6: avvia Node Exporter
Completa la procedura seguente per avviare il servizio Node Exporter.
-
Connect alla tua istanza Lightsail tramite SSH.
-
Inserisci il seguente comando per creare un file di servizio
systemd
pernode_exporter
utilizzando Vim.sudo vim /etc/systemd/system/node_exporter.service
-
Premeri il tasto I per accedere alla modalità di inserimento in Vim.
-
Aggiungi la seguente riga di testo nel file. Questo configurerà
node_exporter
con le raccolte di monitoraggio per il carico della CPU, l'utilizzo del file system e le risorse della memoria.[Unit] Description=NodeExporter Wants=network-online.target After=network-online.target [Service] User=exporter Group=exporter Type=simple ExecStart=/usr/local/bin/node_exporter --collector.disable-defaults \ --collector.meminfo \ --collector.loadavg \ --collector.filesystem [Install] WantedBy=multi-user.target
Nota
Queste istruzioni disabilitano i parametri della macchina predefiniti per Node Exporter. Per l'elenco completo dei parametri disponibili per Ubuntu, consulta la Pagina principale di Prometheus node_exporter
nella Documentazione di Ubuntu. -
Premi il tasto Esci per uscire dalla modalità di inserimento e digita :wq! per salvare le modifiche e uscire da Vim.
-
Inserisci il seguente comando per ricaricare il processo
systemd
.sudo systemctl daemon-reload
-
Inserisci il seguente comando per avviare il servizio
node_exporter
.sudo systemctl start node_exporter
-
Inserisci il seguente comando per verificare lo stato del servizio
node_exporter
.sudo systemctl status node_exporter
Se il servizio viene lanciato correttamente, riceverai un output simile al seguente.
-
Premi Q per uscire dal comando di stato.
-
Inserisci il seguente comando per abilitare Node Exporter all'avvio quando l'istanza è stata lanciata.
sudo systemctl enable node_exporter
Fase 7: configura Prometheus con la raccolta di dati Node Exporter
Completa la procedura seguente per configurare Prometheus con la raccolta di dati Node Exporter. Puoi farlo aggiungendone uno nuovo parametro job_name
per node_exporter
nel file prometheus.yml
.
-
Connect alla tua istanza Lightsail tramite SSH.
-
Inserisci il comando seguente per aprire il file
prometheus.yml
utilizzando Vim.sudo vim /etc/prometheus/prometheus.yml
-
Premeri il tasto I per accedere alla modalità di inserimento in Vim.
-
Aggiungi le seguenti righe di testo nel file, sotto il parametro
- targets: ["
esistente.<ip_addr>
:9090"]- job_name: "node_exporter" static_configs: - targets: ["
<ip_addr>
:9100"]Il parametro modificato nel file
prometheus.yml
avrà un aspetto simile all'esempio seguente.Tieni presente quanto segue:
-
Node Exporter ascolta la porta 9100 affinché il server
prometheus
recuperi i dati. Conferma di aver seguito i passaggi per la creazione delle regole del firewall di istanza come descritto nella sezione Fase 1: completa i prerequisiti di questo tutorial. -
Come per la configurazione di
prometheus
job_name
, sostituiscilo<ip_addr>
con l'indirizzo IP statico collegato all'istanza Lightsail.
-
-
Premi il tasto Esci per uscire dalla modalità di inserimento e digita :wq! per salvare le modifiche e uscire da Vim.
-
Inserisci il seguente comando per riavviare il servizio Prometheus in modo che le modifiche al file di configurazione abbiano effetto.
sudo systemctl restart prometheus
-
Inserisci il seguente comando per verificare lo stato del servizio Prometheus.
sudo systemctl status prometheus
Se il servizio viene riavviato correttamente, riceverai un output simile al seguente.
-
Premi Q per uscire dal comando di stato.
-
Apri un browser Web sul tuo computer locale e vai al seguente indirizzo Web per visualizzare l'interfaccia di gestione di Prometheus.
http:
<ip_addr>
:9090Sostituisci
<ip_addr>
con l'indirizzo IP statico dell'istanza Lightsail. Dovresti visualizzare un pannello di controllo simile all'esempio seguente. -
Nel menu principale, scegli il menu a discesa Stato e seleziona Destinazioni.
Nella schermata successiva, dovresti vedere due destinazioni. Il primo obiettivo è per il processo di raccolta dei parametri node_exporter e il secondo obiettivo è per il processo prometheus.

L'ambiente è ora configurato correttamente per la raccolta dei parametri e il monitoraggio del server.