신뢰할 수 있는 모니터링 및 경고 전략을 설계하기 위한 권장 사항

이 Azure Well-Architected Framework 안정성 검사 목록 권장 사항에 적용됩니다.

RE:10 솔루션의 상태 지표를 측정하고 게시합니다. 워크로드 전체와 개별 구성 요소 및 키 흐름에서 가동 시간 및 기타 안정성 데이터를 지속적으로 캡처합니다.

이 가이드에서는 신뢰할 수 있는 모니터링 및 경고 전략을 설계하기 위한 권장 사항을 설명합니다. 이 전략을 구현하여 운영 팀이 환경의 상태 상태 알리고 워크로드에 대해 설정된 안정성 목표를 충족하는지 확인합니다.

정의

용어 정의
metrics 정기적으로 수집되는 숫자 값입니다. 메트릭은 특정 시간에 시스템의 일부 측면을 설명합니다.
리소스 로그 시스템에서 생성하는 데이터입니다. 시스템 상태에 대한 정보를 제공합니다.
Traces 요청이 서비스 및 구성 요소를 통해 이동하는 경로에 대한 정보를 제공하는 데이터입니다.

주요 디자인 전략

모니터링 및 경고 전략을 만들기 전에 안정성 계획의 일부로 워크로드에 대해 다음 작업을 수행합니다.

워크로드가 안정적으로 작동하도록 모니터링 및 경고 전략을 만듭니다. 모니터링 및 경고 전략은 운영 팀에 대한 인식을 제공하므로 워크로드 상태의 변경 내용에 대한 알림을 받고 문제를 신속하게 해결할 수 있습니다. 중요한 흐름 및 이러한 중요한 흐름이 구성하는 구성 요소에 대한 상태 모델을 만들어 강력하고 신뢰할 수 있는 모니터링 전략을 빌드합니다. 상태 모델은 정상, 성능 저하 및 비정상 상태를 정의합니다. 이러한 상태의 변경 내용을 즉시 catch하도록 운영 태세를 설계합니다. 상태 상태가 정상에서 성능 저하 또는 비정상으로 변경되면 경고 메커니즘은 자동 수정 조치를 트리거하고 적절한 팀에 알릴 수 있습니다.

다음 권장 사항을 구현하여 비즈니스 요구 사항을 충족하는 모니터링 및 경고 전략을 설계합니다.

일반 지침

  • 메트릭, 로그 및 추적 간의 차이점을 이해합니다.

  • 모든 클라우드 리소스에 대해 로깅 을 사용하도록 설정합니다. 배포에서 자동화 및 거버넌스를 사용하여 환경 전체에서 진단 로깅을 사용하도록 설정합니다.

  • Log Analytics 작업 영역과 같은 중앙 집중식 데이터 싱크 및 분석 플랫폼에 모든 진단 로그를 전달합니다. 지역 데이터 주권 요구 사항이 있는 경우 해당 요구 사항이 적용되는 지역에서 로컬 데이터 싱크를 사용해야 합니다.

