# Мониторинг API

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

API-мониторы отправляют настраиваемый HTTP-запрос на эндпоинт каждые 30 секунд и оповещают вас, когда он недоступен, отвечает медленно или возвращает неверные данные. Вы задаёте метод, заголовки, тело и авторизацию, а проверяете код статуса, JSON-тело, заголовки и время отклика.

Как и с [другими мониторами](https://instatus.com/help/ru/monitoring), если монитор API находит проблему, вы можете вместе с командой [устранить инцидент](https://instatus.com/help/ru/incident-response) и при желании обновить [страницу статуса](https://instatus.com/help/ru/status-page).

| At a glance | Details |
| :-- | :-- |
| [Частота проверок](https://instatus.com/help/ru/monitoring/api#дополнительные-настройки) | Каждые 30 секунд |
| [HTTP-методы](https://instatus.com/help/ru/monitoring/api#настройка-запроса) | GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD |
| [Тело запроса](https://instatus.com/help/ru/monitoring/api#настройка-запроса) | JSON, данные формы, GraphQL, обычный текст |
| [Авторизация](https://instatus.com/help/ru/monitoring/api#настройка-запроса) | Basic auth, API-ключ, Bearer-токен |
| [Условия](https://instatus.com/help/ru/monitoring/api#проверка-успешна-если) | Код статуса, время отклика, тело, JSON-путь, заголовки |
| [Локации проверок](https://instatus.com/help/ru/monitoring/api#дополнительные-настройки) | США, Канада, Европа, Азия |

![Монитор](https://instatus.com/help/monitors/item.png)

## Что проверяет API-монитор?

- Проверка API-эндпоинтов из разных локаций по всему миру каждые 30 секунд.
- Проверка HTTP-кодов статуса, JSON-тела, заголовков и времени отклика.
- Свои заголовки, параметры запроса и JSON-полезная нагрузка.
- Мгновенные уведомления, если эндпоинт недоступен, работает медленно или возвращает неожиданный результат.
- Интеграция со Slack, email, SMS, телефонными звонками, вебхуками и другим.

## Как добавить 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, данные формы, GraphQL или обычный текст
- **Авторизация:** базовая аутентификация, API-ключ или Bearer-токен
- **Параметры запроса:** добавляйте пары ключ/значение к URL запроса
- **Заголовки:** добавляйте свои заголовки, необходимые для запроса

### Проверка успешна, если

Монитор API считается успешным, когда выполнены все заданные условия.  
Вы можете задать одну или несколько из следующих проверок:

- **Код статуса:** например, ответ `200 OK`
- **Время отклика:** например, менее `1 секунды`
- **Тело содержит:** например, `"success": true`
- **JSON-путь:** например, `data.status` равен `"active"`
- **Заголовок содержит:** например, `Content-Type: application/json`

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

### Дополнительные настройки

![Дополнительные настройки монитора](https://instatus.com/help/monitors/advanced-settings.png)

- **Понятное название:** дайте монитору описательное название, чтобы его было проще узнавать.
- **Выполнять проверки каждые:** решите, как часто проверять эндпоинт.
- **Проверять из:** выберите локации проверок (США, Канада, Европа, Азия).
- **Добавить на страницу статуса:** публично показывайте доступность API и статистику отклика.
- **Когда монитор падает:** создать инцидент, уведомить подписчиков или опубликовать на странице статуса.
- **Когда монитор восстанавливается:** решить инцидент и автоматически обновить страницу статуса.

Поздравляем, вы добавили свой первый монитор API!

- [Мониторинг Cron](https://instatus.com/help/ru/monitoring/cron): Узнайте, как следить за задачами по расписанию и фоновыми заданиями
