본문 바로가기
WIKI 기술 지식 베이스

Application performance monitoring

원문 보기 위키 갱신

출처: 문서

본문

애플리케이션 성능 모니터링

3.6에서 도입 {: .label .label-purple }

애플리케이션 성능 모니터링(APM)은 서비스 토폴로지 데이터와 Rate, Errors, Duration(RED) 메트릭을 결합하여 분산 애플리케이션을 실시간으로 모니터링해요. APM은 서비스 상태에 대한 통합 보기를 제공하여 마이크로서비스 아키텍처 전반의 성능 병목 현상과 장애를 신속하게 식별할 수 있게 해요.

APM 아키텍처

다음 이미지는 APM 아키텍처를 보여줘요.

APM 아키텍처

APM은 다음 데이터 파이프라인을 사용하여 애플리케이션 텔레메트리를 수집, 처리 및 시각화해요.

  1. **OpenTelemetry SDKs**는 애플리케이션 코드를 계측하여 트레이스, 로그, 메트릭을 생성해요.
  2. **OpenTelemetry Collector**는 OTLP(포트 4317의 gRPC 또는 포트 4318의 HTTP)를 통해 텔레메트리를 수신하고, 처리한 후 Data Prepper와 Prometheus로 라우팅해요.
  3. **OpenSearch Data Prepper**는 otel_apm_service_map 프로세서를 사용하여 트레이스를 처리하고 서비스 맵과 RED 메트릭을 생성해요.
  4. OpenSearch는 트레이스 데이터, 로그, 서비스 토폴로지 정보를 저장해요.
  5. Prometheus는 원격 쓰기를 통해 시계열 RED 메트릭을 저장해요.
  6. OpenSearch Dashboards는 시각화 및 분석을 위한 APM 사용자 인터페이스를 제공해요.

APM 구성

APM을 구성하려면 다음 단계를 완료하세요.

  1. 관찰 가능성 작업 공간 생성: APM 기능은 Observability 작업 공간 내에서만 사용할 수 있어요. 작업 공간을 활성화하고 생성하는 방법을 알아보려면 OpenSearch Dashboards용 작업 공간을 참조하세요.

  2. 기능 플래그 활성화: opensearch_dashboards.yml 파일에 다음 설정을 추가하세요.

    workspace.enabled: true
    data_source.enabled: true
    explore.enabled: true
    explore.discoverTraces.enabled: true
    explore.discoverMetrics.enabled: true
    

    {% include copy.html %}

  3. 애플리케이션 계측: OpenTelemetry SDKs를 애플리케이션 코드에 통합하여 트레이스 및 로그 데이터를 생성하세요.

  4. 텔레메트리 수집 구성: OpenTelemetry Collector와 Data Prepper를 설정하여 텔레메트리를 처리하고 OpenSearch와 Prometheus로 라우팅하세요. 텔레메트리 수집 구성을 참조하세요.

  5. OpenSearch Dashboards에서 APM 구성: Observability 작업 공간에서 데이터 세트, 인덱스 패턴을 생성하고 데이터 소스를 연결하세요. OpenSearch Dashboards에서 APM 구성을 참조하세요.

APM 사용

설정 단계를 완료한 후 다음 APM 페이지를 사용하여 서비스를 모니터링하세요.

  • 서비스: 주요 성능 지표, 작업별 메트릭, 종속성 정보와 함께 계측된 모든 서비스의 중앙 집중식 카탈로그를 확인해요.
  • 애플리케이션 맵: 트레이스 데이터에서 자동 생성된 대화형 토폴로지 시각화를 탐색하며, 각 서비스 노드에 RED 메트릭이 오버레이돼요.

APM은 이전의 애플리케이션 분석 및 트레이스 분석 기능과는 달라요. APM은 서비스 토폴로지, RED 메트릭, 컨텍스트 내 상관 관계를 단일 워크플로우로 결합한 보다 통합된 경험을 제공해요. {: .note}

다음 단계

  • 텔레메트리 수집 구성: OpenTelemetry Collector와 Data Prepper를 설정하여 텔레메트리를 처리하고 OpenSearch와 Prometheus로 라우팅해요.

더 알아보기 (Learn more)