Dokumentacja
Heartbeaty cron
Heartbeat pilnuje zadania, które powinno uruchamiać się według harmonogramu: kopii zapasowej, workera kolejki, nocnego importu. Twoje zadanie wywołuje adres URL, gdy się uruchamia; jeśli wywołanie nie dotrze na czas, wysyłamy alert.
Konfiguracja
Przejdź do Heartbeaty → Nowy heartbeat, nadaj nazwę i ustaw:
- Uruchamiane co: jak często zadanie się uruchamia (co godzinę, codziennie…);
- Czas tolerancji: ile może się spóźnić, zanim wyślemy alert.
Dostajesz unikalny adres URL, na przykład:
https://pulsekeeper.io/hb/00000000000000000000000000000000
Wysyłanie pingów
Wywołaj adres URL na końcu zadania. Działają GET, POST i HEAD.
# crontab: run the backup, then report in
0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 3 https://pulsekeeper.io/hb/00000000000000000000000000000000
Aby wprost zgłosić błąd, dodaj /fail:
0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 https://pulsekeeper.io/hb/00000000000000000000000000000000 || curl -fsS -m 10 https://pulsekeeper.io/hb/00000000000000000000000000000000/fail
W GitHub Actions lub innym CI:
- name: Report to PulseKeeper
if: success()
run: curl -fsS -m 10 --retry 3 ${{ secrets.PULSEKEEPER_HEARTBEAT_URL }}
Jak działają alerty
- Przed pierwszym pingiem niczego nie oczekujemy, więc nowy heartbeat nie wysyła alertu.
- Jeśli następny ping nie dotrze w ciągu okresu powiększonego o tolerancję, otwiera się incydent, a Twoje kanały dostają alert.
- Ping na
/failod razu otwiera incydent. - Następny udany ping go rozwiązuje.
- Jeśli to my przez jakiś czas nie mogliśmy odbierać pingów, pominięty ping w tym oknie nie wywołuje alertu. Zamiast tego przesuwa się termin.
Adres heartbeatu przyjmuje do 60 pingów na minutę. Traktuj go jak hasło: każdy, kto go zna, może wysyłać pingi.