Зачем мониторить REST API?
Даже если ваш сайт работает, это не значит, что работает API. Ошибки в маршрутах, зависания в БД, неправильные заголовки или сбой reverse proxy могут привести к тому, что клиенты получат ошибку — а вы об этом не узнаете.
Подход 1: Простой ping
Ping — это просто HTTP-запрос, отправляемый через равные промежутки времени. Например, каждую минуту мы проверяем URL https://api.example.com/health
.
Ответ должен быть:
- Код ответа 200
- По возможности: JSON с информацией о статусе
Если код отличается от 200 или нет ответа, отправляется алерт.
Пример healthcheck-эндпоинта
# Flask (Python)
@app.route("/health")
def health():
return {"status": "ok"}, 200
Этот эндпоинт не должен зависеть от авторизации, кэша, сторонних API или нестабильных источников данных.
Как добавить мониторинг
- Создайте монитор в панели OKchecker, укажите URL
/health
- Выберите интервал проверки (например, каждые 60 секунд)
- Настройте алерты: Email, Telegram, Slack
А что если ответ медленный?
Можно задать таймаут проверки: например, если нет ответа за 5 секунд — считаем, что API недоступен. Также можно отслеживать время ответа и строить графики.
Дополнительно: авторизация
Если API требует токен, укажите его в заголовках. Например:
Authorization: Bearer xxxxxx
Советы
- Проверяйте не только
/health
, но и критичные маршруты (например,/api/v1/orders
) - Добавьте проверку ключевых слов в ответе
- Периодически тестируйте отключение API вручную
Вывод
Мониторинг REST API — это просто, но критически важно. Лучше узнать о проблеме первым, чем от клиента. Наш сервис поможет отслеживать всё, что важно, и реагировать быстро.
Начать мониторинг