Контроль квоты сторонних API
Stripe, GitHub, Twilio возвращают X-RateLimit-Remaining в заголовках. Если бэкенд не отслеживает порог — внезапно пойдёт 429, биллинг встанет.
Рецепт
# Probe a cheap idempotent endpoint, alert when remaining quota < 10%.
import os, requests
API_URL = os.environ['API_URL'] # e.g. https://api.github.com/rate_limit
TOKEN = os.environ['API_TOKEN']
ALERT_PERCENT = int(os.environ.get('ALERT_PERCENT', 10))
r = requests.get(API_URL, headers={'Authorization': f'Bearer {TOKEN}'}, timeout=5)
limit = int(r.headers.get('X-RateLimit-Limit', 0))
remaining = int(r.headers.get('X-RateLimit-Remaining', 0))
if limit and remaining * 100 // limit < ALERT_PERCENT:
requests.post(os.environ['SLACK_WEBHOOK'], json={
'text': f'API quota at {remaining}/{limit} on {API_URL}'
}, timeout=5)
То же самое в Enterno.io
HTTP-monitor Pioneer+ умеет хранить header-snapshot. Поставьте проверку на /rate_limit-эндпоинт раз в 5 минут — Enterno поднимет алерт ровно тогда, когда нужная цифра падает.
Похожие рецепты
Атакующий упёрся в `limit_req_zone` — все легитимные запросы тоже начали получать 429. Логи показывают это, но никто не следит.
API gateway деплоит новую схему — Mobile-команда узнаёт что type был удалён через crash report. Хочется снимок раз в 5 минут с diff-алертом.
Нужно убедиться, что сайт возвращает 2xx каждую минуту, и получить алерт в Slack/Telegram при падении.