애플리케이션을 작성하는 경우 코드를 계측하여 원격 분석을 생성하고 애플리케이션의 내부 런타임 동작을 심층적으로 관찰할 수 있습니다. 이 페이지에서는 인프로세스 계측 개념을 소개하고, OpenTelemetry와 같은 공급업체 중립적인 프레임워크의 이점을 설명하며, Google Cloud Observability의 언어별 가이드 및 코드 샘플로 안내합니다.
계측 및 모니터링 가능성이란 무엇인가요?
계측 은 애플리케이션의 런타임 동작에 대한 데이터를 생성하거나 수집하는 특정 코드를 의미합니다. 애플리케이션 내에서 OpenTelemetry에서 제공하는 것과 같은 계측은 언어 런타임, 프레임워크 또는 애플리케이션 로직에 대한 도메인별 정보를 수집한 다음, 해당 데이터를 프로젝트 Google Cloud 나 다른 대상으로 전송할 수 있습니다. 원격 분석이라고도 하는 이 데이터에는 로그, 측정항목, trace가 포함됩니다.
CPU 사용량, 메모리 사용량, 디스크 사용량과 같은 시스템 수준 측정항목은 애플리케이션 문제를 감지하는 데 유용하지만 애플리케이션 수준의 문제에 대해 유용한 정보를 제공하지는 않습니다. 계측을 통해 애플리케이션이 문제의 근본 원인을 진단하는 데 필요한 데이터를 생성할 수 있습니다. 원격 분석 결과를 통해 애플리케이션 내부에서 발생하는 상황을 알 수 있기 때문입니다. 예를 들어 로그에는 특정 오류 메시지 또는 스택 추적과 같은 프로그램 관련 컨텍스트와 소스 코드의 위치가 포함되는 경우가 많습니다. 마찬가지로 분산 trace는 요청을 처리할 때 여러 서비스가 상호작용하는 방식을 이해하는 데 도움이 됩니다. 측정항목을 사용하면 애플리케이션이 정상적으로 작동하지 않는 시점을 확인할 수 있습니다.
애플리케이션을 계측하려면 원격 분석을 생성하고 데이터를 저장 및 쿼리할 수 있는 시스템으로 전송합니다. 예를 들어 계측은 프로젝트 Google Cloud 에 원격 분석을 보낼 수 있습니다. Google Cloud Observability의 서비스는 원격 분석 데이터를 수집, 분석하고 상관관계를 파악하는 데 도움이 됩니다. 또한 빠르게 시작할 수 있도록 기본 대시보드 및 알림 정책과 같은 기본값을 제공합니다. Google Cloud Observability에 대한 자세한 내용은 의 모니터링 가능성을 참조하세요. Google Cloud
다음 그림은 애플리케이션이 계측을 사용하여 원격 분석을 생성하고 스토리지 시스템으로 전송하는 방법을 보여줍니다.
앞의 그림과 같이 계측 코드는 애플리케이션의 프로세스 내에 존재하며 애플리케이션과 상호작용하여 원격 분석 데이터를 생성합니다. 그런 다음, 계측 프레임워크는 구성된 스토리지 시스템으로 원격 분석을 내보냅니다. 그림에서 스토리지 시스템은 Google Cloud 프로젝트입니다.
공급업체 중립적인 계측 프레임워크를 사용해야 하는 이유
에만 Google Cloud원격 분석을 전송하려는 경우에도 공급업체 중립적인 오픈소스 계측 프레임워크를 사용하여 애플리케이션을 계측하는 것이 좋습니다. 이러한 유형의 프레임워크에는 몇 가지 주요 이점이 있습니다.
- 공급업체 종속 없음
- 공급업체 중립적인 프레임워크는 특정 공급업체에 한정되지 않으며 생성된 원격 분석에 대해 자체 데이터 모델을 제공합니다. 따라서 여러 공급업체에 데이터를 보낼 수 있으며 일반적으로 코드 수정 없이도 공급업체를 변경할 수 있습니다.
- 원격 분석 수집을 위한 표준화된 절차
- OpenTelemetry와 같이 잘 설계된 프레임워크는 애플리케이션에서 원격 분석을 수집하는 표준화된 접근 방식을 제공합니다. 지원되는 언어로 작성된 애플리케이션에 동일한 프레임워크를 사용할 수 있습니다. 또한 프레임워크가 표준화되므로 모든 서비스에서 원격 분석을 수집하고 비교할 수 있습니다.
- 상호 운용이 가능한 라이브러리
- 계측 프레임워크는 원격 분석 신호를 수집하는 풍부한 라이브러리 생태계를 포함하며 라이브러리의 상호 운용이 가능합니다. 예를 들어 OpenTelemetry는 trace 데이터를 수집하는 라이브러리와 측정항목 데이터를 수집하는 라이브러리를 제공합니다. 두 라이브러리 중 하나를 사용하거나 모두 사용할 수 있습니다.
계측 전략 결정
- 계측 방법 선택 은 Google Cloud 컴퓨팅 플랫폼 및 원격 분석 요구사항에 따라 계측 권장사항을 제공합니다.
- OpenTelemetry란?에서는 OpenTelemetry의 사명과 목표를 설명합니다.
- 모니터링 가능성 Google Cloud 에서는 일반 정보를 제공합니다.
샘플 및 구현 가이드
샘플 개요에서는 다음 수집기 기반 코드 샘플의 아키텍처 및 필수 Identity and Access Management 역할을 설명합니다.
Trace 내보내기 도구에서 OTLP 엔드포인트로 마이그레이션 에서는 직접 내보내기를 사용하여 OTLP 형식의 trace 데이터를 전송하는 애플리케이션을 업데이트하는 방법을 설명합니다.
GKE의 자바 워크로드에 OpenTelemetry 제로 코드 계측 사용 에서는 자바 애플리케이션을 수정하지 않고 원격 분석을 수집하는 방법을 설명합니다.