

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 애플리케이션 모니터링
<a name="observability-app-monitoring"></a>

애플리케이션 모니터링은 서비스 성능에 대한 실시간 보기를 제공합니다. OpenSearch에 저장된 토폴로지 데이터와 Amazon Managed Service for Prometheus의 시계열 RED 지표(속도, 오류, 기간)를 결합하여 분산 시스템 전체에서 상태, 지연 시간, 처리량 및 오류 정보를 표시합니다.

애플리케이션 모니터링에 액세스하려면 OpenSearch UI에서 **관찰성** > **애플리케이션 모니터링**으로 이동합니다. 사이드바에는 다음 두 가지 보기가 표시됩니다.
+ **애플리케이션 맵** - 서비스 종속성의 대화형 토폴로지 그래프
+ **서비스** - 필터링, 세부 정보 보기 및 상관관계 링크가 있는 모든 계측된 서비스의 카탈로그

## 사전 조건
<a name="observability-app-monitoring-prereqs"></a>

애플리케이션 모니터링을 사용하려면 먼저 다음 리소스를 구성해야 합니다.
+ [OTel Collector에서 OpenSearch Ingestion으로 흐르는 OTLP 추적 데이터](observability-ingestion.md)(지표 및 로그는 선택 사항)
+ [OpenSearch Ingestion에서 원격 쓰기를 수신하도록 구성된 Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/configure-client-prometheus.html)
+ 관찰성이 활성화된 OpenSearch UI 워크스페이스

## 작동 방식
<a name="observability-app-monitoring-how-it-works"></a>

다음 다이어그램은 애플리케이션 모니터링을 위한 end-to-end 아키텍처를 보여줍니다.

![](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/images/otel-sdk-service.png)


1. 애플리케이션 및 인프라는 OpenTelemetry SDKs, 자동 계측 또는 OTel API를 통해 OTel Collector로 원격 측정을 내보냅니다.

1. OTel Collector는 추적 데이터를 OTLP를 통해 OpenSearch Ingestion으로 전달합니다.

1. OpenSearch Ingestion `otel_apm_service_map` 프로세서는 service-to-service 관계를 추출하고 RED 지표를 계산합니다.

1. 토폴로지 및 원시 추적 데이터는 OpenSearch로 인덱싱됩니다. RED 지표는 원격 쓰기를 통해 Amazon Managed Service for Prometheus로 내보내집니다.

1. OpenSearch UI는 두 스토어를 모두 쿼리하여 Application Map, Services 카탈로그 및 서비스 세부 정보 보기를 렌더링합니다.

## 서비스
<a name="observability-app-services"></a>

서비스 보기는 계측된 모든 서비스의 중앙 집중식 카탈로그를 제공하여 RED 지표(속도, 오류, 기간)를 한눈에 표시합니다. 이 뷰를 사용하여 비정상 서비스를 빠르게 식별하고 심층 분석을 위해 세부 뷰를 심층 분석할 수 있습니다.

서비스 보기에 액세스하려면 OpenSearch UI의 관찰성 워크스페이스로 이동하여 **APM** > **서비스를** 선택합니다.

서비스 홈 페이지에는 요약 패널과 함께 구성된 모든 서비스의 테이블이 표시됩니다. 다음 이미지는 서비스 홈 페이지를 보여줍니다.

![](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/images/apm/services-home.png)


다음 표에서는 서비스 테이블의 열을 설명합니다.


| 열 | 설명 | 
| --- | --- | 
| 서비스 이름 | 계측된 서비스의 이름입니다. | 
| P99 지연 시간 | 서비스의 99번째 백분위수 지연 시간입니다. | 
| P90 지연 시간 | 서비스의 90번째 백분위수 지연 시간입니다. | 
| P50 지연 시간 | 서비스의 50번째 백분위수(중앙값) 지연 시간입니다. | 
| 전체 요청 | 선택한 시간 범위 동안 처리된 총 요청 수입니다. | 
| 실패율 | 실패한 요청과 총 요청의 비율입니다. | 
| 환경 | production 또는와 같은 서비스의 배포 환경입니다staging. | 

