Monitor cron jobów działa odwrotnie niż sprawdzanie strony: to Twoje zadanie wywołuje adres URL przy każdym uruchomieniu. Jeśli wywołanie nie dotrze na czas, dostajesz alert. Używaj go do kopii zapasowych, nocnych importów, workerów kolejek i wszystkiego, co działa bez niczyjego nadzoru.
Utwórz monitor cron joba
Otwórz Monitors, wybierz filtr Cron jobs, a następnie New cron job.W sekcji The job runs wybierz On an interval lub On a cron schedule.W przypadku harmonogramu cron wpisz Cron expression ze swojego crontaba, np. 0 3 * * *, oraz Time zone, w której działa crontab serwera. Formularz już podczas wpisywania pokazuje kolejne uruchomienia i uwzględnia zmianę czasu.Ustaw Grace period: ile ping może się spóźnić, zanim wyślemy alert.Opcjonalnie ustaw Maximum run time, aby dostać alert, gdy uruchomienie trwa zbyt długo.Zaznacz kanały alertów i wybierz Create monitor. Skopiuj Ping URL ze strony, która się otworzy.
Wywołaj adres URL ze swojego zadania
Najprostsza konfiguracja wysyła ping, gdy zadanie zakończy się powodzeniem:
0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 –retry 3 -o /dev/null https://app.uptimecheck.com/api/hb/your-token
Dzięki połączeniu przez && ping zostaje wysłany tylko wtedy, gdy zadanie się powiedzie. Liczy się żądanie GET, POST lub HEAD.
Czas działania, kody wyjścia i output
Na początku zadania wywołaj ping URL z dopiskiem /start. Zobaczysz, ile trwało każde uruchomienie, a maksymalny czas działania może wywołać alert.Wywołaj go z /fail albo z kodem wyjścia, np. /1, aby zgłosić, jak zakończyło się uruchomienie. /0 oznacza sukces.Wyślij output zadania metodą POST, a pokażemy go przy błędach i w alercie. Przechowujemy 10 000 znaków – początek i koniec – a żądania powyżej 64 kB są odrzucane, więc z długiego logu wysyłaj ostatni fragment, jak poniżej.
0 3 * * * curl -fsS -m 10 –retry 3 -o /dev/null https://app.uptimecheck.com/api/hb/your-token/start; /usr/local/bin/backup.sh > /tmp/backup.log 2>&1; code=$?; tail -c 60000 /tmp/backup.log | curl -fsS -m 10 –retry 3 –data-binary @- -o /dev/null https://app.uptimecheck.com/api/hb/your-token/$code
Strona cron joba pokazuje oba przykłady z Twoim własnym ping URL – skopiuj je stamtąd. Laravel, Kubernetes, GitHub Actions, systemd i Windows znajdziesz w przykładach pingów dla cron jobów. Więcej o monitorowaniu cron jobów oraz o tym, jak monitorować cron joby za pomocą heartbeatów.