如何确定最近是否出现错误峰值?

从本质上讲,我正在编写一项服务,以帮助我们确定我们访问的API之一是否已关闭。每个API偶尔会返回一个随机500错误或其他一些奇怪的东西,因此我们不希望每次收到随机错误时都会向世界发出警告。我正在尝试考虑确定最近某个提供商的错误是否出现峰值的最佳方法。 假设我有一个服务设置,它将跟踪最近特定服务发生的错误数量,然后编写一个守护程序或cron作业,定期检查这些数字,并在数量激增时发送警报服务给出的错误。该守护进程如何确定给定服务是否收到大量错误? 最简单的方法是对出现的错误数量设置硬限制,并在错误数量超过该限制时发出警报。但我有一种直觉,认为这看似简单(换句话说,它看起来容易,但最终变得复杂)。我主要担心的是选择这个限制。我如何选择一个好的限制?如何通过增加流量来扩展? 有没有人在过去解决这个问题,并找到了一个非常有效的解决方案?有没有任何众所周知的算法?我对解决方案的一个偏好是:我需要跟踪的数据越少越好。     
已邀请:
如何从数学角度尝试解决问题。我假设您已经收集了一些数据(每天发生了多少例外)。因此,您可以从该数据中找出统计分布(可能正常(钟形曲线)),并且每当异常数量超过正常值1.5标准偏差时,触发警报。 换句话说,试着弄清楚正常的异常数量是多少,如果你的系统超过1个标准差,那么会触发警报。     

要回复问题请先登录注册