По сути, я работаю над написанием сервиса, который поможет нам определить, не работает ли один из API, к которому у нас есть доступ. Каждый API иногда возвращает случайную ошибку 500 или какую-то другую странную вещь, поэтому мы не хотим предупреждать мир каждый раз, когда получаем случайную ошибку. Я пытаюсь придумать лучший способ определить, был ли в последнее время всплеск ошибок конкретного поставщика.
Предположим, у меня настроен сервис, который будет отслеживать количество ошибок, произошедших с конкретным сервисом в последнее время, а затем написал задание для демона или cron, которое будет периодически проходить через эти числа и отправлять оповещение в случае скачка количество ошибок, которые выдает сервис. Как этот демон определит, получает ли данный сервис большое количество ошибок?
Самый простой способ сделать это - установить жесткое ограничение на количество возникших ошибок и отправить предупреждение, если число ошибок превысит этот предел. Но у меня есть ощущение, что это обманчиво просто (другими словами, это выглядит легко, но в конечном итоге оказывается сложным). Главное, что меня беспокоит, - это выбор этого предела. Как выбрать хороший лимит? Как мне сделать масштабирование с увеличением трафика?
Кто-нибудь решил эту проблему в прошлом и нашел решение, которое работает очень хорошо? Есть ли известные алгоритмы для этого? Одно из предпочтений, которое у меня было бы для решения: чем меньше данных я должен отслеживать, тем лучше.