이 문서에서는 SDK 및 gRPC 내보내기 도구(SDK와 함께 사용하도록 권장되는 내보내기 도구)를 사용하여 애플리케이션에서 OTLP 엔드포인트로 직접 측정항목을 전송하는 방법을 설명합니다.
OTLP 엔드포인트는 http/proto, http/json, grpc를 비롯한 모든 OTLP 프로토콜을 지원합니다. 자세한 내용은 프로토콜 지원을 참고하세요.
애플리케이션 측정항목을 OTLP 엔드포인트로 직접 전송하는 경우 OpenTelemetry Collector가 인증 및 보강을 처리하지 않습니다. SDK를 사용하여 애플리케이션에서 측정항목을 전송할 때는 다음을 수행해야 합니다.
- 인증 사용자 인증 정보 가져오기에 설명된 대로 Google 애플리케이션 기본 사용자 인증 정보를 사용하도록 OTLP gRPC 내보내기 도구의 사용자 인증 정보를 구성합니다.
- 애플리케이션에서 Google Cloud 및 Kubernetes 리소스를 감지합니다. 이 작업의 방법은 실행 중인 애플리케이션에 따라 다릅니다.
시작하기 전에
예를 실행하려면 필요한 API를 사용 설정하고 인증 사용자 인증 정보를 획득해야 합니다.
API 사용 설정
다음 명령어를 실행하여Google Cloud 프로젝트에서 Cloud Monitoring API와 Telemetry API를 사용 설정합니다.
gcloud services enable monitoring.googleapis.com telemetry.googleapis.com
인증 사용자 인증 정보 가져오기
다음 명령어를 실행하여 OTLP gRPC 내보내기가 Google 애플리케이션 기본 사용자 인증 정보를 사용하도록 사용자 인증 정보를 구성합니다.
gcloud auth application-default login
언어별 예시
이 섹션에서는 카운터 측정항목을 만들고 쓰는 언어별 샘플을 제공합니다. 샘플 실행에 관한 정보를 확인하고 코드를 보려면 탭을 선택하세요.
Go
이 예시를 구성하고 실행하는 방법에 관한 자세한 내용은 Go 샘플의 README 파일을 참고하세요.
자바
이 예시를 구성하고 실행하는 방법은 Java 샘플의 README 파일을 참고하세요.
NodeJS
이 예시를 구성하고 실행하는 방법에 관한 자세한 내용은 NodeJS 샘플의 README 파일을 참고하세요.
Python
이 예시를 실행하는 방법에 관한 자세한 내용은 Python 샘플의 README 파일을 참고하세요.README
포드로 실행되는 애플리케이션에 다운워드 API 사용
Kubernetes에서 포드로 애플리케이션을 실행하고 OpenTelemetry 수집기를 통해 전송하지 않는 경우 하향 API를 사용하여 Kubernetes 리소스 속성을 설정해야 합니다.
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NAMESPACE_NAME
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: CONTAINER_NAME
value: my-container-name
- name: OTEL_RESOURCE_ATTRIBUTES
value: k8s.pod.name=$(POD_NAME),k8s.namespace.name=$(NAMESPACE_NAME),k8s.container.name=$(CONTAINER_NAME)
다음 단계
- OpenTelemetry 제로 코드 계측과 함께 OpenTelemetry 수집기 및 원격 분석 API를 사용하는 방법에 대한 자세한 내용은 Java용 OpenTelemetry 제로 코드 계측 사용을 참고하세요.
- 다른 내보내기 도구에서
otlphttp내보내기 도구로 마이그레이션하는 방법에 대한 자세한 내용은 OTLP 내보내기 도구로 마이그레이션을 참고하세요. - Telemetry API에 대해 자세히 알아보려면 Telemetry (OTLP) API 개요를 참고하세요.