Monitoraggio e avvisi centralizzati
Estendete il monitoraggio oltre un singolo server: inviate metriche e log a un sistema centrale, create dashboard e configurate avvisi per venire a conoscenza dei problemi prima degli utenti.
Monitoraggio e avvisi centralizzati è una lezione Linux Server Deployment & SSH Mastery gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Linux Server Deployment & SSH Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.
Perché centralizzare?
Accedere a ogni server con top e journalctl funziona per una sola macchina. Con molti server, però, non è scalabile e i problemi diventano visibili solo quando si controlla manualmente.
Il monitoraggio centralizzato raccoglie metriche e log da tutti i server in un unico luogo, con dashboard e alert automatici.
Metriche e log a confronto
L'osservabilità si basa su due tipi di dati:
- Metriche — serie temporali numeriche, come percentuale di CPU, memoria e frequenza delle richieste
- Log — eventi testuali discreti, come errori e registrazioni degli accessi
Di solito si raccolgono entrambi, utilizzando strumenti diversi ottimizzati per ciascun tipo.
Il modello di Prometheus
Prometheus è un sistema di metriche molto diffuso. Recupera le metriche interrogando gli endpoint HTTP esposti da ciascun server.
Su ogni server si esegue un exporter — node_exporter per le metriche dell'host — che pubblica i dati letti da Prometheus.
# On each monitored server:
sudo apt install prometheus-node-exporter
curl http://localhost:9100/metrics | headConfigurazione di un target di scraping
Prometheus riceve le indicazioni su cosa sottoporre a scraping tramite il proprio file di configurazione. Ogni job elenca i target (host:porta di un exporter).
Questo frammento esegue lo scraping di node_exporter su due server.
scrape_configs:
- job_name: 'nodes'
static_configs:
- targets: ['web1:9100', 'web2:9100']Interrogazione delle metriche con PromQL
Prometheus dispone di un proprio linguaggio di interrogazione, PromQL. Può calcolare frequenze, medie e altro ancora sull'intero parco di server.
Questa espressione stima l'utilizzo della CPU per server.
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode='idle'}[5m])) * 100)Visualizzazione con Grafana
Grafana si connette a Prometheus e a molte altre origini per creare dashboard. Aggiunga Prometheus come origine dati, quindi crei pannelli a partire dalle query PromQL.
Le dashboard predefinite per node_exporter forniscono in pochi minuti grafici relativi a CPU, memoria, disco e rete.
sudo apt install grafana
sudo systemctl enable --now grafana-server
# Open http://server:3000 and add Prometheus as a data sourceCentralizzazione dei log
Per i log, li invii da ogni server a un archivio centrale. Uno stack comune è Loki con Promtail, integrato con Grafana.
Promtail viene eseguito su ogni server e inoltra a Loki i file di log e il journal.
# promtail tails the journal and ships to Loki
clients:
- url: http://loki:3100/loki/api/v1/push
scrape_configs:
- job_name: journal
journal:
max_age: 12hDefinizione delle regole di alert
Il sistema di alert trasforma le metriche in azioni. Le regole di alert di Prometheus si attivano quando un'espressione rimane vera per una determinata durata.
Questa regola invia un alert quando un nodo è inattivo da due minuti.
groups:
- name: node
rules:
- alert: NodeDown
expr: up == 0
for: 2m
labels:
severity: critical
annotations:
summary: 'Instance {{ $labels.instance }} is down'Instradamento degli alert
Alertmanager riceve gli alert attivati e li instrada verso la destinazione appropriata: e-mail, Slack, PagerDuty e altro. Inoltre elimina i duplicati e silenzia gli alert.
È possibile associare gli alert ai destinatari in base a etichette come severity.
route:
receiver: 'team-slack'
receivers:
- name: 'team-slack'
slack_configs:
- channel: '#alerts'Evitare l'affaticamento da alert
Un numero eccessivo di alert è dannoso quanto l'assenza di alert — le persone iniziano a ignorarli. Un buon sistema di alert:
- Invia alert per i sintomi percepiti dagli utenti, non per ogni minima variazione delle metriche
- Utilizza una durata
forper evitare oscillazioni - Assegna una gravità, così il rumore può essere filtrato
Buone pratiche
Costruisca un sistema di osservabilità duraturo:
- Raccolga centralmente sia le metriche sia i log
- Parta dalle dashboard della community, quindi le personalizzi
- Invii alert solo per condizioni che richiedono un'azione
- Verifichi che gli alert arrivino effettivamente a Lei
Verifica rapida
Verifichi la Sua conoscenza del monitoraggio centralizzato.
Riepilogo
Ora è in grado di monitorare centralmente un intero parco di server:
- Metriche tramite lo scraping di node_exporter con Prometheus, interrogate con PromQL
- Dashboard in Grafana
- Log inviati a Loki tramite Promtail
- Alert con regole Prometheus instradate da Alertmanager
In questo modo le competenze sui log di un singolo server si estendono a un'osservabilità proattiva dell'intero parco.
Domande Frequenti
La lezione «Monitoraggio e avvisi centralizzati» è gratuita?
Sì — il testo completo di «Monitoraggio e avvisi centralizzati» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Linux Server Deployment & SSH Mastery, passa a CoddyKit PRO. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.
Cosa imparerò in «Monitoraggio e avvisi centralizzati»?
Estendete il monitoraggio oltre un singolo server: inviate metriche e log a un sistema centrale, create dashboard e configurate avvisi per venire a conoscenza dei problemi prima degli utenti. Eserciti Linux Server Deployment & SSH Mastery con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Linux Server Deployment & SSH Mastery?
Non è richiesta alcuna esperienza precedente. Linux Server Deployment & SSH Mastery su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Monitoraggio e avvisi centralizzati»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Linux Server Deployment & SSH Mastery?
Sì. Ogni lezione Linux Server Deployment & SSH Mastery include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Strumenti di monitoraggio del sistema
- Comprendere i log di sistema
- Rotazione e archiviazione dei log
- Monitoraggio e avvisi centralizzati