Эксплуатация

Квоты, уведомления и ChatOps

Квоты запросов на каждую базу 1С отдельно, встроенные лимиты частоты, уведомления в Telegram, email и вебхук, подписки ChatOps и алерт на всплеск ошибок.

Квоты не дают ассистентам мешать работе людей: лимит запросов задаётся на каждую базу отдельно, а события шлюза доставляются командам через уведомления и подписки ChatOps.

Квоты по базам

Раздел /web/admin/quotas показывает занятость, пики и превышения по всем базам в одной таблице; лимит конкретной базы меняется тут же, в боковой панели. Квота задаётся в пределах от 1 до 480 запросов в окно.

Резолвер квот fail-open: квота может только ужимать лимит внутри этих пределов, она никогда не обнуляет его (полная блокировка невозможна) и никогда не поднимает выше встроенного потолка. Любая ошибка конфигурации или кэша возвращает встроенный лимит, поэтому продовая база никогда не блокируется намертво из-за настройки квоты. Нулевые значения означают «наследовать» и ничего не меняют.

Покрытие квотой базы по умолчанию включается отдельно, переменной MCP_RATELIMIT_COVER_DEFAULT_BASE (по умолчанию выключено, поведение при обновлении не меняется).

Встроенные лимиты частоты

Независимо от квот действуют встроенные лимиты:

  • 5 неудачных Bearer-попыток в минуту с одного IP и 10 в час: пишется аудит-событие bearer_fail_burst, ответ HTTP 429 с заголовком Retry-After;
  • MCP-трафик на токен: 1 запрос в секунду устойчиво с бёрстом 30 запросов; превышение получает HTTP 429 с Retry-After.

Уведомления

События шлюза (действия авторов, жизненный цикл выгрузок конфигурации) доставляются через единый диспетчер уведомлений по каналам:

  • вебхук организации;
  • персональные email участников;
  • персональный Telegram: аккаунт привязывается кодом привязки, канал проверяется тестовой отправкой и мониторится на живость.

ChatOps: подписки и дайджесты

В разделе /web/admin/notifications/subscriptions администратор подписывает канал (Telegram, email или вебхук организации) на типы событий: провалы гейта ревью, ошибки, события аудита. Доставка либо поштучная (per-event), либо дайджестом за окно.

  • Двойная отправка дайджеста исключена структурно: окно доставки клеймится атомарно, это работает и при нескольких экземплярах шлюза.
  • Каналы переиспользуются как есть, нового исходящего трафика не появляется: вебхук это единственный канал организации, произвольный URL на подписку задать нельзя.
  • По умолчанию подписок нет и функция выключена.

Алерт на всплеск ошибок

Детектор всплеска ошибок наблюдает группы ошибок в ограниченном окне и при превышении порога отправляет событие error.spike через те же уведомления и подписки ChatOps: нового канала доставки не появляется. Пауза по каждой группе защищает от потока повторных алертов. Пока порог не задан (значение 0 и меньше), детектор выключен.