관측성과 모니터링 사이의 차이점은 무엇인가요?

DevOps에서 관찰성과 모니터링은 서로 별개의 데이터 기반 프로세스입니다. 이를 사용하여 분산 마이크로서비스 아키텍처와 인프라의 상태 및 성능을 성공적으로 유지하고 관리할 수 있습니다. 분산 시스템은 수십에서 수백 또는 수천 개의 서로 다른 구성 요소 간에 데이터를 교환하는 방식으로 작동합니다. 

모니터링은 데이터를 수집하고 시스템 상태를 정의하는 다양한 지표에 대한 보고서를 생성하는 프로세스입니다. 관찰성은 조사에 보다 중점을 둔 접근 방식입니다. 분산 시스템 구성 요소 상호 작용과 모니터링을 통해 수집된 데이터를 면밀히 검토하여 문제의 근본 원인을 찾아냅니다. 여기에는 시스템의 요청 경로를 따라 통합 실패를 식별하는 프로세스인 트레이스 경로 분석과 같은 활동이 포함됩니다. 모니터링은 개별 구성 요소에 대한 데이터를 수집하고, 관찰성은 분산 시스템 전체를 조사합니다.

DevOps에 대해 읽어보기

작동 방식: 관찰성 vs. 모니터링

관찰성과 모니터링은 모두 효과적인 DevOps 프로그램을 실행하는 데 필수적인 프로세스입니다.

모니터링

컴퓨팅 시스템을 모니터링하는 것은 컴퓨팅 시스템 자체를 운영하는 것만큼이나 오래된 운영 방식입니다. 모니터링 프로세스는 시스템에 대한 데이터를 수집하여 시스템이 정상적으로 작동하는지 확인합니다. 여기에는 오류, 결함 또는 비정상적인 데이터 값에 대한 보고서와 알림이 포함됩니다. 

예를 들어 모니터링 도구는 데이터를 수집하여 애플리케이션 릴리스를 배포하는 데 걸리는 시간을 측정할 수 있습니다. 소요 시간이 예상 시간을 벗어나면 모니터링 도구가 사용자에게 문제가 발생했을 가능성이 있음을 알릴 수 있습니다. 

DevOps 모니터링은 전체 소프트웨어 개발 수명 주기(SDLC)를 아우릅니다. 애플리케이션 성능 모니터링(APM)은 프로덕션 환경에서 실행되는 애플리케이션에 초점을 맞춘 DevOps 모니터링의 특수한 하위 집합입니다. 사용자 경험에 적용되는 지표의 우선순위를 정합니다.

소프트웨어 개발 수명 주기에 대해 읽어보기

애플리케이션 성능 모니터링에 대해 읽어보기

관측성

관찰성은 추가적인 상황 및 기록 데이터와 시스템 상호 작용을 통합하여 기존 모니터링 도구의 적용 범위와 가시성을 더 넓힙니다. 다중 구성 요소 상호 작용으로 인해 발생하는 문제를 조사하는 기능과 함께, 모니터링 알림의 근본 원인을 조사할 수 있습니다.

관찰성 도구를 사용하여 분산 애플리케이션 아키텍처 기반 시스템 자체를 디버깅할 수 있습니다. 또한 이를 사용하여 전체 시스템의 실시간 상태와 시스템 구성 요소 간의 상호 작용을 관찰할 수 있습니다. 관찰성 소프트웨어를 사용하여 상호 연결된 전체 시스템, 종속성 및 실시간 상호 작용을 매핑할 수 있습니다.

관찰성과 모니터링의 유사점은 무엇인가요?

관찰성과 모니터링은 원래 시스템 엔지니어링 및 수학의 한 분야인 제어 이론 분야에서 파생되었습니다. 둘 다 시스템 상태 및 성능 유지 관리를 위해 컴퓨팅 및 컴퓨팅이 혼합된 물리적 환경 전반에 걸쳐 광범위하게 사용됩니다. DevOps에서는 두 용어가 지표, 이벤트, 로그 및 트레이스와 같은 텔레메트리 데이터와 관련이 있기 때문에 같은 의미로 사용되는 경우가 많습니다.

지표

