Перейти к содержимому
Перейти к основному содержимому

429 quota_exceeded

Шлюз Ingestion вернул HTTP 429 с кодом quota_exceeded: объём логов или метрик за окно исчерпал квоту тарифа. Агент при этом ничего не теряет — он буферизует данные и возобновит отправку по подсказкам backoff от сервера.

Симптом

  • В логах агента записи 429 quota_exceeded с заголовком Retry-After и полем reset_at.
  • Свежие логи и метрики перестали появляться в дашборде, хотя агент Online.
  • На агенте растёт flaree_agent_buffer_size_current; при in-memory буфере может начать расти flaree_agent_buffer_dropped_total.

Диагностика

Подтвердите 429 в логах и посмотрите оба источника backoff — заголовок и тело:

journalctl -u flaree-agent | grep -E 'quota_exceeded|Retry-After' | tail -n 10
curl -s http://127.0.0.1:9090/metrics | grep flaree_agent_buffer

Что содержит ответ шлюза при 429:

{
"error": "quota_exceeded",
"reset_at": "2026-07-16T12:00:00Z",
"retry_after_sec": 300
}
  • Заголовок Retry-After (в секундах) — авторитетный (authoritative) интервал backoff.
  • reset_at — UTC-момент обновления квоты, справочное поле для UI и логов.
  • Правило приоритета: при одновременном наличии обоих агент обязан ждать именно по Retry-After; reset_at используется, только если заголовка нет.
  • Рост flaree_agent_buffer_dropped_total означает, что in-memory буфер переполнился и часть данных уже теряется.

Исправление

  1. Проверьте использование квоты в дашборде: Billing / Usage, отдельно логи и метрики за активное окно.
  2. Снизьте входящий поток: отключите самые шумные источники логов или уменьшите частоту отправки метрик.
  3. Если нагрузка легитимна — повысьте тариф или запросите у поддержки временное расширение квоты.
  4. Чтобы не терять данные, пока квота исчерпана, включите долговременный буфер:
sudo systemctl edit flaree-agent # Environment=FLAREE_AGENT_PERSISTENT_BUFFER=true
sudo systemctl restart flaree-agent
journalctl -u flaree-agent -f
# Ожидаемо: после истечения Retry-After агент дошлёт буфер, новых 429 нет

Вмешиваться в сам backoff не нужно: агент возобновит отправку автоматически по Retry-After (или по reset_at, если заголовок отсутствует).

Связанные страницы