Dokumentation

Schnellstart

CronBeacon in 5 Minuten integrieren.

  1. Erstellen Sie ein Konto auf cronbeacon.com
  2. Generieren Sie einen API-Token im Tab Tokens
  3. Fügen Sie den Bash-Wrapper zu Ihren Cron Jobs hinzu (oder einen einfachen curl)
  4. Konfigurieren Sie den Schedule jedes Jobs, um die Erkennung fehlender Ausführungen zu aktivieren

Grundkonzepte

Job

Ein Job repräsentiert eine zu überwachende geplante Aufgabe (Cron, ETL, Backup, Worker...). Sie definieren den erwarteten Zeitplan und CronBeacon prüft, ob er korrekt ausgeführt wird.

Run

Ein Run ist eine einzelne Ausführung eines Jobs. Jedes empfangene Event (started, succeeded, failed) erstellt einen unveränderlichen Run mit Zeitstempel, Dauer und Metadaten.

Benachrichtigung

Eine Benachrichtigung wird ausgelöst, wenn ein Job seinen Zeitplan verpasst (missed), fehlschlägt (failing) oder sich verschlechtert. Benachrichtigungen werden per E-Mail, Slack oder Webhook gemäß Ihren konfigurierten Kanälen gesendet.

Status

Der Status eines Jobs wird kontinuierlich berechnet: on_time, late, degraded, missed, failing. Der Zuverlässigkeitswert (7T / 30T) gibt einen langfristigen Überblick über den Zustand jedes Jobs.

Job-Status

StatusBedeutung
on_timeDer letzte Run war erfolgreich und innerhalb der erwarteten Zeit.
lateDer Run war erfolgreich, aber nach der Grace period.
degradedDer Job läuft, aber mit Anomalien (übermäßige Dauer, teilweise Fehler).
missedKein Run innerhalb der erwarteten Zeit empfangen. Der Job wurde wahrscheinlich nicht ausgeführt.
failingDer letzte Run ist fehlgeschlagen (Event: failed).

Integration

Bash wrapper
#!/bin/bash
CB_TOKEN="cb_your_token"
CB_URL="https://cronbeacon.com/api/v1/ingest/events"
CB_JOB="my_job_key"

START=$(date +%s%3N)
/path/to/your_script.sh
EXIT_CODE=$?
DURATION=$(( $(date +%s%3N) - START ))

if [ $EXIT_CODE -eq 0 ]; then
  EVENT="succeeded"; MSG="ok"
else
  EVENT="failed"; MSG="exit code $EXIT_CODE"
fi

curl -s -X POST "$CB_URL" \
  -H "Authorization: Bearer $CB_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"job_key\":\"$CB_JOB\",\"event\":\"$EVENT\",\"duration_ms\":$DURATION,\"message\":\"$MSG\"}"
curl — Einzelnes Event
curl -X POST https://cronbeacon.com/api/v1/ingest/events \
  -H "Authorization: Bearer cb_your_token" \
  -H "Content-Type: application/json" \
  -d '{"job_key":"nightly_backup","event":"succeeded","duration_ms":4200}'
PHP
$ch = curl_init('https://cronbeacon.com/api/v1/ingest/events');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer cb_your_token',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'job_key' => 'nightly_backup',
        'event' => 'succeeded',
        'duration_ms' => 4200,
    ]),
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
Vollständige API-Referenz ansehen