200 OK не значит, что ИИ-модель действительно отвечает
Обычная HTTP-проверка может показывать зелёный статус, даже если пользователи уже не получают ответы от ИИ-сервиса. В Statuser для этого случая добавили отдельный мониторинг, который проверяет не только гейтвей, но и саму модель.
Почему зелёный статус может ввести в заблуждение
История началась с пользователя Statuser: в его продукте модель разбирала обращения клиентов и помогала операторам с черновиками ответов. В какой-то момент функция перестала работать, но стандартный мониторинг по адресу ИИ-гейтвея по-прежнему показывал, что всё в порядке.
Проблему заметили не системы наблюдения, а сотрудники поддержки. Оказалось, что провайдер снял выбранную модель с обслуживания, при этом сам гейтвей продолжал отвечать на обычный GET-запрос. Для HTTP-монитора это выглядело как успех, хотя до генерации он даже не доходил.
Что изменили в Statuser
После этого случая Михаил Шпаков добавил в Statuser отдельный тип проверки для ИИ-моделей. Теперь сервис может не просто обратиться к адресу эндпоинта, а отправить настоящий запрос к выбранной модели и проверить, что она отвечает по ожидаемому контракту.
Сейчас Statuser работает с текстовыми моделями через OpenAI-совместимый и Anthropic-совместимый chat API. Поддерживаются официальные API провайдеров, сторонние гейтвеи, корпоративные прокси и модели, развёрнутые у себя. Пользователь выбирает адрес, формат API и модель, а также решает, проверять только доступность гейтвея или ещё и ответ модели.
Как это помогает на практике
У проверки есть два режима. Без ключа Statuser смотрит список моделей и оценивает только доступность гейтвея; даже ответ с требованием авторизации здесь считается нормальным, потому что сервис на месте. Если нужен более глубокий контроль, проверка с ключом отправляет реальный запрос на генерацию: для OpenAI-совместимого API это POST /chat/completions, для Anthropic-совместимого — POST /messages.
Такой подход полезен всем, кто использует ИИ в рабочих процессах: поддержке, продажах, внутренних помощниках, чатах и автоматизации. Если модель сняли с обслуживания, закончились средства, выросли лимиты или провайдер вернул 401, 410 или 429, сервис сможет показать не просто ошибку, а понятную причину.
Что ещё важно знать о проверках
Поскольку такие мониторы отправляют реальные запросы, они расходуют токены клиента. В Statuser это учитывают заранее: есть оценка расхода по тарифам провайдера, хранение ключа в зашифрованном виде с помощью AES-256-GCM и ограничение на использование ключа только для адреса, который привязан к монитору.
Чтобы не потратить больше нормы, сервис следит за количеством запросов в сутки. Если расход превышает допустимый уровень в полтора раза, Statuser временно переключает монитор в режим проверки доступности, отправляет внутренний алерт и через 12 часов возвращает полную проверку обратно. Это защищает ключ от лишнего расхода и помогает не пропустить реальную проблему.