# Моніторинг Cron

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

Cron-монітори дають кожному запланованому завданню (резервній копії, пакетній обробці чи регулярному скрипту) унікальний URL для пінгу й сповіщають вас, коли пінг запізнюється або не надходить. Завдання позначається як зі зниженою продуктивністю, коли пропускає свій період, і як недоступне, коли пропускає ще й запас часу.

Як і з [іншими моніторами](https://instatus.com/help/uk/monitoring), коли cron-завдання падає, ви можете разом із командою [вирішити інцидент](https://instatus.com/help/uk/incident-response) і за бажанням оновити свою [сторінку статусу](https://instatus.com/help/uk/status-page).

| At a glance | Details |
| :-- | :-- |
| [Як це працює](https://instatus.com/help/uk/monitoring/cron#тип-монітора) | Завдання пінгує унікальний URL під час кожного запуску |
| [Період](https://instatus.com/help/uk/monitoring/cron#монітор-успішний-якщо) | Як часто має виконуватися завдання |
| [Запас часу](https://instatus.com/help/uk/monitoring/cron#монітор-успішний-якщо) | Додатковий час, перш ніж завдання вважати недоступним |
| [Запізнілий пінг](https://instatus.com/help/uk/monitoring/cron#монітор-успішний-якщо) | Знижена продуктивність після періоду, збій після запасу |
| [Сигнал про збій](https://instatus.com/help/uk/monitoring/cron#сигнал-про-збій) | Запитайте URL із додаванням /fail |
| [Час виконання](https://instatus.com/help/uk/monitoring/cron#вимірювання-часу-виконання-завдання) | Пінг /start на початку, URL у кінці завдання |

Ось приклад того, як виглядає список ваших cron-моніторів:

![Список cron-моніторів](https://instatus.com/help/monitors/cron-list.png)

## Що робить cron-монітор?

- Перевірка того, що ваші cron-завдання виконуються вчасно (за пінгами від самих завдань).
- Сповіщення, якщо завдання запізнюється або не завершується.
- Сповіщення через Slack, email, SMS, телефонні дзвінки та інші канали.

Коли ви натискаєте на cron-монітор, ви бачите докладнішу інформацію:

![Деталі cron-монітора](https://instatus.com/help/monitors/cron-item.png)

## Як додати cron-монітор?

Перейдіть до свого проєкту → Монітори → Додати монітор, виберіть **Cron/Heartbeat**, налаштуйте завдання на згенерований URL і задайте його період та запас часу.

![Додати монітор](https://instatus.com/help/monitors/cron-add.png)

### Тип монітора

Виберіть **Cron/Heartbeat** як тип монітора.

![Тип монітора Cron](https://instatus.com/help/monitors/type-cron.png)

Для вас буде згенеровано унікальний URL. Ваше cron-завдання має надсилати HTTP-запит (`HEAD`, `GET` або `POST`) на цей URL щоразу, коли виконується.

### Монітор успішний, якщо

Cron-монітор вважається успішним, коли ваше завдання пінгує згенерований URL за розкладом. Ви можете налаштувати:

- **Період:** як часто має виконуватися завдання (наприклад, кожні 15 хвилин).
- **Запас часу:** додатковий час, після якого завдання вважається недоступним.

Якщо період минув, а завдання не надіслало пінг, монітор буде позначено як такий, що втратив продуктивність.

Якщо минув і запас часу, а завдання так і не надіслало пінг, монітор буде позначено як недоступний.

Ви можете налаштувати [сповіщення](https://instatus.com/help/uk/monitoring/alerts), щоб дізнаватися, коли завдання падає, втрачає продуктивність або відновлюється.

## Сигнал про збій

Надішліть запит на URL монітора з додаванням `/fail`, щоб позначити завдання як невдале, навіть якщо воно виконалося й пінгнуло монітор.

Це зручно, якщо ваш скрипт натрапив на помилку і ви хочете, щоб Instatus одразу зафіксував завдання як невдале.

- **Пінг про успіх**: `https://cron.instatus.com/your-unique-url`
- **Пінг про збій**: `https://cron.instatus.com/your-unique-url/fail`

Отримавши сигнал про збій, монітор буде позначено як недоступний, а сповіщення надійдуть негайно відповідно до ваших [налаштувань сповіщень](https://instatus.com/help/uk/monitoring/alerts).

## Вимірювання часу виконання завдання

Надішліть два запити: `/start` на початку завдання та пінг про успіх чи збій у кінці — Instatus запише час між ними як час виконання завдання:

1. **Сигнал про початок**: надішліть запит на `/start`, коли завдання починається
2. **Сигнал про успіх/збій**: надішліть запит на базовий URL, коли завдання завершується або падає

- **Пінг про початок**: `https://cron.instatus.com/your-unique-url/start`
- **Пінг про успіх**: `https://cron.instatus.com/your-unique-url`
- **Пінг про збій**: `https://cron.instatus.com/your-unique-url/fail`

Час між сигналами про початок і про успіх буде записано як тривалість виконання завдання. Це допомагає стежити за продуктивністю й помічати завдання, які тривають довше, ніж очікувалося.

Якщо завдання падає після сигналу про початок, надішліть сигнал про збій замість сигналу про успіх — так воно буде позначене як невдале, але тривалість виконання все одно буде записано.

Вітаємо, ви додали свій перший cron-монітор!

- [Монітори Ping](https://instatus.com/help/uk/monitoring/ping): Дізнайтеся, як стежити за доступністю та продуктивністю своїх ping-ендпоїнтів
