Für DevOps-Teams

Monitoring von außen gesteuert aus Ihrer Pipeline

AlertSleep prüft Ihre öffentlichen Endpunkte, Ports, Zertifikate und geplanten Jobs von außerhalb Ihres Netzwerks, bestätigt Ausfälle, bevor jemand alarmiert wird, und nimmt Befehle aus Ihrer CI über eine einfache REST-API entgegen. Auf Ihren Servern ist nichts zu installieren.

  • Prüfungen alle 60 Sekunden
  • Wartungsfenster aus der CI
  • SMS und Telefonanrufe inklusive
Alarme für ein Deployment stummschalten, in jeder CI, die curl ausführt
# .github/workflows/deploy.yml
- name: Mute AlertSleep during the deploy
  env:
    ALERTSLEEP_TOKEN: ${{ secrets.ALERTSLEEP_TOKEN }}
    MONITOR_ID: ${{ vars.ALERTSLEEP_MONITOR_ID }}
  run: |
    curl -fsS -X POST https://api.alertsleep.com/public/v1/maintenance-windows \
      -H "AuthToken: $ALERTSLEEP_TOKEN" \
      -H "Content-Type: application/json" \
      -d "{\"title\":\"Deploy ${GITHUB_SHA::7}\",
           \"starts_at\":\"$(date -u +%FT%TZ)\",
           \"ends_at\":\"$(date -u -d '+20 min' +%FT%TZ)\",
           \"monitor_ids\":[\"$MONITOR_ID\"]}"

Steuern Sie es aus der Pipeline

Kein Plugin zu installieren und keines aktuell zu halten: Jeder Schritt ist eine einzige HTTP-Anfrage.

Einen neuen Dienst überwachen

Legen Sie nach dem ersten Deployment eines Dienstes im selben Job seinen Monitor an und behalten Sie die zurückgegebene ID für spätere Schritte.

# after a new service is deployed: watch its health endpoint
curl -fsS -X POST https://api.alertsleep.com/public/v1/monitors \
  -H "AuthToken: $ALERTSLEEP_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"friendly_name\":\"$SERVICE (prod)\",
       \"url\":\"https://$SERVICE.example.com/healthz\",
       \"type\":\"http\",\"interval_seconds\":60}" \
  | jq -r .monitor.id

Einen Server außer Betrieb nehmen

Pausieren Sie seine Monitore, während er geleert oder neu aufgebaut wird, und setzen Sie sie fort, wenn er wieder da ist. Ein pausierter Monitor sendet keine Alarme.

# taking a server out of service: stop checking it
curl -fsS -X PUT https://api.alertsleep.com/public/v1/monitors/$MONITOR_ID \
  -H "AuthToken: $ALERTSLEEP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status": "paused"}'

# back in service
curl -fsS -X PUT https://api.alertsleep.com/public/v1/monitors/$MONITOR_ID \
  -H "AuthToken: $ALERTSLEEP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status": "up"}'

Belegen, dass das Backup gelaufen ist

Melden Sie den Start, den Erfolg oder den Exit-Code. Ein Lauf, der nie startet, nie endet oder fehlschlägt, löst eine E-Mail aus.

#!/usr/bin/env bash
# nightly backup: report the start, the success or the exit code
set -o pipefail
PING=https://api.alertsleep.com/v1/ping/YOUR-TOKEN
curl -fsS "$PING/start"
if pg_dump "$DATABASE_URL" | gzip > /backups/db.sql.gz; then
  curl -fsS "$PING"
else
  curl -fsS "$PING/fail" -d exit_code=$? -d message="pg_dump failed"
fi

Öffentliche API unter /public/v1, ein API-Token im AuthToken-Header, bis zu 500 Anfragen pro Minute und Token. Ein Wartungsfenster dauert höchstens 24 Stunden, sodass eine Pipeline, die mittendrin abbricht, Ihre Monitore nicht dauerhaft stummschalten kann. Weitere Beispiele für Entwickler

Weniger Fehlalarme um 3 Uhr nachts

Ein Alarm, hinter dem nichts steckt, bringt allen bei, den nächsten zu ignorieren.

Bestätigt von einem zweiten Standort

Schlägt eine HTTP- oder Keyword-Prüfung fehl, wird dieselbe Anfrage sofort von einem zweiten, unabhängigen Standort wiederholt. Kommt sie dort durch, wird niemand alarmiert.

Aufeinanderfolgende Fehler

Legen Sie fest, wie viele fehlgeschlagene Prüfungen in Folge, von 1 bis 10, einen Vorfall eröffnen, wenn keine zweite Meinung verfügbar ist, etwa bei einem Port-Monitor.

Wartungsfenster

Geplante Arbeiten lösen keine Alarme aus und senken Ihre Verfügbarkeit nicht. Öffnen Sie ein Wartungsfenster im Dashboard oder aus der Pipeline und beenden Sie es vorzeitig, wenn Sie fertig sind.

Ihr eigener Timeout

Zwischen 5 und 60 Sekunden pro Monitor, sodass ein langsamer, aber gesunder Endpunkt grün bleibt und ein hängender rot wird.

Kanäle pro Monitor

Die Produktion kann Sie anrufen, während Staging nur in einen Chat-Kanal postet.

Sie erfahren, wann es vorbei ist

Eine Entwarnung bei der ersten erfolgreichen Prüfung, und der Vorfall mit seiner Ursache in der Historie.

Wohin Alarme gehen

Alle an einem Monitor aktivierten Kanäle werden im selben Moment alarmiert.

