# Cron 모니터링

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

Cron 모니터는 예약 작업(백업, 배치 처리, 반복 스크립트)마다 핑을 보낼 고유 URL을 제공하고, 핑이 늦거나 누락되면 알립니다. 작업이 주기를 넘기면 성능 저하로, 유예 시간까지 넘기면 장애로 표시됩니다.

[다른 모니터](https://instatus.com/help/ko/monitoring)와 마찬가지로, cron 작업이 실패하면 팀과 함께 [인시던트를 해결](https://instatus.com/help/ko/incident-response)하고 필요하면 [상태 페이지](https://instatus.com/help/ko/status-page)를 업데이트할 수 있습니다.

| At a glance | Details |
| :-- | :-- |
| [작동 방식](https://instatus.com/help/ko/monitoring/cron#모니터-유형) | 작업이 실행될 때마다 고유 URL에 핑 |
| [주기](https://instatus.com/help/ko/monitoring/cron#다음-조건을-만족하면-성공으로-처리) | 작업이 실행되어야 하는 간격 |
| [유예 시간](https://instatus.com/help/ko/monitoring/cron#다음-조건을-만족하면-성공으로-처리) | 늦은 작업을 장애로 표시하기 전 추가 시간 |
| [늦은 핑](https://instatus.com/help/ko/monitoring/cron#다음-조건을-만족하면-성공으로-처리) | 주기 초과 시 성능 저하, 유예 시간 초과 시 장애 |
| [실패 신호](https://instatus.com/help/ko/monitoring/cron#실패-신호-보내기) | URL 끝에 /fail을 붙여 요청 |
| [실행 시간](https://instatus.com/help/ko/monitoring/cron#작업-실행-시간-측정하기) | 시작 시 /start, 종료 시 기본 URL에 핑 |

cron 모니터 목록은 다음과 같이 표시됩니다.

![cron 모니터 목록](https://instatus.com/help/monitors/cron-list.png)

## Cron 모니터는 무엇을 하나요?

- 작업이 보내는 핑을 이용해 cron 작업이 제때 실행되는지 확인합니다.
- 작업이 늦어지거나 끝나지 않으면 알림을 받습니다.
- Slack, 이메일, SMS, 전화 등과 연동해 알림을 받습니다.

cron 모니터를 클릭하면 더 자세한 정보를 볼 수 있습니다.

![cron 모니터 세부 정보](https://instatus.com/help/monitors/cron-item.png)

## Cron 모니터는 어떻게 추가하나요?

프로젝트 → 모니터 → 모니터 추가로 이동해 **Cron/하트비트**를 선택한 다음 생성된 URL로 작업이 핑을 보내도록 하고 주기와 유예 시간을 설정하세요.

![모니터 추가](https://instatus.com/help/monitors/cron-add.png)

### 모니터 유형

모니터 유형으로 **Cron/하트비트**를 선택하세요.

![cron 모니터 유형](https://instatus.com/help/monitors/type-cron.png)

전용 URL이 생성됩니다. cron 작업이 실행될 때마다 이 URL로 HTTP 요청(`HEAD`, `GET` 또는 `POST`)을 보내야 합니다.

### 다음 조건을 만족하면 성공으로 처리

cron 모니터는 작업이 일정에 맞춰 생성된 URL로 핑을 보낼 때 성공합니다. 다음을 설정할 수 있습니다.

- **주기:** 작업이 얼마나 자주 실행되어야 하는지 (예: 15분마다).
- **유예 시간:** 작업을 장애로 판단하기까지 추가로 허용하는 시간.

주기가 지나도 작업이 핑을 보내지 않으면 모니터는 성능 저하 상태로 표시됩니다.

유예 시간이 지나도 작업이 핑을 보내지 않으면 모니터는 장애 상태로 표시됩니다.

작업이 실패하거나, 성능이 저하되거나, 복구될 때 알림을 받도록 [알림](https://instatus.com/help/ko/monitoring/alerts)을 설정할 수 있습니다.

## 실패 신호 보내기

모니터 URL 끝에 `/fail`을 붙여 요청을 보내면 작업이 실행되어 모니터에 핑을 보냈더라도 실패로 표시됩니다.

스크립트에서 오류가 발생했을 때 Instatus가 해당 작업을 즉시 실패로 기록하게 하려는 경우에 유용합니다.

- **성공 핑**: `https://cron.instatus.com/your-unique-url`
- **실패 핑**: `https://cron.instatus.com/your-unique-url/fail`

실패 신호를 받으면 모니터는 장애 상태로 표시되고 [알림 설정](https://instatus.com/help/ko/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/ko/monitoring/ping): ping 엔드포인트의 가동률과 성능을 모니터링하는 방법을 알아보세요
