Nel sesto capitolo della serie “Diventare Sistemista”, ci concentriamo su un aspetto spesso sottovalutato ma essenziale per la stabilità di qualsiasi infrastruttura: il monitoraggio.
Monitorare significa prevenire problemi, ottimizzare le risorse, analizzare performance e soprattutto intervenire tempestivamente in caso di criticità.
Perché il monitoraggio è fondamentale
- Individuazione proattiva di errori e colli di bottiglia
- Notifiche e allarmi automatici
- Analisi delle prestazioni (CPU, RAM, rete, dischi)
- Storico per audit, sicurezza e ottimizzazione
Una buona soluzione di monitoraggio deve essere scalabile, centralizzata e personalizzabile.
Strumenti open source più usati
✅ Zabbix
- Monitoraggio agent e agentless
- Dashboard intuitive e personalizzabili
- Supporto per trigger, alert, discovery automatico
- Ottimo per ambienti misti Linux/Windows
✅ Grafana + Prometheus
- Visualizzazione avanzata di metriche e serie temporali
- Query potenti e personalizzabili
- Usato in ambienti DevOps e cloud-native
✅ Kibana (con Elasticsearch)
- Visualizzazione avanzata di log e metriche
- Dashboard altamente personalizzabili
- Integrabile con stack ELK (Elasticsearch, Logstash, Kibana) per analisi approfondita
✅ Nagios (o Icinga)
- Storica affidabilità
- Architettura modulare con plugin
- Ottimo per ambienti complessi con controllo granulare
Cosa monitorare in un server (e oltre)
Oltre al classico monitoraggio tramite agent installati su sistemi Linux e Windows, molte soluzioni supportano anche il controllo di dispositivi di rete, UPS, host fisici, switch e altri apparati tramite protocollo SNMP (Simple Network Management Protocol). Questo permette una visione centralizzata e completa dell’intera infrastruttura IT. Tuttavia, è importante ricordare che SNMP v2c trasmette dati in chiaro; per ambienti di produzione si consiglia l’utilizzo di SNMPv3 per garantire una maggiore sicurezza.
- Utilizzo CPU e RAM
- Utilizzo disco e I/O
- Servizi attivi (Apache, MySQL, DNS, ecc.)
- Rete e traffico anomalo
- Temperature e sensori hardware (su server fisici)
- Log di sistema e messaggi critici
Esempi pratici di installazione e monitoraggio
🔧 Installare Zabbix Server su Ubuntu 22.04
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
- Configura il database MySQL/PostgreSQL
- Avvia il server e l’agente Zabbix
- Accedi al frontend via browser e completa la configurazione
Esempio: visualizzare log di sistema con Kibana (ELK Stack)
- Installa Elasticsearch, Logstash e Kibana (tramite repo ufficiali o Docker)
- Configura Logstash per raccogliere i log da rsyslog o file di sistema (in alternativa è possibile usare Filebeat per una raccolta più leggera e scalabile):
input {
file {
path => "/var/log/syslog"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["http://localhost:9200"]
}
}
- Accedi a
http://localhost:5601
, crea un index pattern (es.syslog-*
) e crea dashboard personalizzate
Esempio: monitorare uno switch o un UPS via SNMP in Zabbix
- Abilita SNMP v2c sul dispositivo (es. switch, UPS, firewall)
- Aggiungi un nuovo host su Zabbix → tipo: SNMP
- Inserisci IP del dispositivo e community string (es.
public
) - Associa un template SNMP adatto (es. SNMP Interfaces, SNMP UPS)
- Visualizza metriche: stato porte, alimentazione, temperatura, ecc.
Monitoraggio da remoto (es. tramite VPN)
In ambienti distribuiti o per aziende multi-sede, è utile:
- Installare gli agent sui nodi remoti (Linux o Windows)
- Collegarli al server Zabbix centrale tramite VPN (es. OpenVPN o WireGuard)
- Definire policy di sicurezza per separare il traffico di monitoraggio
Consigli pratici
- Non monitorare “tutto”: scegli le metriche davvero utili
- Imposta soglie e trigger realistici
- Testa il sistema di alert (mail, Telegram, Slack…)
- Fai backup regolari della configurazione del tool di monitoraggio
- Documenta i template e i servizi associati
📚 Risorse utili
- Zabbix: https://www.zabbix.com/documentation/current/manual
- Prometheus + Grafana: https://grafana.com/docs/
- Kibana (ELK): https://www.elastic.co/guide/en/kibana/current/index.html
- Icinga/Nagios: https://icinga.com/docs/
Conclusione
Il monitoraggio è un pilastro del lavoro sistemistico: ti permette di dormire più tranquillo, sapendo che ogni componente della tua infrastruttura è sotto controllo.
Nel prossimo articolo parleremo di backup e disaster recovery: tecniche, strumenti e buone pratiche per non perdere mai dati critici.