# Monitoring cron

Source: https://instatus.com/help/pl/monitoring/cron

Monitory cron nadają każdemu zaplanowanemu zadaniu (kopii zapasowej, procesowi wsadowemu czy cyklicznemu skryptowi) unikalny adres URL do pingowania i alarmują Cię, gdy ping się spóźnia lub nie dociera. Zadanie zostaje oznaczone jako mające obniżoną wydajność, gdy przekroczy okres, a jako niedziałające, gdy przekroczy także karencję.

Tak jak w przypadku [innych monitorów](https://instatus.com/help/pl/monitoring), gdy zadanie cron zawiedzie, możesz wspólnie z zespołem [rozwiązać incydent](https://instatus.com/help/pl/incident-response) i opcjonalnie zaktualizować swoją [stronę statusu](https://instatus.com/help/pl/status-page).

| At a glance | Details |
| :-- | :-- |
| [Jak to działa](https://instatus.com/help/pl/monitoring/cron#typ-monitora) | Zadanie pinguje unikalny URL przy każdym uruchomieniu |
| [Okres](https://instatus.com/help/pl/monitoring/cron#monitor-jest-udany-jeśli) | Jak często zadanie powinno się wykonywać |
| [Karencja](https://instatus.com/help/pl/monitoring/cron#monitor-jest-udany-jeśli) | Zapas czasu, zanim spóźnione zadanie uznamy za awarię |
| [Spóźniony ping](https://instatus.com/help/pl/monitoring/cron#monitor-jest-udany-jeśli) | Obniżona wydajność po okresie, awaria po karencji |
| [Sygnał awarii](https://instatus.com/help/pl/monitoring/cron#zgłaszanie-awarii) | Wyślij żądanie na URL z dopiskiem /fail |
| [Czas wykonania](https://instatus.com/help/pl/monitoring/cron#mierzenie-czasu-wykonania-zadania) | Pinguj /start na początku zadania, a URL na końcu |

Tak wygląda przykładowa lista monitorów cron:

![Lista monitorów cron](https://instatus.com/help/monitors/cron-list.png)

## Co robi monitor cron?

- Weryfikacja, czy zadania cron wykonują się na czas (na podstawie pingów wysyłanych przez zadania).
- Alerty, gdy zadanie się spóźnia lub nie kończy.
- Alerty przez Slacka, e-mail, SMS, połączenia telefoniczne i inne kanały.

Po kliknięciu monitora cron zobaczysz więcej szczegółów:

![Szczegóły monitora cron](https://instatus.com/help/monitors/cron-item.png)

## Jak dodać monitor cron?

Przejdź do swojego projektu → Monitory → Dodaj monitor, wybierz **Cron/Heartbeat**, a następnie skieruj swoje zadanie na wygenerowany adres URL i ustaw jego okres oraz karencję.

![Dodaj monitor](https://instatus.com/help/monitors/cron-add.png)

### Typ monitora

Wybierz **Cron/Heartbeat** jako typ monitora.

![Typ monitora: cron](https://instatus.com/help/monitors/type-cron.png)

Wygenerujemy dla Ciebie unikalny adres URL. Twoje zadanie cron powinno przy każdym uruchomieniu wysyłać na ten adres żądanie HTTP (`HEAD`, `GET` lub `POST`).

### Monitor jest udany, jeśli

Monitor cron kończy się powodzeniem, gdy zadanie odpytuje wygenerowany adres URL zgodnie z harmonogramem. Możesz skonfigurować:

- **Okres:** Jak często zadanie ma się wykonywać (np. co 15 minut).
- **Karencja:** Dodatkowy czas, zanim zadanie zostanie uznane za niedziałające.

Jeśli minie okres, a zadanie nie wyśle pinga, monitor zostanie oznaczony jako mający obniżoną wydajność.

Jeśli minie karencja, a zadanie nie wyśle pinga, monitor zostanie oznaczony jako niedziałający.

Możesz skonfigurować [alerty](https://instatus.com/help/pl/monitoring/alerts), aby otrzymywać powiadomienia, gdy zadanie zawiedzie, obniży wydajność lub wróci do działania.

## Zgłaszanie awarii

Wyślij żądanie na adres URL monitora z dopiskiem `/fail`, aby oznaczyć zadanie jako nieudane, nawet jeśli zostało wykonane i wysłało pinga do monitora.

Przydaje się to, gdy Twój skrypt napotka błąd i chcesz, aby Instatus od razu odnotował zadanie jako nieudane.

- **Ping powodzenia**: `https://cron.instatus.com/your-unique-url`
- **Ping awarii**: `https://cron.instatus.com/your-unique-url/fail`

Po odebraniu sygnału awarii monitor zostanie oznaczony jako niedziałający, a alerty zostaną wysłane natychmiast zgodnie z Twoimi [ustawieniami alertów](https://instatus.com/help/pl/monitoring/alerts).

## Mierzenie czasu wykonania zadania

Wyślij dwa żądania: `/start`, gdy zadanie się rozpoczyna, oraz ping powodzenia lub awarii, gdy się kończy, a Instatus zapisze czas między nimi jako czas wykonania zadania:

1. **Sygnał startu**: Wyślij żądanie na `/start`, gdy zadanie się rozpoczyna
2. **Sygnał powodzenia/awarii**: Wyślij żądanie na bazowy adres URL, gdy zadanie się zakończy lub zawiedzie

- **Ping startu**: `https://cron.instatus.com/your-unique-url/start`
- **Ping powodzenia**: `https://cron.instatus.com/your-unique-url`
- **Ping awarii**: `https://cron.instatus.com/your-unique-url/fail`

Czas między sygnałem startu a sygnałem powodzenia zostanie zapisany jako czas wykonania zadania. Pomaga to śledzić wydajność i wykrywać zadania, które trwają dłużej niż powinny.

Jeśli zadanie zawiedzie po wysłaniu sygnału startu, wyślij sygnał awarii zamiast sygnału powodzenia — zadanie zostanie oznaczone jako nieudane, a czas wykonania i tak zostanie zapisany.

Gratulacje, pierwszy monitor cron dodany!

- [Monitory ping](https://instatus.com/help/pl/monitoring/ping): Dowiedz się, jak monitorować endpointy ping pod kątem dostępności i wydajności
