# API 모니터링

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

API 모니터는 30초마다 엔드포인트에 설정한 HTTP 요청을 보내고, 접근할 수 없거나 느리거나 잘못된 데이터를 반환하면 알립니다. 메서드, 헤더, 본문, 인증을 직접 지정하고 상태 코드, JSON 본문, 헤더, 응답 시간을 검증할 수 있습니다.

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

| At a glance | Details |
| :-- | :-- |
| [체크 주기](https://instatus.com/help/ko/monitoring/api#고급-설정) | 30초마다 |
| [HTTP 메서드](https://instatus.com/help/ko/monitoring/api#요청-설정) | GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD |
| [요청 본문](https://instatus.com/help/ko/monitoring/api#요청-설정) | JSON, 폼 데이터, GraphQL, 일반 텍스트 |
| [인증](https://instatus.com/help/ko/monitoring/api#요청-설정) | Basic 인증, API 키, Bearer 토큰 |
| [조건](https://instatus.com/help/ko/monitoring/api#다음-조건을-만족하면-성공으로-처리) | 상태 코드, 응답 시간, 본문, JSON 경로, 헤더 |
| [체크 지역](https://instatus.com/help/ko/monitoring/api#고급-설정) | 미국, 캐나다, 유럽, 아시아 |

![모니터](https://instatus.com/help/monitors/item.png)

## API 모니터는 무엇을 체크하나요?

- 전 세계 여러 지역에서 30초마다 API 엔드포인트를 테스트합니다.
- HTTP 상태 코드, JSON 본문, 헤더, 응답 시간을 검증합니다.
- 커스텀 헤더, 쿼리 파라미터, JSON 페이로드를 포함할 수 있습니다.
- 엔드포인트가 다운되거나, 느리거나, 예상과 다른 결과를 반환하면 즉시 알림을 받습니다.
- Slack, 이메일, SMS, 전화, Webhook 등과 연동할 수 있습니다.

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

프로젝트 → 모니터 → 모니터 추가로 이동해 **API**를 선택하고 엔드포인트 URL을 입력한 다음 요청을 구성하고 엔드포인트가 정상이라고 판단할 조건을 설정하세요.

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

### 모니터 유형

모니터 유형으로 **API**를 선택하세요.

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

모니터링할 엔드포인트 URL을 입력하세요. 예를 들면  
`https://api.yourservice.com/v1/users`처럼 입력합니다.

### 요청 설정

API 요청을 자유롭게 구성할 수 있습니다.

- **HTTP 메서드:** `GET`, `POST`, `PUT`, `PATCH`, `DELETE`, `OPTIONS`, `HEAD`
- **본문:** 요청과 함께 JSON, form 데이터, GraphQL 또는 일반 텍스트를 보냅니다
- **인증:** 기본 인증, API 키 또는 Bearer 토큰 인증을 추가합니다
- **쿼리 파라미터:** 요청 URL에 키/값 쌍을 추가합니다
- **헤더:** API 요청에 필요한 커스텀 헤더를 추가합니다

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

API 모니터는 지정한 모든 조건이 충족될 때 성공합니다.  
다음 조건을 하나 이상 설정할 수 있습니다.

- **상태 코드:** 예를 들어 응답이 `200 OK`인 경우
- **응답 시간:** 예를 들어 `1초` 미만인 경우
- **본문 포함:** 예를 들어 `"success": true`가 포함된 경우
- **JSON 경로:** 예를 들어 `data.status`가 `"active"`인 경우
- **헤더 포함:** 예를 들어 `Content-Type: application/json`인 경우

이 조건 중 하나라도 충족되지 않으면 모니터는 **장애** 상태로 표시되고 [알림 설정](https://instatus.com/help/ko/monitoring/alerts)에 따라 알림이 발송됩니다.

### 고급 설정

![모니터 고급 설정](https://instatus.com/help/monitors/advanced-settings.png)

- **표시 이름:** 쉽게 알아볼 수 있도록 모니터에 이름을 지정하세요.
- **체크 실행 간격:** 엔드포인트를 얼마나 자주 테스트할지 결정하세요.
- **실행 지역:** 테스트할 지역을 선택하세요 (미국, 캐나다, 유럽, 아시아).
- **상태 페이지에 추가:** API의 가동률과 응답 통계를 공개적으로 표시합니다.
- **모니터가 실패하면:** 인시던트를 생성하거나, 구독자에게 알리거나, 상태 페이지에 게시합니다.
- **모니터가 복구되면:** 인시던트를 해결하고 상태 페이지를 자동으로 업데이트합니다.

축하합니다. 첫 API 모니터를 추가했습니다!

- [Cron 모니터링](https://instatus.com/help/ko/monitoring/cron): 예약 작업과 백그라운드 작업을 모니터링하는 방법을 알아보세요
