2011-02-25 3 views
0

본질적으로 우리는 우리가 액세스하는 API 중 하나가 다운되었는지 판단하는 데 도움이되는 서비스를 작성하고 있습니다. 모든 API는 임의의 500 오류 또는 때때로 다른 이상한 것을 반환하므로 무작위 오류가 발생할 때마다 전 세계에 경고하고 싶지는 않습니다. 최근에 특정 공급자의 오류가 급증했는지 확인하는 가장 좋은 방법을 생각하려고합니다.최근에 오류가 급증했는지 어떻게 알 수 있습니까?

최근에 특정 서비스에서 발생한 오류 수를 추적하여 주기적으로 해당 수를 초과하는 데몬 또는 cron 작업을 작성하고 스파이크가있는 경우 경고를 보냅니다 서비스가 제공하는 오류 수. 이 데몬은 주어진 서비스가 많은 수의 오류를 발생시키는 지 어떻게 판단 할 것입니까?

가장 간단한 방법은 발생한 오류 수에 하드 제한을 설정하고 오류 수가 해당 제한을 초과하면 경고를 보내는 것입니다. 그러나 나는 이것이 현혹적이라는 단순한 느낌을 지니고있다. (다른 말로하면,보기는 쉽지만 복잡해지기 때문이다.) 내가 가진 주요 관심사는이 한계를 선택하는 것입니다. 좋은 한도는 어떻게 선택합니까? 트래픽이 증가하면서 규모를 어떻게 확장합니까?

누구든지 과거에이 문제를 해결하고 매우 잘 작동하는 해결책을 찾았습니까? 거기에 잘 알려진 알고리즘이 있습니까? 솔루션에 대한 선호도 하나 : 더 나은 데이터를 추적해야합니다.

답변

3

수학적 관점에서 문제에 접근하는 것은 어떻습니까? 나는 당신이 이미 어떤 데이터를 수집했다고 가정한다. (하루에 얼마나 많은 예외가 발생하는지). 그래서 그 데이터로부터 통계 분포 (아마 정상 (종 곡선))와 예외 수가 정상보다 1.5 표준 편차만큼 올 때마다 경고를 발령 할 수 있습니다.

즉, 정상적인 예외 수가 무엇인지 파악하고 시스템이이 값을 1 표준 편차만큼 넘어서거나 알람을 트리거하는 경우를 찾아보십시오.

관련 문제