J’ai un serveur prod (srv-b) qui héberge mon Plausible. Je veux être prévenu s’il tombe, sans monter Prometheus + Alertmanager + Grafana + SMTP. Juste un SMS quand ça tousse, depuis un script bash.
Solution méconnue : si tu es client Free Mobile, tu as une API SMS personnelle gratuite dans ton espace abonné, pour notifier ton numéro. Zéro contrat tiers, zéro OAuth.
Activer et appeler l’endpoint
Espace abonné → « Mes options » → « Notifications par SMS » → activer. Tu reçois un identifiant (8 chiffres) et une clé (14 chars). Puis :
curl -G "https://smsapi.free-mobile.fr/sendmsg" \
--data-urlencode "user=<id_8_chiffres>" \
--data-urlencode "pass=<cle_14_chars>" \
--data-urlencode "msg=ALERTE srv-b DOWN at 09:38"
HTTPS GET, le SMS arrive sur ton propre numéro (pas d’autre destinataire : auto-notif, par design).
Codes retour : 200 envoyé, 400 payload manquant, 402 rate limit, 403 clé invalide ou option off, 500 souci côté Free.
Pourquoi c’est génial en monitoring solo
| Outil | Setup | Coût |
|---|---|---|
| Free Mobile SMS | activer dans l’espace abo | 0 € |
| Twilio | compte + numéro vérifié | ~0.05 €/SMS + $1/mois |
| Webhook Discord | serveur + webhook | 0 € (notif app, pas SMS) |
| Pushover | app + token | 5 $ once |
| SMTP → mail | postfix + DKIM + SPF | 0 € (risque spam) |
Pour 1 alerte tous les 6 mois, Free Mobile gagne : zéro setup, zéro coût, SMS direct.
Limites à connaître
- 1 SMS/minute max (anti-spam) → en boucle,
402. Envoyer uniquement au changement d’état (DOWN, RECOVERED), pas à chaque check. - Auto-notif uniquement : pas d’envoi à un autre numéro. Pour un tiers, Twilio/OVH.
- Pas d’accusé de lecture : tu sais juste que Free a accepté de transmettre.
- Clé en query HTTPS : OK (TLS), si elle fuite (logs, history) on peut spammer ton mobile. Régénère au doute.
Le pattern dans un script bash
PREV=$(cat $STATE_FILE)
if curl -fsS -m 10 "$ENDPOINT" >/dev/null; then
[ "$PREV" -ge "$THRESHOLD" ] && send_sms "RECOVERED $TS"
echo 0 > $STATE_FILE
else
NEW=$((PREV + 1)); echo $NEW > $STATE_FILE
[ "$NEW" -eq "$THRESHOLD" ] && send_sms "ALERTE DOWN $TS"
fi
Compteur persistant + SMS à la transition (seuil franchi, retour à 0). Pas de spam même DOWN 4h.
Lessons learned
- Free Mobile SMS API = imbattable en monitoring perso (simplicité/coût, si abonné Free).
- Sur changement d’état, pas sur état : 50 checks « encore DOWN » ≠ 50 SMS.
- Compteur en fichier plat suffit : ni Redis ni InfluxDB.
- Cron 5 min + threshold 3 → 15 min de DOWN avant alerte, filtre les blips.
- Pas pour des apps vendues : c’est de l’auto-notif. Multi-users = Twilio/OVH SMS Pro.