이 문서에서는 SDK와 gRPC 내보내기 도구(SDK와 함께 사용하도록 권장되는 내보내기 도구)를 사용하여 애플리케이션에서 OTLP 엔드포인트로 직접 측정항목을 전송하는 방법을 보여줍니다.
OTLP 엔드포인트는 http/proto, http/json, grpc를 비롯한 모든 OTLP 프로토콜을 지원합니다. 자세한 내용은
프로토콜 지원을 참조하세요.
애플리케이션 측정항목을 OTLP 엔드포인트로 직접 전송하면 OpenTelemetry 수집기가 인증 및 보강을 처리하지 않습니다. SDK를 사용하여 애플리케이션에서 측정항목을 전송할 때는 다음을 실행해야 합니다.
- 인증 사용자 인증 정보 가져오기에 설명된 대로 Google 애플리케이션 기본 사용자 인증 정보를 사용하도록 OTLP gRPC 내보내기 도구의 사용자 인증 정보를 구성합니다.
- 애플리케이션에서 Kubernetes 리소스를 감지합니다. Google Cloud 이 작업의 방법은 실행 중인 애플리케이션에 따라 다릅니다.
시작하기 전에
예를 실행하려면 필요한 API를 사용 설정하고 인증 사용자 인증 정보를 획득해야 합니다.
API 사용 설정
다음 명령어를 실행하여 Google Cloud 프로젝트에서 Cloud Monitoring API 및 Telemetry API를 사용 설정합니다.
gcloud services enable monitoring.googleapis.com telemetry.googleapis.com
인증 사용자 인증 정보 가져오기
다음 명령어를 실행하여 Google 애플리케이션 기본 사용자 인증 정보를 사용하도록 OTLP gRPC 내보내기 도구의 사용자 인증 정보를 구성합니다.
gcloud auth application-default login
언어별 예
이 섹션에서는 카운터 측정항목을 만들고 쓰는 언어별 샘플을 선택하여 제공합니다. 샘플 실행 및 코드 보기에 대한 탭을 선택합니다.
Go
이 예 구성 및 실행에 대한 자세한 내용은
README 파일에서
Go 샘플을 참조하세요.
자바
이 예 구성 및 실행에 대한 자세한 내용은 자바 샘플의
README 파일을 참조하세요.
Java sample
NodeJS
이 예 구성 및 실행에 대한 자세한 내용은
README 파일에서
NodeJS 샘플을(를) 참조하세요.
Python
이 예 실행에 대한 자세한 내용은 README 파일의
README 파일에서
Python 샘플을 참조하세요.
포드로 실행되는 애플리케이션에 하향식 API 사용
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 수집기 및 Telemetry API를 사용하는 방법에 대한 자세한 내용은 자바에 OpenTelemetry 제로 코드 계측 사용을 참조하세요.
- 다른 내보내기 도구에서
otlphttp내보내기 도구로 마이그레이션하는 방법에 대한 자세한 내용은 OTLP 내보내기 도구로 마이그레이션을 참조하세요. - Telemetry API에 대한 자세한 내용은 Telemetry (OTLP) API 개요를 참조하세요.