지표는 시스템 데이터 측정값입니다. 예를 들어 네트워크 처리량 또는 일주일의 애플리케이션 오류 수를 지표로 사용할 수 있습니다. 지표 및 관찰성에 대한 보고서를 모니터링하면 그 가치를 높일 방법을 찾을 수 있습니다.

이벤트

이벤트는 특정 시점에 시스템에서 발생하는 개별 작업입니다. 사용자가 암호를 변경하거나 암호 시도 횟수를 초과한다는 알림을 예로 들 수 있습니다. 이벤트는 모니터링을 트리거하고 인시던트 조사 시 관찰성을 지원합니다.

로그

로그는 시스템의 운영, 작업 및 사용 패턴에 대한 정보가 포함된 소프트웨어 생성 파일입니다. 여기에는 모든 프로세스, 이벤트 및 메시지에 대한 기록과 함께 타임스탬프와 같은 추가적인 설명 데이터가 포함되어 이 정보를 상황에 맞게 설명해드립니다. 모니터링은 관찰성이 추가 시스템 분석에 사용하는 로그를 생성합니다.

로그 파일에 대해 읽어보기

트레이스

트레이스는 서로 연관된 다양한 시스템에서 단일 작업의 전체 경로입니다. 완전 분산 추적의 경우 추적을 위해 마이크로서비스 아키텍처의 모든 트랜잭션에서 신호를 내보내야 합니다. 모니터링은 관찰성의 중요한 기능인 추적을 지원합니다.

관찰성 vs. 모니터링: 주요 차이점

모니터링은 관찰성의 중요한 핵심 구성 요소입니다. 포괄적인 모니터링은 쉽게 식별하고 검색할 수 있는 방식으로 필수적인 요소를 측정하는 설명 지표, 이벤트, 로그 및 트레이스를 생성합니다. 과거 기록은 현재 측정값과 함께 저장되어 시스템에 대한 광범위한 정보를 제공합니다. 그러면 관찰성은 모니터링에서 생성된 결과를 사용하여 인시던트를 더 자세하게 조사할 수 있습니다.

모니터링은 시스템 오류가 발생한 시점과 오류의 종류를 밝히며, 관찰성은 그 이유와 발생 과정을 밝힙니다. 전체 시스템의 내부 상태와 작동 상태를 전반적으로 파악하려면 많은 신호를 매핑하고 모니터링해야 합니다. 효과적인 조사를 수행하려면 이 모든 데이터가 필요합니다. 관찰성이 유용하고 효과적으로 사용되려면 모니터링이 포괄적이고 설명적이어야 합니다.

이상

모니터링 시스템을 사용하면 시스템 상태 및 성능의 이상이나 비정상적인 동작을 발견할 수 있습니다. 관찰성을 사용하면 수백 개의 서비스 구성 요소 간의 상호 작용으로 인해 발생하는 이상 현상을 추가로 조사할 수 있습니다.

원인과 영향

모니터링은 하나 이상의 값을 측정하여 시스템에 미치는 영향이 있는지 여부를 확인하는 데 중점을 둡니다. 관찰성의 목표는 해당 영향의 원인을 이해하는 것입니다. 예를 들어 새 코드가 릴리스되면 모니터링은 시스템 지표를 추적하여 애플리케이션 로드 시간이나 데이터 검색 시간이 변경에 따른 영향을 받는지 확인합니다. 영향이 발생하는 경우 관찰성은 이유 또는 원인을 조사합니다. 코드 변경의 어느 부분이 영향을 주었는지 알려주고 해결 방법을 제안합니다.

시스템 상호 작용

모니터링은 일반적으로 특정 시스템의 상태를 측정합니다. 서로 다른 모든 시스템 구성 요소에 대한 데이터를 수집하지만 데이터가 분리되어 있어 상관관계를 파악하기 어려울 수 있습니다. 관찰성을 사용하면 상호 연관된 모든 시스템을 전반적으로 파악하여 문제가 어디서 어떻게 발생하는지 파악할 수 있습니다.

사용 사례: 관찰성 vs. 모니터링