E-Mail SMS Telefonanruf Slack Microsoft Teams Discord Telegram WhatsApp Webhook
Alle Integrationen
  • Der Alarm nennt, was fehlgeschlagen ist: den Statuscode, den Timeout, den DNS-, Verbindungs- oder TLS-Fehler oder das fehlende Keyword.
  • Der Webhook sendet JSON bei monitor.down, monitor.up und Zertifikatsereignissen, signiert mit HMAC-SHA256, wenn Sie ein Secret setzen.
  • SMS und Telefonanrufe sind im Tarif enthalten, ab $59 pro Jahr, als monatliches Kontingent ohne Guthabenpakete zum Nachkaufen.
  • Telefonanrufe und SMS können auf Englisch, Deutsch, Französisch, Spanisch, Polnisch oder Tschechisch verfasst werden.

Liegt es an Ihrem Stack oder an Ihrem Anbieter?

Prüfen Sie die Cloud-, Hosting- und Entwicklerdienste, auf denen Sie laufen. Jede Seite zeigt unsere eigenen Prüfungen und die offiziellen Vorfälle des Anbieters.

Was AlertSleep nicht ist

Damit Sie es vor der Anmeldung wissen.

  • Es prüft von außen und erreicht daher nur öffentliche Adressen. Dienste in einem privaten Netzwerk oder hinter einem VPN können nicht überwacht werden, und es gibt keinen Agenten zu installieren.
  • Es zeichnet Verfügbarkeit und Antwortzeit auf, keine Metriken: keine CPU oder Speicher, keine Query-Performance, Connection-Pools oder Replikationsverzögerung, keine Logs oder Traces.
  • Es erkennt nichts automatisch. Es gibt keine Kubernetes-Integration; jeder Endpunkt oder Port ist ein Monitor, den Sie anlegen, im Dashboard oder über die API.
  • Es gibt keine CI-Plugins, keinen Terraform-Provider und keine YAML-Konfiguration. curl in einem Pipeline-Schritt erledigt dieselbe Aufgabe.
  • Es gibt keine PagerDuty- oder Opsgenie-Integration und keine Rufbereitschaftsplanung. Der generische Webhook kann ein Tool beliefern, das eingehende Webhooks annimmt.
  • Eine Port-Prüfung ist eine TCP-Verbindung und nicht mehr; UDP wird nicht unterstützt.

Häufig gestellte Fragen

Wie passt AlertSleep in eine CI/CD-Pipeline?

Über die REST-API, mit curl oder einem beliebigen HTTP-Client in einem Pipeline-Schritt. Öffnen Sie vor einem Deployment ein Wartungsfenster und beenden Sie es danach, legen Sie einen Monitor für einen neuen Dienst an oder pausieren Sie die Monitore eines Servers, den Sie außer Betrieb nehmen. Es sind keine Plugins zu installieren.

Wie vermeide ich Alarme während eines Deployments?

Öffnen Sie ein Wartungsfenster für die betroffenen Monitore, im Dashboard oder per POST an /public/v1/maintenance-windows, und beenden Sie es, wenn das Deployment fertig ist. Die Prüfungen laufen weiter, aber es gehen keine Alarme raus, und das Wartungsfenster senkt Ihre Verfügbarkeit nicht. Ein Wartungsfenster dauert höchstens 24 Stunden.

Kann AlertSleep Kubernetes überwachen?

Es kann überwachen, was Kubernetes öffentlich bereitstellt: Ingress-Hosts, Health-Endpunkte und TCP-Ports auf öffentlichen Load Balancern. Es kommuniziert nicht mit dem Cluster, erkennt keine Dienste und sieht keine Pods, daher ist jeder Endpunkt ein Monitor, den Sie anlegen, von Hand oder über die API aus Ihrem Deployment-Job.

Kann ich Datenbanken und interne Dienste überwachen?

Nur, wenn sie aus dem Internet erreichbar sind. Ein Port-Monitor öffnet eine TCP-Verbindung zu einer öffentlichen Adresse und meldet, ob sie angenommen wurde. Private Adressen werden abgelehnt, und Query-Performance oder Replikationsverzögerung werden nicht gemessen.

Lässt sich AlertSleep mit PagerDuty oder Opsgenie verbinden?

Nicht direkt. Alarme gehen per E-Mail, SMS, Telefonanruf, Slack, Microsoft Teams, Discord, Telegram, WhatsApp und über einen generischen, signierten Webhook raus. Um ein Rufbereitschafts-Tool zu nutzen, richten Sie den Webhook auf eine Integration dieses Tools, die eingehende Webhooks annimmt.

Wie schnell erfahre ich von einem Ausfall?

Die Prüfungen laufen alle 60 Sekunden. Eine fehlgeschlagene HTTP- oder Keyword-Prüfung wird sofort von einem zweiten Standort wiederholt, und wenn beide übereinstimmen, geht der Alarm sofort raus. Port-Monitore warten auf die von Ihnen festgelegte Anzahl aufeinanderfolgender Fehler.

Gibt es einen Terraform-Provider oder eine YAML-Konfiguration?

Nein. Monitore werden im Dashboard oder über die REST-API angelegt, die ein Skript oder ein Pipeline-Schritt aufrufen kann, um die Monitore mit dem abzugleichen, was Sie deployen.

Kann ich es kostenlos testen?

Ja. Beide Tarife beginnen mit einer 14-tägigen Testphase inklusive API, Wartungsfenstern und SMS-Alarmen, ohne Karte. Nach der Testphase kostet es ab $59 pro Jahr.

Stellen Sie Ihren ersten Endpunkt unter Beobachtung

Legen Sie ihn im Dashboard oder mit einem einzigen API-Aufruf an und schalten Sie ihn bei Ihrem nächsten Deployment stumm. 14 Tage kostenlos testen, ohne Karte.