홈 페이지에는 다음과 같은 요약 패널도 포함되어 있습니다.
+ **장애율별 상위 서비스** - 5xx 응답 비율이 가장 높은 서비스입니다.
+ **장애율별 상위 종속성 경로** Service-to-service 종속성 경로입니다.

다음 필터를 사용하여 서비스 테이블을 필터링할 수 있습니다.
+ **환경** - 배포 환경을 기준으로 필터링합니다.
+ **지연 시간** - 지연 시간 범위를 기준으로 필터링합니다.
+ **처리량** - 요청 처리량 범위를 기준으로 필터링합니다.
+ **실패율** - 실패율 범위를 기준으로 필터링합니다.

### 서비스 개요
<a name="observability-app-services-overview"></a>

서비스 세부 정보 보기를 열려면 서비스 테이블에서 서비스 이름을 선택합니다. 개요 탭에는 선택한 서비스에 대한 지표 타일 및 시계열 차트가 표시됩니다.

![](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/images/apm/services-overview.png)


개요 탭에는 다음과 같은 시계열 차트가 포함되어 있습니다.
+ **서비스 종속성별 지연 시간** - 다운스트림 종속성별로 구분된 P50, P90 및 P99 지연 시간입니다.
+ **작업별 요청 **- 서비스의 각 작업에 대한 요청 볼륨입니다.
+ **작업별 가용성** - 각 작업에 대한 성공 응답의 비율입니다.
+ **작업별 오류율 및 오류율** - 각 작업에 대한 5xx 및 4xx 응답의 백분율입니다.

### 운영
<a name="observability-app-services-operations"></a>

작업 탭은 선택한 서비스에 대한 작업별 분석을 제공합니다. 열을 기준으로 테이블을 정렬하여 문제가 있는 작업을 식별할 수 있습니다.

![](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/images/apm/service-operations.png)


다음 표에서는 작업 테이블의 열을 설명합니다.


| 열 | 설명 | 
| --- | --- | 
| 작업 이름 | 작업의 이름입니다. | 
| P50/P90/P99 지연 시간 | 작업에 대한 50번째, 90번째 및 99번째 백분위수 지연 시간입니다. | 
| 전체 요청 | 선택한 시간 범위 동안 작업에 대한 총 요청 수입니다. | 
| 오류율 | 오류를 반환한 요청의 백분율입니다. | 
| 가용성 | 작업에 대한 성공 응답의 백분율입니다. | 

### 종속성
<a name="observability-app-services-dependencies"></a>

종속성 탭에는 선택한 서비스가 호출하는 다운스트림 서비스가 표시됩니다.

![](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/images/apm/service-dependencies.png)


다음 표에서는 종속성 테이블의 열을 설명합니다.


| 열 | 설명 | 
| --- | --- | 
| 종속성 서비스 | 다운스트림 서비스의 이름입니다. | 
| 원격 작업 | 다운스트림 서비스에서 호출된 작업입니다. | 
| 서비스 작업 | 이 종속성을 호출하는 현재 서비스에 대한 작업입니다. | 
| P99/P90/P50 지연 시간 | 종속성 경로의 99번째, 90번째 및 50번째 백분위수 지연 시간입니다. | 
| 전체 요청 | 선택한 시간 범위 동안 종속성에 대한 총 요청 수입니다. | 
| 오류율 | 오류를 반환한 종속성에 대한 요청의 백분율입니다. | 
| 가용성 | 종속성에서 성공한 응답의 백분율입니다. | 

### 상관관계
<a name="observability-app-services-correlations"></a>

서비스 세부 정보 보기는 서비스 지표에서 관련 추적 및 로그로 직접 이동할 수 있는 컨텍스트 내 상관관계를 제공합니다. 상관관계를 사용하여 지연 시간 급증 또는 오류율 증가의 근본 원인을 조사할 수 있습니다.

![](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/images/apm/service-span-correlations.png)


다음 상관 관계 옵션을 사용할 수 있습니다.
+ **관련 트레이스 보기** - 선택한 서비스 또는 작업에 대해 필터링된 트레이스 보기를 엽니다.
+ **관련 로그 보기** - 선택한 서비스 또는 작업에 대해 필터링된 로그 보기를 엽니다.
+ **속성별 필터링** - 특정 범위 속성별로 상관관계 결과를 좁힙니다.

