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 /fail od 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.