이상 감지 정보

Apigee를 사용하면 사전 정의된 조건 집합을 기준으로 알림을 트리거하는 패턴 기반 규칙을 만들 수 있습니다. 예를 들어 다음 조건 중 하나가 발생할 때 알림을 받을 수 있습니다.

  • [target mytarget1]에서 for [10 minutes]에 대해 [rate of 5xx errors] [is greater than] [10%]
  • [region us-east-1]에서 [5 minutes]에 대해 [count of 2xx errors] [is less than] [50]
  • [proxy myproxy1]에서 [10 minutes]에 대해 [p90 latency] [is greater than] [750ms]

알림의 조건이 충족되면 API Monitoring에서 문제에 대한 알림을 보냅니다. 그러나 API Monitoring이 알림을 올리려면 먼저 특정 알림 조건을 정의해야 합니다.

이와 같은 사전 정의된 알림은 유용하지만, 시간이 지남에 따라 트래픽 패턴이 변경되기 때문에 조건에 맞는 임계값을 결정하는 것은 어려울 수 있습니다. 예를 들어 임계값을 너무 낮게 설정하면 알림을 너무 많이 받게 됩니다. 임계값을 너무 높게 설정하면 중요한 문제나 장애를 놓칠 수 있습니다.

의사가 혈압이나 콜레스테롤과 같은 요인에 대한 임상 테스트를 기반으로 환자가 심장병과 같은 상태에 걸릴지 여부를 예측하려고 할 때 유사한 문제가 의학에서 발생합니다. 테스트 임계값이 너무 낮은 경우 거짓양성을 반환합니다. 임계값이 너무 높으면 테스트에서 거짓음성을 반환합니다.

미리 정의된 알림과 마찬가지로 임계값을 직접 설정하는 대신 Apigee가 통계 모델을 사용하여 비정상적인 이벤트 또는 API 트래픽 패턴(이상이라고 함)을 예측하도록 임계값을 결정할 수 있습니다. 이를 이상 감지라고 합니다.

이상 감지

이상 감지 기능을 사용하면 사용자가 직접 알림 조건을 미리 결정하지 않아도 Apigee는 트래픽 및 성능 문제를 감지합니다. Apigee는 조직, 환경, 리전 수준에서 이상 조건을 자동으로 찾습니다. 감지된 경우 Apigee UI이상 이벤트 대시보드에 이상이 로깅되어 표시됩니다.

감지된 이상의 예시로는 새 API 출시로 인해 예상치 못한 트래픽 급증이 발생하고 이와 관련된 API 지연 시간이 증가하게 되는 경우가 있습니다. 또는 백엔드에서 잘못 구성된 출시로 인해 API가 보고하는 백엔드 오류가 증가할 수 있습니다.

감지된 이상은 다음 정보를 포함합니다.

  • 프록시 지연 시간이나 HTTP 오류 코드와 같은 이상을 일으킨 측정항목입니다.
  • 이상의 심각도입니다. 심각도는 모델의 신뢰도 수준에 따라 적음, 보통, 심각일 수 있습니다. 신뢰도 수준이 낮으면 심각도가 적음을 나타내고 높은 신뢰도 수준은 심각함을 나타냅니다.

예를 들어 Apigee는 다음과 같은 이상을 자동으로 감지할 수 있습니다.

  • [environment prod, region region1]에서 [slight] [uptick in 503 errors]
  • [environment prod, region region2]에서 [moderate] [uptick in 4xx errors]
  • [environment prod, region region3]에서 [severe] [latency increase]

이상 유형

Apigee는 다음 유형의 이상을 자동으로 감지합니다.

  • 조직, 환경, 리전 수준에서 HTTP 503 오류 증가
  • 조직, 환경, 리전 수준에서 HTTP 504 오류 증가
  • 조직, 환경, 리전 수준에서 모든 HTTP 4xx 또는 5xx 오류 증가
  • 조직, 환경, 리전 수준에서 90번째 백분위수(p90)에 대한 총 응답 지연 시간 증가

이상 감지 작동 방식

이상 감지에는 다음 단계가 포함됩니다.

모델 학습

이상 감지는 이전 시계열 데이터에서 API 프록시 동작의 모델을 학습하는 방식으로 작동합니다. 모델 학습을 위해 개발자가 별도로 취해야 할 조치는 없습니다. Apigee는 지난 6시간 동안의 트래픽 데이터에서 자동으로 모델을 만들고 학습합니다. 따라서 Apigee는 이상치를 로깅하기 전에 모델을 학습하기 위해 API 프록시에 대한 최소 6시간의 데이터가 필요합니다.

학습의 목표는 모델의 정확성을 개선하는 것이며 그런 다음 과거 데이터에서 테스트할 수 있습니다. 모델의 정확성을 테스트하는 가장 간단한 방법은 오류율(거짓양성 및 거짓음성의 합계를 총 예측 이벤트 수로 나눈 값)을 계산하는 것입니다. 하지만 ROC 곡선을 포함한 보다 정교한 정확성 통계 측정값도 사용됩니다.

이상 이벤트 로깅

런타임에 Apigee 이상 감지는 API 프록시의 현재 동작을 모델에서 예측한 동작과 비교합니다. 이상 감지는 특정 신뢰도 수준을 사용하여 운영 측정항목이 예측 값을 초과하는 시기를 확인할 수 있습니다. 예를 들어 5xx 오류 비율이 모델이 예측하는 비율을 초과할 때입니다.

Apigee는 이상 조건을 감지하면 Apigee UI이상 이벤트 대시보드에 해당 조건을 자동으로 로깅합니다. 감지된 모든 이상에 대해 Apigee는 심각도를 적음, 보통, 심각으로 로깅합니다.

이상 이벤트 대시보드에 표시되는 이벤트 목록에는 Apigee에서 감지한 모든 이상치 및 트리거된 경고가 포함됩니다.