모니터링 알람 자동 분석, AI로 해결
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

모니터링, 이제 알람 뿐만 아니라 분석도 자동화 된

카테고리

인프라/DevOps/보안

서브카테고리

DevOps

대상자

DevOps 엔지니어, SRE(Site Reliability Engineer), 시스템 운영자

난이도: 중간 (알람 시스템과 API 연동 이해 필요)

핵심 요약

  • Ssangpong은 Slack 알람 발생 시 Bedrock Agent를 통해 자동 분석 및 요약된 해결 방안 제공
  • Advisor-Collector-Supervisor 세 가지 에이전트로 구성, 분석 대상 지표와 시간 범위를 정확히 추출
  • 시간 처리 가이드라인으로 UTC+9 기준의 상대적 시간을 ISO 8601 포맷으로 변환, 분석 정확성 확보

섹션별 세부 요약

###1. Ssangpong의 구조 및 목적

  • Datadog CRD를 사용해 애플리케이션 워크로드와 연동한 차트 구성을 기반으로 알람 발생
  • Slack 이벤트를 Lambda로 처리해 SQS에 메시지 발행, Bedrock Agent 호출
  • Bedrock Agent는 문제 원인 파악, 데이터 수집, 요약 분석을 담당

###2. Bedrock Agent 구성

  • Advisor: 분석 대상 지표, 시간 범위, 조건을 설정 (예: CPU 사용량 1시간 전후 5분간 메트릭)
  • Collector: Advisor의 지표 쿼리로 메트릭 수집, 데이터 압축/요약 처리
  • Supervisor: 요약 정보를 분석해 원인 파악, Slack 가시성 높이기 위한 JSON 포맷 변환

###3. 시간 처리 가이드라인

  • 상대적 시간 표현 (예: "어제 1시")을 UTC+9 기준으로 ISO 8601 포맷으로 변환
  • GET::current_datetimeGET::convert_datetime 툴을 사용해 타임존 일관성 유지

###4. API pagination 처리

  • cursor 파라미터로 페이지네이션 처리, has_next 값이 true일 경우 최대 10회 반복
  • 데이터가 충분할 경우에도 반복 종료 금지

###5. Datadog Profile 수집 예시

  • Datadog의 /api/unstable 엔드포인트를 사용해 profile 직접 다운로드
  • Python 예제 코드에서 requestszipfile 모듈 사용, from/to 시간 범위 설정

###6. 주의사항 및 제한

  • Datadog의 Profile API는 불안정하며, /api/unstable 엔드포인트 사용 필요
  • Bedrock Agent는 시간 처리 시 오류 가능성, 별도 가이드라인 적용 권장

결론

  • Ssangpong은 외부에서도 알람의 원인 및 중요도를 자동 분석해 DevOps 팀의 대응 효율성을 높임
  • 시간 처리 가이드라인API pagination 로직을 반드시 적용해 데이터 정확성과 시스템 안정성 확보
  • Datadog의 불안정한 API를 대체하기 위해 datadog-pgo 프로젝트의 직접 다운로드 기능 활용 권장