OpenTelemetry를 사용하여 지표 및 트레이스 수집 - Amazon CloudWatch

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로 지표를 전송하는 구성을 보여줍니다.

{ "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" } } } }