사용자로부터 운영 중단 사실을 알게 되거나 애플리케이션이 잘못된 대상 시스템에서 실행되고 있음을 발견하는 등, 오류를 뒤늦게 알게 되면 시간, 비용, 평판 및 개발자 리소스의 손실이 발생할 수 있습니다. 모니터링은 오류를 사전에 포착하기 위한 필수 요소입니다. 모니터링 도구는 모든 유형의 불일치에 대해 알림을 보내므로 장기적인 피해를 초래하기 전에 그러한 문제를 포착하고 해결할 수 있습니다.

관찰성 시스템은 기존 모니터링 기능을 강화합니다. 특히 분산 클라우드 인프라에 배포할 때, 마이크로서비스 애플리케이션 아키텍처를 실행하는 데 필수적입니다. 모니터링만으로는 오류가 시작된 애플리케이션이나 서비스를 식별하고 격리하는 것이 거의 불가능합니다. 적절한 데이터 캡처 및 모니터링 기능은 관찰성과 함께 복잡한 시스템에서 오류를 추적할 수 있게 합니다.

차이점 요약: 모니터링과 관찰성 비교

 

모니터링

관측성

무엇인가요?

시스템 상태를 확인할 수 있도록 시스템 내에서 특정 지표를 측정하고 보고합니다.

지표, 이벤트, 로그 및 트레이스를 수집하여 마이크로서비스 아키텍처를 사용하는 분산 시스템 전반의 상태 문제를 자세히 조사할 수 있습니다.

주안점

데이터를 수집하여 비정상적인 시스템에 미치는 영향을 식별합니다.

비정상적인 시스템에 미치는 영향의 근본 원인을 조사합니다.

관련 시스템

일반적으로 독립형 시스템과 관련이 있습니다.

일반적으로 서로 다른 여러 시스템과 관련이 있습니다.

추적 가능성

시스템의 엣지로 제한됩니다.

서로 다른 여러 시스템 아키텍처 전반에 걸쳐 신호가 방출되는 위치에서 사용할 수 있습니다.

시스템 오류 조사 결과

시점종류

이유과정

AWS는 관찰성 및 모니터링 요구 사항을 어떻게 지원하나요?

AWS Cloud Operations는 클라우드 기반의 안전하고 효율적인 운영 방법을 위한 모델과 도구를 제공합니다. Amazon Web Services(AWS)와 함께하면 조직을 변혁하고, 애플리케이션의 현대화 및 마이그레이션을 실현하고, 혁신을 가속화할 수 있습니다. 

클라우드 운영에서는 모니터링 및 관찰성을 통해 텔레메트리를 수집하고, 집계 및 분석하고 그 상관관계를 밝힐 수 있습니다. 이는 클라우드, 하이브리드 또는 온프레미스 환경의 네트워크, 인프라 및 애플리케이션 전반에 적용됩니다. 시스템의 동작, 성능 및 상태에 대한 인사이트를 얻을 수 있습니다. 이러한 인사이트를 바탕으로 문제를 더 빠르게 감지하고, 조사하며, 해결할 수 있습니다. 이러한 인사이트를 인공 지능(AI) 및 기계 학습(ML)과 함께 활용하면 사전에 문제를 예측하고 대응하며 예방할 수 있습니다.

예를 들어 다음을 사용할 수 있습니다.

  • AWS X-Ray를 사용하여 프로덕션 및 분산 애플리케이션을 분석 및 디버깅하고, 사용자 요청을 추적하고, 병목 현상을 식별하고, 성능을 모니터링할 수 있습니다.
  • Amazon CloudWatch는 AWS, 온프레미스 및 기타 클라우드에서 강력한 시각화 도구를 사용하여 리소스 및 애플리케이션 데이터와 외부 출력에 액세스하고 분석할 수 있습니다.
  • Amazon Managed Grafana는 운영 데이터 전반의 지표, 로그 및 트레이스에 대한 쿼리, 시각화 및 알림을 지원하는 Grafana(인기 모니터링 도구)를 완벽하게 관리합니다.
  • Amazon Managed Service for Prometheus는 자체 관리형 Kubernetes 컨테이너 클러스터에서 수집되는 시계열 지표를 유지 관리하고 쿼리하기 위한 컨테이너 모니터링 도구인 Prometheus를 완벽하게 관리합니다.

지금 계정을 만들어 AWS에서 모니터링 및 관찰성 사용을 시작해 보세요.