OpenTelemetry를 사용하여 지표 및 트레이스 수집
널리 사용되는 오픈 소스 솔루션인 OpenTelemetry Protocol(OTLP)과 함께 CloudWatch 에이전트를 사용하여 애플리케이션 또는 서비스에서 지표와 트레이스를 수집할 수 있습니다. OpenTelemetry SDK를 사용하여 지표와 트레이스를 CloudWatch 에이전트로 전송할 수 있습니다. 사용 가능한 OpenTelemetry SDK에 대한 자세한 내용은 OpenTelemetry Supported Language APIs & SDKs
OpenTelemetry 지표 및 트레이스를 수집하려면 CloudWatch 에이전트 구성 파일에 otlp
섹션을 추가합니다. 이 섹션에는 다음 필드가 포함됩니다.
-
grpc_endpoint
– 선택 사항입니다. gRPC 원격 프로시저 직접 호출을 사용하여 전송된 OpenTelemetry 지표 또는 트레이스를 수신하는 데 사용할 CloudWatch 에이전트의 주소를 지정합니다. 형식은ip:port
입니다. 이 주소는 OpenTelemetry SDK에서 gRPC 내보내기에 설정된 주소와 일치해야 합니다. 이 필드를 생략하면 기본값인127.0.0.1:4317
가 사용됩니다. -
http_endpoint
– 선택 사항입니다. HTTP를 통해 전송된 OpenTelemetry 지표 또는 트레이스를 수신하는 데 사용할 CloudWatch 에이전트의 주소를 지정합니다. 형식은ip:port
입니다. s이 주소는 OpenTelemetry SDK에서 HTTP 내보내기에 설정된 주소와 일치해야 합니다. 이 필드를 생략하면 기본값인127.0.0.1:4318
가 사용됩니다. -
tls
– 선택 사항입니다. 서버를 TLS로 구성하도록 지정합니다.-
cert_file
- TLS 필수 연결에 사용할 TLS 인증서의 경로. -
key_file
- TLS 필수 연결에 사용할 TLS 키의 경로.
-
이 otlp
섹션은 지표 및 트레이스를 전송할 방법과 위치에 따라 CloudWatch 에이전트 구성 파일 내의 여러 섹션에 배치할 수 있습니다.
중요
각 otlp
섹션에는 고유한 엔드포인트 및 포트가 필요합니다. 지표 및 추적 엔드포인트 분할에 대한 자세한 내용은 OpenTelemetry SDK 설명서의 OTLP Exporter Configuration
CloudWatch 또는 Amazon Managed Service for Prometheus로 지표를 전송하려면 metrics
섹션 내의 metrics_collected
의 아래에 otlp
섹션을 추가합니다. 다른 대상으로 지표를 전송하는 방법에 대한 자세한 내용은 수동으로 CloudWatch 에이전트 구성 파일 생성 또는 편집 섹션을 참조하세요. 다음 예제에서는 CloudWatch로 지표를 전송하는 구성을 보여줍니다.
참고
컨테이너화된 환경에서 에이전트를 실행하고 에이전트 컨테이너의 네트워크 외부에서 원격 측정을 전송하는 경우 기본 엔드포인트 127.0.0.1
대신 0.0.0.0
으로 엔드포인트를 지정해야 합니다.
{ "metrics": { "metrics_collected": { "otlp": { "grpc_endpoint": "127.0.0.1:4317", "http_endpoint": "127.0.0.1:4318" } } } }
임베디드 지표 형식(EMF)을 사용하여 Amazon CloudWatch Logs로 지표를 전송하려면 logs
섹션 내의 metrics_collected
아래에 otlp
섹션을 추가합니다. 이렇게 하면 기본적으로 EMF 로그가 /aws/cwagent
로그 그룹 및 생성된 로그 스트림으로 전송됩니다. 지표는 기본적으로 CWAgent
네임스페이스로 추출됩니다. 다음 예제에서는 지표를 EMF 로그로서 CloudWatch Logs에 전송하는 구성을 보여줍니다.
{ "logs": { "metrics_collected": { "otlp": { "grpc_endpoint": "127.0.0.1:4317", "http_endpoint": "127.0.0.1:4318" } } } }
트레이스를 AWS X-Ray로 전송하려면 traces
섹션 내의 traces_collected
아래에 otlp
섹션을 추가합니다. 다음 예제에서는 트레이스를 X-Ray로 전송하는 구성을 보여줍니다.
{ "traces": { "traces_collected": { "otlp": { "grpc_endpoint": "127.0.0.1:4317", "http_endpoint": "127.0.0.1:4318" } } } }