절충: 로그 저장 및 쿼리에 대한 비용 영향이 있습니다. 로그 분석 및 보존이 예산에 미치는 영향을 확인하고 요구 사항을 충족하기 위해 가장 적합한 사용률 균형을 결정합니다. 자세한 내용은 비용 최적화 모범 사례를 참조하세요.

  • 워크로드에 하나 이상의 규정 준수 프레임워크가 적용되는 경우 중요한 정보를 처리하는 일부 구성 요소 로그도 해당 프레임워크의 적용을 받습니다. 관련 구성 요소 로그를 Microsoft Sentinel과 같은 SIEM(보안 정보 및 이벤트 관리) 시스템에 보냅니다.

  • 규정 준수 프레임워크가 워크로드에 적용하는 장기 보존 요구 사항을 통합하는 로그 보존 정책을 만듭니다.

  • 모든 로그 메시지에 대해 구조적 로깅 을 사용하여 로그 데이터 쿼리를 최적화합니다.

  • 값이 녹색에서 노란색 또는 빨간색과 같은 상태 모델 상태 변경과 관련된 중요한 임계값을 통과할 때 트리거되도록 경고를 구성합니다.

    임계값 구성은 지속적인 개선의 사례입니다. 워크로드가 발전함에 따라 정의한 임계값이 변경될 수 있습니다. 경우에 따라 동적 임계값은 모니터링 전략에 적합한 옵션입니다.

  • 운영 팀이 향후 참조를 위해 이러한 이벤트를 추적할 수 있도록 상태가 개선될 때 경고를 사용하는 것이 좋습니다(예: 빨간색에서 노란색 또는 빨간색에서 녹색으로).

  • 환경의 실시간 상태를 시각화합니다.

  • 인시던트 중에 수집된 데이터를 사용하여 상태 모델과 모니터링 및 경고 전략을 지속적으로 개선합니다.

  • 다음을 포함하여 클라우드 플랫폼 모니터링 및 경고 서비스를 통합합니다.

  • Azure Monitor 인사이트 도구와 같이 클라우드 공급자가 제공하는 용도로 빌드된 고급 모니터링 및 분석을 통합합니다.

  • 백업 및 복구 모니터링을 구현하여 캡처:

    • 데이터 복제는 워크로드가 RPO(대상 복구 지점 목표) 내에서 복구를 달성할 수 있도록 상태.

    • 성공 및 실패한 백업 및 복구.

    • 재해 복구 계획을 알리는 복구 기간입니다.

애플리케이션 모니터링

  • 상태 프로브 또는 검사 함수를 만들고 애플리케이션 외부에서 정기적으로 실행합니다. 지리적으로 고객과 가까운 여러 위치에서 테스트해야 합니다.

  • 애플리케이션이 프로덕션 환경에서 실행되는 동안 데이터를 기록합니다. 프로덕션 상태에서 문제의 원인을 진단하려면 충분한 정보가 필요합니다.

  • 서비스 경계에서 이벤트를 로깅합니다. 서비스 경계 너머로 흐르는 상관 관계 ID를 포함합니다. 트랜잭션이 여러 서비스를 통해 흐르고 그 중 하나가 실패하는 경우 상관 관계 ID는 애플리케이션 전체에서 요청을 추적하고 트랜잭션이 실패한 이유를 파악하는 데 도움이 됩니다.

  • 비동기 로깅을 사용합니다. 동기 로깅 작업은 때때로 애플리케이션 코드를 차단하여 로그가 기록될 때 요청이 백업되도록 합니다. 비동기 로깅을 사용하여 애플리케이션 로깅 중에 가용성을 유지합니다.

  • 감사에서 애플리케이션 로깅을 분리합니다. 감사 레코드는 일반적으로 규정 준수 또는 규정 요구 사항을 위해 유지 관리되며 완전해야 합니다. 삭제된 트랜잭션을 방지하려면 진단 로그와 별도로 감사 로그를 유지 관리합니다.

  • 원격 분석 상관 관계를 사용하여 엔드 투 엔드 애플리케이션 및 중요한 시스템 흐름을 통해 트랜잭션을 매핑할 수 있는지 확인합니다. 이 프로세스는 오류에 대한 RCA(근본 원인 분석)를 수행하는 데 매우 중요합니다. 애플리케이션에서 CPU 백분율, 네트워크 인, 네트워크 출력 및 초당 디스크 작업과 같은 플랫폼 수준 메트릭 및 로그를 수집하여 상태 모델을 알리고 문제를 감지하고 예측합니다. 이 방법은 일시적 오류와 비정상 오류를 구분하는 데 도움이 될 수 있습니다.

  • 화이트 박스 모니터링을 사용하여 의미 체계 로그와 메트릭을 통해 애플리케이션을 계측합니다. 애플리케이션에서 메모리 사용량 또는 요청 대기 시간과 같은 애플리케이션 수준 메트릭 및 로그를 수집하여 상태 모델을 알리고 문제를 감지하고 예측합니다.

  • 블랙박스 모니터링을 사용하여 플랫폼 서비스 및 결과 고객 환경을 측정합니다. 블랙박스 모니터링은 시스템 내부에 대한 정보 없이 외부에 표시되는 애플리케이션 동작을 테스트합니다. 이 방법은 고객 중심 SLI(서비스 수준 지표), SLO(서비스 수준 목표) 및 SLA(서비스 수준 계약)를 측정하는 데 일반적입니다.

