Server Monitoring · 2 min read · Oct 16, 2025
Come far inviare avvisi SMS a monit quando il tuo server è inattivo
Come far inviare avvisi SMS a monit quando il tuo server è inattivo
Versione 1.0
Autore: Falko Timme
Questo tutorial spiega come puoi configurare monit per inviare messaggi di avviso tramite SMS al tuo telefono cellulare quando un servizio fallisce. Poiché monit può inviare solo email ma non SMS, utilizzeremo un gateway email-to-sms a cui monit invierà le sue email, e il gateway email-to-sms convertirà le email in messaggi SMS.
Questo documento viene fornito senza alcuna garanzia! Voglio dire che questo non è l’unico modo per impostare un sistema del genere. Ci sono molti modi per raggiungere questo obiettivo, ma questo è il modo che seguo. Non rilascio alcuna garanzia che questo funzionerà per te!
1 Nota preliminare
Presumo che tu abbia già configurato monit, ad esempio come mostrato qui: https://www.howtoforge.com/server_monitoring_with_munin_monit_debian_etch o qui: https://www.howtoforge.com/server_monitoring_with_munin_monit_fedora_7.
In questo tutorial voglio monitorare un server web (con il sito www.mywebsite.com) per vedere se è ancora attivo o meno. Pertanto, utilizzo monit su un secondo server (monit.example.com) in modo che monit possa inviare avvisi se il server web si interrompe per qualsiasi motivo (immagina di aver installato monit sul server web - se il server si interrompe, monit non può inviare alcun avviso…).
Il servizio SMS che sto utilizzando qui è SMS77.de (se vuoi utilizzare quel servizio, devi registrarti prima e pagare almeno 5 EUR al tuo conto prepagato). Come spiegato su http://www.sms77.de/email2sms.html (in tedesco), le email che invii al gateway devono avere il seguente formato:
Oggetto: Testo dell’SMS
Testo dell’email: Email2SMS-Key#Destinatario#Tipo SMS #Mittente
Puoi specificare la chiave email2sms nelle impostazioni del tuo account SMS77.de; il destinatario è il numero di telefono del tuo cellulare (se vuoi inviare il messaggio a più destinatari, separa i numeri di telefono con delle virgole); come tipo SMS utilizziamo basicplus che costa solo 3,5 centesimi (centesimi EUR) per SMS. Il mittente è facoltativo, quindi lo ometto.
Dirò a monit di formattare i suoi messaggi di avviso in modo che corrispondano al formato richiesto.
Puoi, ovviamente, utilizzare qualsiasi altro gateway email-to-sms. Questo è solo un esempio di come farlo, e non ho alcuna relazione con SMS77.de.
2 Configurazione di monit
Apri /etc/monit/monitrc su monit.example.com e aggiungi il seguente brano (alla fine del file):
vi /etc/monit/monitrc| [...] check host www.mywebsite.com with address www.mywebsite.com if failed port 80 protocol http and request "/index.php" for 4 cycles then alert if failed icmp type echo count 5 with timeout 15 seconds for 4 cycles then alert alert [email protected] { connection, timeout, icmp } with mail-format { from: [email protected] subject: $SERVICE $EVENT at $DATE on $HOST message: 123456#0170123456789#basicplus } |
Come puoi vedere, con questa configurazione monit richiederà il file index.php da www.mywebsite.com, e in aggiunta a ciò cercherà di pingare l’host www.mywebsite.com. Per assicurarti che monit non invii troppi falsi positivi, invierà un avviso solo se i test sono falliti per quattro volte consecutive (per 4 cicli) - questo dovrebbe indicare che c’è davvero un problema.
Gli avvisi saranno inviati all’indirizzo email del gateway email-to-sms, ma solo se c’è stato un errore di connessione, un timeout o ping persi (un elenco di tutti gli eventi disponibili può essere trovato qui: http://www.tildeslash.com/monit/doc/manual.php#alert_message_layout), e la sezione mail-format specifica il formato dell’email di avviso. Le variabili che puoi utilizzare nell’email sono anche elencate su http://www.tildeslash.com/monit/doc/manual.php#alert_message_layout.
Si prega di adattare questo al proprio gateway email-to-sms!
Riavvia monit successivamente:
/etc/init.d/monit restartQuesto è tutto!
3 Link
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.