Settore: Self-hosting · Progetto personale
Automazione e monitoraggio self-hosted su Raspberry Pi
Infrastruttura personale h24: bot Telegram in Python su Raspberry Pi Zero 2W per monitoraggio e alerting con dead-man switch esterno, PiKVM per la gestione remota out-of-band, zero porte esposte grazie ai tunnel Cloudflare.
- 512 MB
- RAM disponibile
- 24/7
- Operatività
- 0
- Porte esposte
Contesto
Un laboratorio personale è il posto migliore per sperimentare pratiche da produzione: alta disponibilità, monitoraggio, accesso remoto sicuro — ma con vincoli più stretti di qualunque datacenter, a partire dal budget energetico e di memoria.
Cosa fa
- Un bot Telegram in Python monitora h24 i Raspberry della rete: temperatura, uso disco e RAM, load, throttling/undervoltage e uptime, con alert automatici al superamento delle soglie (temperatura, disco e memoria) e un digest giornaliero di riepilogo.
- Via chat il bot risponde a comandi on-demand: stato completo delle macchine, dettaglio disco, grafici delle temperature generati dallo storico (fino a 30 giorni su SQLite), riavvio remoto con doppia conferma.
- Il rilevamento offline usa un dead-man switch esterno: ogni macchina invia un heartbeat periodico con le proprie metriche a un servizio di healthcheck indipendente — se il ping non arriva, parte la notifica con le ultime statistiche note. Così anche il guasto del sistema di monitoraggio stesso viene rilevato.
- Un Raspberry Pi 4 con PiKVM fornisce gestione remota out-of-band: console video, tastiera e controllo dell’alimentazione anche quando il sistema operativo della macchina gestita non risponde.
- L’accesso remoto passa da tunnel Cloudflare: nessuna porta aperta sul router, autenticazione a monte del servizio. Dischi esterni completano il quadro per i backup.
Sfide tecniche
Vincoli di memoria. Far girare stabilmente un bot di monitoraggio in 512 MB impone disciplina: dipendenze minime, footprint controllato, attenzione ai leak su esecuzioni che durano settimane.
Chi controlla il controllore. Un sistema di monitoraggio che monitora sé stesso è un punto cieco: delegare il rilevamento offline a un servizio esterno indipendente elimina il paradosso — il monitoraggio funziona anche quando la macchina che lo esegue è spenta.
Esposizione zero. L’obiettivo di sicurezza era non esporre alcuna porta pubblica: i tunnel invertono la direzione della connessione, eliminando l’intera superficie d’attacco del port forwarding.
Stack
Raspberry Pi Zero 2W / Pi 4 · Python · Bot API Telegram · SQLite · Healthchecks.io · PiKVM · Cloudflare Tunnel · systemd