## 애플리케이션 맵
<a name="observability-app-map"></a>

Application Map은 `otel_apm_service_map` 프로세서를 사용하여 추적 데이터에서 OpenSearch Ingestion이 자동으로 생성하는 대화형 토폴로지 시각화입니다. 맵은 RED 지표(Rate, Errors, Duration)가 오버레이된 통신 패턴을 보여주는 방향 엣지가 있는 노드로 서비스를 표시합니다.

애플리케이션 맵에 액세스하려면 OpenSearch UI의 관찰성 워크스페이스로 이동하여 **APM** > **애플리케이션 맵**을 선택합니다.

다음 이미지는 애플리케이션 맵을 보여줍니다.

![](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/images/apm/application-map.png)


맵에는 각 서비스에 대해 다음과 같은 RED 지표가 표시됩니다.
+ **속도** - 서비스에서 처리하는 초당 요청 수입니다.
+ **오류 **- 4xx 및 5xx 응답의 백분율입니다.
+ **기간** - 서비스의 P50 및 P99 지연 시간입니다.

`otel_apm_service_map` 프로세서는 이러한 지표를 생성하여 원격 쓰기를 통해 Amazon Managed Service for Prometheus에 저장합니다.

토폴로지 시각화는 서비스를 노드로, 통신 방향을 엣지로 나타냅니다. 색상 코딩은 각 서비스의 상태를 나타냅니다. OpenSearch Ingestion이 새 추적 데이터를 수집하면 맵이 자동으로 업데이트됩니다.

### 서비스 그룹화
<a name="observability-app-map-groupby"></a>

프로그래밍 언어, 팀 또는 환경과 같은 속성별로 서비스를 그룹화할 수 있습니다. 그룹별 속성을 선택하면 맵이 토폴로지 그래프에서 카드 그리드 보기로 전환됩니다. 각 카드는 동일한 속성 값을 공유하는 서비스 그룹을 나타냅니다.

![](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/images/apm/groupby-attributes.png)


사용 가능한 그룹별 속성은 OpenSearch Ingestion의 `otel_apm_service_map` 프로세서 구성에 있는 `group_by_attributes` 설정에 따라 결정됩니다.

### 노드 세부 정보 보기
<a name="observability-app-map-node-details"></a>

서비스에 대한 세부 정보를 보려면 맵에서 노드를 선택합니다. 다음 섹션과 함께 세부 정보 패널이 열립니다.

![](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/images/apm/application-map-node-details.png)


**상태** 섹션에는 다음과 같은 요약 지표가 표시됩니다.
+ Total Requests
+ 총 오류 4xx
+ 총 결함 5xx

**지표** 섹션에는 다음과 같은 시계열 차트가 표시됩니다.
+ Requests
+ 지연 시간 P50/P90/P99
+ 결함 5xx
+ 오류 4xx

**세부 정보 보기를** 선택하여 선택한 서비스에 대한 서비스 세부 정보 보기로 이동합니다.

### 맵 필터링
<a name="observability-app-map-filters"></a>

다음 필터를 사용하여 Application Map을 필터링할 수 있습니다.
+ **장애 발생률** - 서버 측 장애 발생률(5xx)을 기준으로 서비스를 필터링합니다.
+ **오류율** - 클라이언트 측 오류율(4xx)을 기준으로 서비스를 필터링합니다.
+ **환경** - 배포 환경을 기준으로 서비스를 필터링합니다.

다음 이미지는 오류율로 필터링된 맵을 보여줍니다.

![](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/images/apm/filter-by-error-rate.png)


### 컨텍스트 내 상관관계
<a name="observability-app-map-correlations"></a>

토폴로지 보기에서 관련 트레이스 및 로그로 직접 이동할 수 있습니다. 모든 서비스 노드에서 다음 상관 관계 옵션을 사용할 수 있습니다.
+ **관련 트레이스 보기** - 선택한 서비스에 대해 필터링된 트레이스 보기를 엽니다.
+ **관련 로그 보기** - 선택한 서비스에 대해 필터링된 로그 보기를 엽니다.