Эндпоинт жив, пока его кто-то реально дергает, а не только считает 200
Мониторинг вебхука — это не «пинг раз в минуту», а проверка всей цепочки: DNS, TLS, доступность URL, корректность ответа и время до квитирования. Если проверять только HTTP 200, вы спокойно проспите ситуацию, когда handler принимает мусор, зависает на I/O или отвечает 500, а внешний сервис упорно ретраит и долбит вас повторно.
Минимум, который нужен:
— синтетический запрос с валидной полезной нагрузкой и проверкой JSON-ответа;
— таймауты на клиенте и на сервере;
— алерт не только на 5xx, но и на рост latency и timeout rate;
— отдельный счетчик неуспешных квитирований, а не общий uptime. Смотрим в тело запроса, а не в красивый статус.
Алертинг настраивайте с гистерезисом: один упавший запрос — это шум, три подряд — уже инцидент. Для критичных интеграций держите вторичный канал уведомления: email, чат, paging, плюс запись в очередь или dead-letter, если webhook нельзя обработать сразу. Ретрай-политика решает всё, но только если вы знаете, что ретраи идут не в пустоту.
Практика простая: делайте healthcheck отдельно от бизнес-хендлера, логируйте correlation_id, фиксируйте payload hash для идемпотентности и алертите на расхождение между входящими событиями и успешно обработанными. Идемпотентность — это не роскошь, а база: без нее мониторинг быстро превращается в счетчик боли.
Автоматизация на вебхуках
@webhook_automation_hub_arb
Эндпоинт жив, пока его кто-то реально дергает, а не только считает 200
Этот пост опубликован в Telegram-канале Автоматизация на вебхуках. Подписаться можно по ссылке: @webhook_automation_hub_arb.