가시성을 사용하여 작업 발전
시스템에 대한 가시성을 확보하고, 인사이트를 도출하고, 데이터 기반 의사 결정을 내립니다. |
---|
워크로드를 모니터링하고 Azure Well-Architected Framework의 모든 핵심 요소를 고려하여 지속적으로 품질을 향상시키는 문화를 구축합니다. 팀과 이해 관계자가 필요한 데이터, 통계 및 추세를 제공하여 여러 패싯에서 단기 및 장기 의사 결정을 내릴 수 있도록 합니다. 데이터에서 알아보고 향상된 기능 향상을 추진합니다.
가시성을 위해 구축된 작업은 애플리케이션의 사전 기본 테넌트, 품질 및 보안 보증, 용량 계획 및 제품 관리의 핵심입니다.
애플리케이션 모니터링의 중요한 측면은 인시던트가 되기 전에 문제를 예측하고 고객 환경에 영향을 줄 수 있도록 상태 모델링을 사용하는 것입니다. 효율적인 모니터링은 인시던트 관리에 소요되는 반응 주기를 줄입니다.
예제 시나리오
Contoso는 Contoso 부동산이라는 내부 사용을 위한 앱을 개발했습니다. 이 웹앱을 사용하면 신규 채용자 또는 재배치 중인 기존 직원이 단기 주택을 검색하고 예약하여 이전을 도울 수 있습니다. Contoso의 HR 부서도 이 앱을 사용하여 재배치를 지원합니다.
앱은 프로덕션 중이며 Azure에 완전히 배포됩니다. Azure Container Apps를 사용하는 마이크로 서비스를 기반으로 하며 Azure Functions, Azure Database for PostrgreSQL, Azure Blob Storage 및 Azure Monitor도 사용합니다.
원격 분석을 통해 워크로드 관찰
실행 흐름의 핵심 지점을 상호 연결하고 다양한 세분성 수준에서 엔드투엔드 보기를 제공하는 애플리케이션 코드에서 원격 분석을 내보낸다.
심각도 수준에 따라 작업의 우선 순위를 지정하고 자세한 내용이 지정된 컨텍스트를 이해합니다. 이 정보는 문제 해결을 위해 중요합니다.
Contoso의 과제
- 사용자는 Contoso 부동산 애플리케이션에 대한 최근 업데이트 후 웹앱의 검색 페이지에 빈 페이지 또는 일반 오류 메시지가 표시되는 경우도 있다고 보고하고 있습니다. 오류는 임의로 표시되며 사용자가 페이지를 새로 고치거나 검색을 다시 제출하는 경우 일반적으로 검색 기능이 작동합니다.
- 검색 마이크로 서비스의 로그를 검토하면 팀에서 Azure Database for PostgreSQL에 연결하는 시간 제한으로 인해 오류가 증가하는 것을 알 수 있지만, 현재 검색 마이크로 서비스 로그에 표시되는 오류가 사용자가 보는 오류 페이지에 해당하는지 여부를 알 수 있는 방법은 없습니다.
접근 방식 및 결과 적용
- 개발 팀은 웹앱과 핵심 마이크로 서비스 모두에서 로그하는 정보를 확장하여 문제를 자세히 살펴보기로 결정했습니다. 검색 시나리오의 경우 시간, 클라이언트 IP 및 검색과 연결된 사용자 이름과 같은 사용 가능한 다른 트랜잭션 특성과 함께 검색어를 캡처해야 합니다. 이 추가 데이터는 계층 간에 트랜잭션의 상관 관계를 지정할 수 있는 충분한 정보를 제공해야 합니다.
- 이 변경으로 인해 팀은 앱의 최신 업데이트에서 제대로 처리되지 않은 데이터베이스 쿼리 시간 제한이 사용자가 발생한 오류의 근본 원인인지 확인할 수 있었습니다. 근본 원인을 찾은 후 팀에서 수정을 구현하는 것이 간단했습니다.
- 이제 팀은 OpenTelemetry를 사용하여 모든 솔루션 계층을 포괄하는 보다 포괄적인 분산 추적 솔루션을 구현하는 새로운 접근 방식을 설계하고 있습니다.
대시보드에서 모니터링 데이터 시각화
대시보드의 데이터를 집계하고 시각화하여 대상 그룹에게 제공되고 비즈니스 컨텍스트를 염두에 두고 모니터링 데이터를 표시합니다. 상황별 대시보드를 사용하여 데이터를 표시하여 관련자 간의 인식을 촉진합니다. 인시던트 대응과 같은 운영자 활동에 대한 드릴다운 기능이 있는 운영 대시보드 및 통합 문서를 사용합니다. 대시보드를 자주 새로 고치고 세분화된 데이터를 제공합니다.
시각화를 사용하면 추세를 분석하고, 비즈니스 대상을 추적하고, 인시던트를 관리할 수 있습니다.
고객의 관심에 맞게 조정된 대시보드는 해석을 관련성 있게 만들고 감지 및 작업에 걸리는 시간을 가속화합니다.
Contoso의 과제
- 워크로드 팀은 모든 솔루션 계층에서 단일 Log Analytics 작업 영역으로 원격 분석 데이터를 집계합니다. 이 작업은 운영 및 개발 팀 및 기타 프로젝트 관련자가 액세스할 수 있습니다. 그러나 데이터와 상호 작용하는 것은 어렵고 복잡하므로 실행 가능한 데이터에서 배경 노이즈를 식별해야 하는 팀 구성원에게는 실망스럽습니다.
접근 방식 및 결과 적용
- 팀은 대시보드를 사용하여 데이터를 집계하고 시각화하기 위한 노력을 시작합니다. 각 대시보드는 특정 대상 그룹에 맞게 조정됩니다.
- 솔루션 관련자의 대시보드는 비즈니스 지향적이며, 서비스된 사용자 수, 검색 및 예약 수행과 같은 비즈니스 지표와 함께 솔루션의 전반적인 상태에 대한 더 높은 수준의 개요를 제공합니다.
- 운영 대시보드 및 통합 문서에는 운영 팀에 대한 보다 상세하고 세분화된 데이터가 있습니다. 이러한 대시보드에는 사용자가 다양한 수준의 세분성으로 데이터를 탐색할 수 있는 드릴다운 기능이 있습니다. 사용자는 이러한 대시보드 및 통합 문서를 사용하여 문제 해결 및 기타 인시던트 대응 작업을 수행할 수 있습니다.
- 대시보드를 사용하면 사용자가 추세를 분석하고, 비즈니스 목표를 추적하고, 인시던트 작업을 보다 효과적으로 관리할 수 있습니다. 각 대시보드에 표시되는 데이터는 의도한 대상과 더 관련성이 높으며 해당 관심사와 요구 사항에 따라 구동됩니다.
강력한 경고 전략 설계
표준화된 설명 및 심각도 수준으로 책임 있는 역할에 알리면 경고를 실행 가능하게 만듭니다. 다양한 원본에서 수집된 정보를 제공하고 비즈니스 목표의 편차를 추적합니다.
작업이 필요한 인시던트에 대해서만 경고를 트리거하고 성능 저하 상태가 실패하기 전에 작업을 시작하는 사전 예방 및 생각을 유발하는 경고를 위해 노력합니다. 좋은 경고 시스템은 작업 및 심각도를 식별하고 명확성과 목적을 추진하기에 충분한 데이터를 제공합니다. 운영자는 지연 없이 수정 시 시작할 수 있습니다.
Contoso의 과제
- Azure Monitor는 문제가 발생할 때 운영 팀에 경고를 보내는 데 사용됩니다. 그러나 팀은 현재 관련이 없거나 명확하지 않거나 중복되는 경고가 너무 많습니다. 이로 인해 경고 피로가 발생하고 팀의 생산성에 영향을 미치고 몇 가지 중요한 경고가 눈에 띄지 않게 됩니다.
- 또한 실패를 예상하는 경고를 보낸 경우 차단되거나 최소화될 수 있는 몇 가지 중단 상황이 있었습니다. 가동 중단이 발생하기 전에 팀이 성능 저하에 대해 더 잘 경고했다면 이러한 상황을 피할 수 있었을 것입니다. 예를 들어 데이터베이스 쿼리 처리 시간이 느려지면서 중단이 발생하는 경우가 있습니다. 중단 문제를 해결하는 동안 팀은 시간이 지남에 따라 쿼리 처리 성능이 느려지고 본격적인 중단이 발생할 때까지 악화되고 더 나빠지는 것을 확인합니다.
접근 방식 및 결과 적용
- 운영 팀은 경고 피로를 유발하는 우선 순위가 낮은 모든 경고를 클린 위한 이니셔티브를 시작합니다. 중요하고 실행 가능한 경고만 다시 활성화할 수 기본. 또한 팀은 다시 활성화될 경고를 검토(및 필요에 따라 향상)기본 필요한 수정 작업을 수행할 수 있는 충분한 컨텍스트가 포함되어 있는지 확인합니다.
- 또한 오류가 발생하기 전에 조치를 취할 수 있도록 하는 새로운 사전 예방적이고 실행 가능한 경고를 정의할 수 있습니다. 예를 들어 데이터베이스 쿼리 성능이 지속적으로 저하되는 즉시 DBA에 알리는 새 경고를 생성합니다.
- 다음 단계로 팀은 데이터베이스 쿼리 성능이 있는 상황과 같은 일반적인 경고에 대한 응답을 자동화하는 방법을 모색하고 있습니다.