- cloudnative
- Certified Solutions Architect
- K8S
- DevOps
- DKIM
- 메일 인증 프로토콜
- kubernetes 클러스터 보안
- Lambda
- go
- Fargate
- aws
- gochannel
- kubernetesscheduling
- dMarc
- EKS
- SAA-CO3
- CKA
- aws ses
- Java
- kubernetesstudyguide
- containerorchestration
- SMTP
- SPF
- kubernetes admission controller
- Kubernetes
- SAA-CO2
- JVM
- kubernetesadmin
- nodeaffinity
- Today
- Total
DevOps Tasks
Datadog 이상탐지 ( Anomaly Detection ) 적용기 본문
Anomaly Detection
이상 탐지는 추세, 계절별 요일 및 시간 패턴을 고려하여 지표가 과거와 다르게 동작하는 시기를 식별하는 알고리즘 기능
임계값 기반 경고로 모니터링하기 어려운 추세 패턴과 반복 패턴이 있는 지표에 적합하다.
예를 들어, 이상 탐지는 평일 오후에 웹 트래픽이 비정상적으로 낮은 때를 발견하는 데 도움이 된다.
저녁 늦은 시간에는 동일한 수준의 트래픽이 정상이더라도 마찬가지이다.
또는 꾸준히 증가하는 사이트에 대한 로그인 수를 측정하는 지표로 볼 수 있다.
숫자가 매일 증가하기 때문에 모든 임계값은 오래된 것인 반면, 이상 탐지는 예상치 못한 감소가 있는 경우 경고를 표시할 수 있으며 이는 잠재적으로 로그인 시스템에 문제를 파악해 시스템 안정성을 향상할 수 있다.
Datadog Anomaly Detection 전에 이상 탐지를 하기 위한 알고리즘에 대해서 간단하게 알아본다.
시계열 데이터(Time-series data) 란, 시간 순서에 따라 관측된 데이터를 의미한다.
" 시계열 데이터 분해 " 란 ?
미래 예측을 목적으로 시간 정보가 포함된 데이터를 활용하는 분석 방법으로,
시계열 데이터의 관측값을 변동 요인에 따라 구성 성분으로 분해하는 과정이다.
요구사항에 맞게 아래 시계열 데이터 성분들의 조합할 수 있다.
Seasonal ARIMA
Datadog 에선 ARIMA 알고리즘에서 Seasonal 성분이 추가된 SARIMA 알고리즘을 사용하여 이상 탐지를 함
ARIMA
AR ( AutoRegressive ) + I ( Integrated ) + MA ( Moving Average) 3 파트로 분리할 수 있다.
AR ( 이전 관측값에 영향을 받는 파트 )와 MA ( 오차 + 이전 오차들에 영향을 받는 파트 )를 조합한 모델이다.
시계열 데이터 성분
Trend Component
- 시간이 경과함에 따라 관측값이 지속적으로 증가하거나 감소하는 추세를 갖는 경우의 변동 한다.
- 관측값의 전반적 상승 또는 하락을 나타낸다.
Seasonal Component
- 주별, 월별, 계절별과 같이 주기적인 요인에 의한 변동한다.
- 순환 주기가 짧다.
- 시계열 데이터가 특정 주기에 따라 일정하게 변동할 때, 이 변동을 설명하는 것으로 볼 수 있다.
- 특정 시간대 크게 상승하거나 하락하는 경우
Irregular Component
- 시간에 다른 규칙적인 움직임과 무관하게 나타나는 변동이도.
- 특정한 규칙으로 설명할 수 없는 오차를 나타낸다.
- 정확히 예측할 수 없는 오차의 영역
💡 White Noise
평균이 0이고 분산이 일정한 시계열 데이터
Datadog Monitor
크게 2가지 그래프로 표기된다.
Historical View
- Historical View는 모니터링되는 쿼리를 다양한 시간 범위에서 탐색하여 데이터가 비정상 또는 비정상으로 간주되는 이유를 이해할 수 있다고 한다.
- 그냥 일반 메트릭 지표로 보면 된다.
Evaluation View
- 이상탐지 그래프
Deviations
- 편차임. 회색 밴드의 경계를 의미함 ( 1~5 )
- anomalies() 함수를 사용한다.
- 과거를 기반으로 한 시리즈의 예상 동작을 보여주는 메트릭에 회색 밴드를 오버레이
Anomaly detection algorithms
- Datadog 에선 basic, agile, robust 3 가지 알고리즘으로 정의
basic
- 반복되는 시계열 패턴이 없을 시 적합하다.
- 간단한 롤링 분위수 계산으로 예상 값의 범위 결정
- 데이터를 거의 사용하지 않고 변화하는 조건에 빠르게 적응하지만 시계열 패턴이나 장기적인 추세에 는 적합하지 않을 수 있어 보인다.
agile
- 시계열 패턴이 있고 변동이 예상되는 경우 사용한다.
- 변화를 빠르게 적용하여 조정한다.
- 최근에 있었던 오래 지속된 이상 징후에 대해서는 적합하지 못하지만 수준 변화에 대한 빠른 업데이트가 가능하다
- SARIMA Algorithms
급격한 변화 패턴이 있을 시에만 이상 현상으로 인식 후 바로 적응
robust
- 시계열 패턴이 안정적일 것이고 느린 수준 변화가 비정상으로 간주한다.
- 변화에 대응하는데 더 오랜 시간이 걸리는 대신 오래 지속되는 이상 현상이 발생하더라도 예측이 일정하다.
- Decomposition of time series
장기적인 패턴이 아닐 시 이상 현상으로 인식
Seasonality
- 패턴에 따라 적용
- hourly
- 타이트한 이상 감지 필요시
- daily, weekly
- 오전, 오후 및 주 단위로 패턴 시
- hourly
크게 급격한 변동이 있을 수 있는 메트릭, 특정 패턴에서 벗어나면 안 되는 메트릭으로 나누어 주기를 시간, 일, 주 별로 정해볼 수 있을 것 같다.
아직까진 AWS Anomaly Detection 은 자체적으로 조정되며 장기적인 추세에 적응 가능하여 이런 식으로 알고리즘 별 세부적인 옵션은 없다고 한다.
정확하다곤 볼 수 없으나 각 알고리즘 별 특징에 맞춰 메트릭을 모니터링한다면 장애 발생 전 인지하여 잠재적 위협에 보다 쉽게 대응할 수 있을 것이다.
'Datadog' 카테고리의 다른 글
[Kubernetes] EKS에서 Datadog APM 적용하기 (Auto Instrumentation + Trace Optimization) (0) | 2025.02.12 |
---|---|
Kubernetes Admission Controller로 Fargate에 Datadog Agent Sidecar 자동 주입하기 (0) | 2025.02.09 |