참고

애플리케이션 모니터링에 대한 자세한 내용은 상태 엔드포인트 모니터링 패턴을 참조하세요.

데이터 및 스토리지 모니터링

  • 스토리지 컨테이너의 가용성 메트릭을 모니터링합니다. 이 메트릭이 100% 미만으로 떨어지면 쓰기 실패를 나타냅니다. 클라우드 공급자가 부하를 관리할 때 일시적인 가용성 저하가 발생할 수 있습니다. 가용성 추세를 추적하여 워크로드에 문제가 있는지 확인합니다.

    경우에 따라 스토리지 컨테이너에 대한 가용성 메트릭이 감소하면 스토리지 컨테이너와 연결된 컴퓨팅 계층의 병목 상태가 표시됩니다.

  • 데이터베이스에 대해 모니터링할 메트릭이 많이 있습니다. 안정성의 컨텍스트에서 모니터링할 중요한 메트릭은 다음과 같습니다.

    • 쿼리 기간

    • 시간 제한

    • 대기 시간

    • 메모리 부족

    • 잠금

Azure 촉진

  • Azure Monitor 는 클라우드 및 온-프레미스 환경에서 모니터링 데이터를 수집, 분석 및 응답하는 데 사용되는 포괄적인 모니터링 솔루션입니다.

  • Log Analytics는 Log Analytics 작업 영역의 데이터에 대한 로그 쿼리를 편집하고 실행하는 데 사용되는 Azure Portal 도구입니다.

  • Application Insights 는 Azure Monitor의 확장입니다. APM(애플리케이션 성능 모니터링) 기능을 제공합니다.

  • Azure Monitor 인사이트는 가상 머신, 애플리케이션 서비스 및 컨테이너와 같은 Azure 서비스를 모니터링하는 데 도움이 되는 고급 분석 도구입니다. 인사이트는 Azure Monitor 및 Log Analytics를 기반으로 합니다.

  • SAP 솔루션을 위한 Azure Monitor는 Azure에서 실행되는 SAP 환경을 위한 Azure 네이티브 모니터링 제품입니다.

  • Azure Policy를 사용하면 조직의 표준을 적용하고 규정 준수를 대규모로 평가할 수 있습니다.

  • Azure 비즈니스 연속성 센터 비즈니스 연속성 자산에 대한 인사이트를 제공합니다. BCDR(비즈니스 연속성 및 재해 복구)에 지정된 접근 방식을 적용할 때 Azure 비즈니스 연속성 센터 사용하여 Azure 및 하이브리드 워크로드에서 비즈니스 연속성 보호 관리를 중앙 집중화합니다. Azure 비즈니스 연속성 센터 백업 또는 재해 복구를 통해 적절한 보호가 부족한 리소스를 정확히 찾아내고 수정 작업을 수행합니다. 이 도구는 통합 모니터링을 용이하게 하며 Azure Policy 통해 거버넌스 및 감사 규정 준수를 설정할 수 있으며, 모두 한 위치에서 편리하게 액세스할 수 있습니다.

  • 여러 작업 영역 모범 사례는 Log Analytics 작업 영역 아키텍처 디자인을 참조하세요.

예제

실제 모니터링 솔루션의 예는 Azure의 웹 애플리케이션 모니터링Azure Kubernetes Service 클러스터에 대한 기준 아키텍처를 참조하세요.

  • AMBA(Azure Monitor 기준 경고) 는 고객과 파트너가 Azure Monitor 채택을 통해 가시성 환경을 개선하는 데 사용할 수 있는 경고 정의의 중앙 리포지토리입니다.

안정성 검사 목록

전체 권장 사항 집합을 참조하세요.