Azure 상식

Azure Monitoring 활용시 LogData 효율적 관리에 대해

ktzzang0601 2025. 8. 24. 11:46

1. Azure Monitor 및 기본 개념 정리

(1) Azure Monitor
Azure 전반의 리소스 상태, 성능, 보안 이벤트를 수집·분석하는 플랫폼 서비스
메트릭과 로그 두 가지 데이터 형식 지원

(2)
Log Analytics
Azure Monitor 로그 데이터를 저장하고 Kusto Query Language(KQL)로 분석하는 서비스
• 데이터 수집, 저장, 쿼리에 따라 비용 부과

(3)
Diagnostic Settings
• 어떤 리소스에서 어떤 종류의 로그를 어디로
보낼지 설정하는 기능
• 예:
Log Analytics, Storage Account, Event Hub

(4)
Retention Policy (보존 정책)
• 로그 데이터를 저장하는 기간을 지정
• 저장기간이 길수록 비용 증가, 짧게 하면 비용 절감

(5)
Sampling (샘플링)
Application Insights에서 모든 요청·트랜잭션 로그를 수집하지 않고 일부만 수집하는 기능
• 트래픽이 많은 서비스에서 비용 절감에 효과적

(6)
Basic Logs vs Analytic Logs
Basic Logs: 장기간 저장, 검색 빈도가 낮은 로그 (저렴)
Analytic Logs: 쿼리·분석이 많은 로그 (비쌈)

(7)
Archive Tier
• 장기간 사용하지 않는 로그를 저비용 저장소에 보관하는 방식
• 검색 시 복원 시간이 필요

2. 최적화 개요

(1) 수집 단계에서 절감
Diagnostic Settings에서 불필요한 로그 카테고리 제외
Application Insights에서 Sampling 설정 적용 (예: 100% → 20%)

(2) 저장 단계에서 절감
Retention Policy로 저장기간 단축 (예: 90일 → 30일)
• 자주 쓰지 않는 데이터는
Archive Tier로 이동

(3) 분석 단계에서 절감
• 쿼리 실행 횟수 최소화
• 동일한 쿼리를 반복 실행 시 쿼리 결과
캐싱 또는 Export 기능 활용

(4) 로그 형식 구분
• 자주 분석하는 데이터:
Analytic Logs
• 거의 조회하지 않는 데이터:
Basic Logs로 설정

(5) 외부 저장소 연계
• 장기 보관 필요 시
Log Analytics가 아닌 Azure Storage에 보관 → 저렴한 저장 비용 + 규제 준수 가능

 

3. 세부 내용 설명

 (1) 수집할 로그 데이터량 최적화

  • 필요한 데이터만 수집하세요. 수집 대상 및 조건을 신중히 설정해 불필요한 로그를 줄여야 합니다.
    → 예: 진단 설정(Diagnostic setting), 데이터 수집 규칙(Data Collection Rule, DCR)을 통해 특정 이벤트/로그 수준만 수집하도록 제한
  • 테이블별 Basic Logs 플랜 활용
    디버깅 또는 드문 쿼리에만 필요한 테이블은 Basic Logs 플랜으로 설정해 데이터 수집 비용을 낮출 수 있습니다. 단, 일부 기능 제한이 있습니다. 

 (2) 가격 모델 및 티어 활용

  • **Commitment 티어 (예약량 기반 요금제)**로 전환 시, 데이터 수집량이 많을 때 단가를 낮출 수 있습니다. 기본은 페이-애즈-유-고(Pay-as-you-go)
  • 데이터 보관 기간 최적화
    기본 보존 기간 이후 장기 보존이 필요하지 않다면 데이터를 자동으로 삭제해 저장 공간과 비용을 줄이세요 

 (3) 모니터링 및 알림 기반 관리

  • Log Analytics Workspace Insights를 통해 로그 수집량 트렌드를 시각화하고, 어떤 솔루션이나 테이블이 과다 수집의 주범인지를 파악할 수 있습니다 
  • Alert (알림) 설정으로 이상 전송량 대응
    예시: 하루 50GB 이상 로그가 수집되면 알림을 받도록 설정하여 비용 예측력을 높이고, 필요 시 즉시 대응할 수 있습니다 
  • Azure Advisor 비용 최적화 권장사항 적용
    Advisor가 자동으로 제안하는 ‘Basic Logs 사용’, ‘프리미엄 요금제 전환’ 등 권고사항을 알림으로 설정해 놓으면, 실시간으로 비용 절감 기회를 놓치지 않을 수 있습니다 

 (4) 데이터 분석 기반 원인 탐지

  • Usage 테이블
    워크스페이스별, 솔루션별, 테이블별 수집된 청구 대상(billable) 데이터 양을 분석할 수 있습니다. 예시 쿼리도 제공되어 있습니다 
  • _IsBillable, _BilledSize 컬럼 활용
    실제 과금이 발생하는 개별 로그 항목 및 사이즈를 상세 분석해, 어떤 이벤트가 비용을 유발하는지 구체적으로 확인할 수 있습니다 
  • 자원, 리소스 그룹, 컴퓨터 단위 분석
    어느 리소스나 VM이 로그를 많이 생성하고 있는지 단위별 분석해 수집 전략을 세울 수 있어요 

 (5) 쿼리 최적화 및 성능 관리

  • 쿼리 최적화는 직접적인 수집 사이징보다는 간접적인 비용 절감에 도움이 됩니다.효율적인 쿼리는 CPU, 멀티스레드 활용, 메모리 등 자원 소비를 줄여 전체 처리 비용을 절감시키고, 쿼리 지연이나 스로틀링도 방지합니다 

4. 요약

전략 영역 수행 지침 요약
수집량 최적화 필요한 데이터만 수집, Basic Logs 플랜 적용(빠른 분석 필요시 Analytic)
가격 모델 활용 및 티어 조정 Commitment 이용, 불필요 보존기간 줄임(보유 정책 조정)
모니터링 및 알림 설정 Workspace 인사이트, 데이터 사용량 알림
원인 분석 기반 개선 Usage 테이블, 상세 쿼리 분석(저/고빈도 조회 로그 분석), 리소스별 검토
쿼리 최적화 효율적인 KQL 작성으로 처리 비용 절감, 샘플링 기법으로 일부 로그 수집
외부 저장소 Export 규제 준수 및 비용 절감을 위해 외부 저장 방법도 추가 고려 사항

5. 참고 문서