Monitoring
Webhook-Eingang
Unter Monitoring legst du einen Eingang mit festen Empfängern an und bekommst eine geheime URL https://smsforge.de/api/hook/SCHLÜSSEL. Werkzeuge, die JSON per Webhook senden, tragen diese URL ein: Prometheus Alertmanager, Grafana, Uptime Kuma (Standard-JSON) sowie alles mit den Feldern text, message, msg, title (auch Slack- und Discord-Format). Erlaubt sind POST (JSON, Formular oder reiner Text) und GET (?text=…). SMSForge kürzt den Text auf die erlaubte Länge, ersetzt Sonderzeichen und Emojis (damit eine SMS bei 160 Zeichen bleibt) und fasst gleiche Meldungen innerhalb von 10 Minuten zusammen. Mit einer Vorlage bestimmst du den Text selbst, zum Beispiel {alerts.0.labels.alertname}: {status}; die Vorschau zeigt vorab, was aus einem Beispiel-JSON würde.
| Antwort | Bedeutung |
|---|---|
202 | SMS angenommen: {"ok":true,"sms":1,"text":"…"} |
200 mit duplicate | Gleiche Meldung in den letzten 10 Minuten, keine zweite SMS. |
409 / 403 / 422 / 429 | Eingang pausiert / Konto darf nicht senden / kein Text oder Sendefehler / mehr als 20 SMS in dieser Stunde über den Eingang. |
Heartbeat-Monitor
Ein Job ruft nach getaner Arbeit https://smsforge.de/api/ping/SCHLÜSSEL auf (GET oder POST, Antwort OK). Kommt kein Ping mehr innerhalb von Intervall + Toleranz, schickt SMSForge eine Alarm-SMS, später auf Wunsch eine Entwarnung. …/fail meldet einen Fehler sofort. Ein neuer Monitor wartet auf den ersten Ping, ein pausierter alarmiert nicht (Wartung).
Token-Notbremse
Sendet ein Token in 5 Minuten mehr SMS als seine Grenze (Standard 40, je Token einstellbar bis 1000), wird es pausiert: die API antwortet mit 429, der Besitzer bekommt eine Mail und setzt es unter API & Konto fort. Das gilt auch für E-Mail-zu-SMS. Mit dry=1 geprüfte Anfragen zählen nicht.