CloudWatch로 전송된 사용자 지정 원격 측정에 관련 정보를 추가하는 방법
자체 지표 및 로그를 CloudWatch에 게시할 경우, 관련 원격 측정에 필요한 엔터티 정보가 기본적으로 준비되어 있지는 않습니다. CloudWatch로 지표를 전송하거나 CloudWatch Logs로 로그를 전송할 경우(PutMetricData 또는 PutLogEvents 작업을 통해), 이러한 로그 또는 지표에 엔터티 정보를 추가할 수 있습니다. 엔터티 정보는 원격 측정과 연결되며, 이러한 정보는 탐색 내용 살펴보기 기능에서 동일한 엔터티와 연결된 관련 원격 측정을 찾는 데 사용됩니다.
원격 측정으로 전송된 엔터티는 원격 측정이 연결된 리소스 또는 서비스를 나타냅니다. 예를 들어 서비스에 대한 지표 또는 AWS 리소스에서 가져온 지표가 이에 해당합니다. 코드에 연결된 엔터티를 식별하려면 엔터티의 KeyAttributes
및 Attributes
(선택 사항) 세트를 생성합니다.
참고
CloudWatch는 이전 3시간 내에 원격 측정이 전송된 엔터티에 대한 관련 리소스만 찾을 수 있습니다. 리소스가 희소 원격 측정만 내보낼 경우(3시간에 한 번 미만), CloudWatch 내에서 엔터티를 활성 상태로 유지하기 위해 추가 하트비트 원격 측정을 전송할 수 있습니다.
다음 섹션에서는 CloudWatch가 원격 측정과 연결된 리소스 및 서비스를 식별할 수 있도록 KeyAttributes
및 Attributes
를 생성하는 방법을 설명합니다.
KeyAttributes 객체를 사용하여 엔터티 식별
CloudWatch의 또는 CloudWatch 로그에 있는 엔터티 객체의 KeyAttributes
속성은 CloudWatch의 엔터티를 고유하게 식별합니다. 이 속성은 키-값 페어 목록입니다. 동일한 KeyAttributes
가 있는 엔터티는 동일한 엔터티로 간주됩니다. 동일한 엔터티와 연결된 원격 측정은 관련성이 있는 것으로 간주되며, 관련 내용 살펴보기 창에서 쉽게 찾을 수 있습니다.
참고
CloudWatch API에서는 속성을 KeyAttributes
라고 하며, CloudWatch Logs API에서는 속성을 keyAttributes
라고 합니다. 여기서는 동일한 속성으로 다룹니다.
Entity
가 나타낼 수 있는 객체 유형은 5가지입니다.
-
AWS::Resource – 이 엔터티는 DynamoDB 테이블 또는 Amazon EC2 인스턴스 같은 AWS 리소스를 나타냅니다.
-
AWS::Service – 이 엔터티는 Amazon S3 같은 AWS 서비스를 나타냅니다. 예를 들어 이는 특정 Amazon S3 리소스와 연결되지 않은
ListBuckets
작업을 직접적으로 호출할 때 사용할 수 있습니다. -
Service - 이 엔터티는 계정에서 실행되는 워크로드를 나타냅니다. 그 예로, 사용자가 관리하는 애플리케이션 또는 서비스를 들 수 있습니다.
-
Resource - 이 엔터티는 AWS에서 관리하지 않는 리소를 나타냅니다. 일례로 운영 체제 리소스(예: 프로세스 또는 파일 볼륨)가 이에 해당됩니다.
-
RemoteService - 이 엔터티는 원격 직접 호출의 외부 서비스를 나타냅니다. 그 예로 데이터베이스, 외부 캐시 또는 외부 엔드포인트에 대한 원격 직접 호출을 들 수 있습니다.
표시하려는 위의 유형에 따라 KeyAttributes
에 대한 올바른 키-값 페어를 제공해야 합니다. 다음은 각 유형에 대한 설명입니다.
속성 객체를 사용하여 엔터티에 대한 추가 세부 정보 제공
원격 측정과 함께 제공하는 Entity
에 대한 추가 세부 정보를 제공할 수 있습니다. 여기에는 플랫폼, 리소스, 애플리케이션 또는 원격 측정 공급자에 대한 세부 정보가 포함될 수 있습니다. 다음 표에서는 이러한 각 데이터 유형에 사용할 수 있는 키워드를 설명합니다.
참고
CloudWatch API에서는 속성을 Attributes
라고 하며, CloudWatch Logs API에서는 속성을 attributes
라고 합니다. 여기서는 동일한 속성으로 다룹니다.
플랫폼 세부 정보
키워드 | 사용법 | 값의 도메인 | 예시 |
---|---|---|---|
|
호스팅 플랫폼을 정의합니다. |
AWS::EKS, AWS::ECS, AWS::EC2, AWS::Lambda, K8s, 일반 |
|
|
Amazon ECS 클러스터의 이름. |
기본 구분 기호가 있는 영숫자 문자열. |
|
|
자체 호스팅되는 Kubernetes 클러스터의 이름. |
기본 구분 기호가 있는 영숫자 문자열. |
|
|
Amazon EKS 또는 K8s 클러스터의 Kubernetes 네임스페이스 이름. |
기본 구분 기호가 있는 영숫자 문자열. |
|
|
Amazon EKS 및 K8s 클러스터의 Kubernetes 워크로드 이름. |
기본 구분 기호가 있는 영숫자 문자열. |
|
|
Amazon EKS 및 K8s 클러스터에 있는 Kubernetes 노드의 ID. |
K8s 노드 이름(예: Amazon EC2 인스턴스 DNS 이름). |
|
|
Amazon EKS 및 K8s 클러스터에 있는 Kubernetes 포드의 ID. |
K8s 포드 식별자. |
|
|
Amazon EC2 AutoScaling 그룹의 이름. |
기본 구분 기호가 있는 영숫자 문자열. |
|
|
Amazon EC2 인스턴스의 ID. |
Amazon EC2 인스턴스 식별자. |
|
|
Amazon ECS 클러스터의 ID. |
Amazon EKS 클러스터 이름. |
|
|
Amazon ECS 서비스의 ID. |
Amazon ECS 서비스. |
|
|
Amazon ECS 작업의 ID. |
Amazon ECS 작업 ID. |
|
|
Lambda 함수의 ID. |
Lambda 함수 이름. |
|
|
모든 플랫폼 유형의 호스트 이름. |
하위 도메인 형식. |
|
리소스 세부 정보
키워드 | 사용법 | 값의 도메인 | 예시 |
---|---|---|---|
|
AWS 리소스의 ARN. |
기본 구분 기호가 있는 영숫자 문자열. |
|
애플리케이션 세부 정보
키워드 | 사용법 | 값의 도메인 | 예시 |
---|---|---|---|
|
AppRegistry에 있는 애플리케이션의 이름. |
기본 구분 기호가 있는 영숫자 문자열. |
|
|
AppRegistry에 있는 애플리케이션의 ARN. |
기본 구분 기호가 있는 영숫자 문자열. |
|
원격 측정 공급자 세부 정보
키워드 | 사용법 | 값의 도메인 | 예시 |
---|---|---|---|
|
계측된 서비스에 대한 OTEL SDK 버전의 지문. |
기본 구분 기호가 있는 영숫자 문자열. |
|
|
원격 측정 데이터를 수집하고 전송하는 데 사용되는 에이전트의 지문. |
기본 구분 기호가 있는 영숫자 문자열. |
|
|
원격 측정이 수집된 애플리케이션 지점 또는 원격 측정 데이터 소스에 사용된 지점을 지정합니다. |
ServerSpan, ClientSpan, ProducerSpan, ConsumerSpan, LocalRoot Span, JMX, OS. |
|