이 문서에서는 otlphttp 내보내기 도구 및 OpenTelemetry OTLP 프로토콜을 구현하는 원격 분석 (OTLP) API, telemetry.googleapis.com와 함께 OpenTelemetry Collector를 사용하는 방법을 소개합니다.
otlphttp 내보내기 도구와 원격 분석 API를 함께 사용하면 OTLP 측정항목을 Cloud Monitoring으로 수집할 수 있습니다.
OTLP 엔드포인트는 http/proto, http/json, grpc를 비롯한 모든 OTLP 프로토콜을 지원합니다. 자세한 내용은 프로토콜 지원을 참고하세요.
SDK를 사용하는 애플리케이션에서 원격 분석 API로 직접 측정항목을 보낼 수도 있습니다. 자세한 내용은 SDK를 사용하여 애플리케이션에서 측정항목 보내기를 참고하세요.
Google Kubernetes Engine을 사용하는 경우 Telemetry API를 사용하는 OpenTelemetry Collector를 수동으로 배포하고 구성하는 대신 GKE용 관리형 OpenTelemetry를 따를 수 있습니다.
Prometheus 측정항목용 OTLP는 OpenTelemetry Collector 버전 0.140.0 이상을 사용하는 경우에만 작동합니다.
Telemetry API의 측정항목 및 라벨 이름
이 섹션에서는 Telemetry API를 사용하여 Cloud Monitoring에 수집되는 측정항목의 이름 지정 규칙과 요구사항을 설명합니다.
측정항목 이름과 라벨 키는 전체 UTF-8을 지원하지 않습니다.
[a-zA-Z][a-zA-Z0-9_:./]*정규 표현식을 준수하지 않는 측정항목 이름은 거부됩니다.- 정규 표현식
[a-zA-Z_][a-zA-Z0-9_.]*을 준수하지 않는 속성 (즉, 라벨 키)이 포함된 DataPoint는 거부됩니다.
이러한 이유로 측정항목이 거부되지 않도록 하려면
replace_pattern함수를 사용하여 측정항목 이름과 속성을 변환하는 프로세서를 설정하면 됩니다.중요: 콜론 (
:) 및 밑줄 (_) 이외의 특수 문자가 포함된 측정항목 이름 및 라벨 키를 쿼리하려면 PromQL UTF-8 사양에 따라 중괄호 ({})와 따옴표 (")로 래핑해야 합니다. 예를 들어 다음은 유효한 쿼리입니다.{"my.metric.name"}{"my.metric.name", "label.key.KEY"="value"}
원격 분석 API 측정항목 및 Cloud Monitoring
이 섹션에서는 Telemetry API 및 otlphttp 내보내기 도구를 사용하여 수집된 측정항목이 Cloud Monitoring과 상호작용하는 방법을 설명합니다.
이전에
target_info측정항목을 전송한 경우INT64유형 측정항목과DOUBLE유형 측정항목 간에 값 유형 충돌이 발생할 수 있습니다. 이러한 유형의 충돌이 발생하면INT64측정항목 설명자를 삭제하세요. 이 Golang 스크립트를 사용하여 측정항목 범위에서 모든INT64유형target_info측정항목을 삭제할 수 있습니다.지수 히스토그램을 쿼리할 때
le라벨을 유지하면 예기치 않은 결과가 반환될 수 있습니다. 더 일반적인histogram_quantile(.99, sum by (le) (metric))질문은 작동할 것으로 예상됩니다.델타 측정항목은 매우 희소한 델타와 같은 특정 상황에서 올바르게 쿼리되지 않을 수 있습니다.
프로토콜 지원
OTLP 엔드포인트는 http/proto, http/json, grpc를 비롯한 모든 OTLP 프로토콜을 지원합니다. OpenTelemetry Collector에서 내보낼 때는 프로토콜을 사용할 수 있습니다. 하지만 대부분의 SDK 내보내기 도구에서 동적 토큰 새로고침을 지원하지 않으므로 SDK에서 직접 내보낼 때는 HTTP 내보내기 도구가 아닌 gRPC OTLP 내보내기 도구만 사용하는 것이 좋습니다. 자세한 내용은 SDK를 사용하여 애플리케이션에서 측정항목 보내기를 참고하세요.
결제
OTLP 측정항목의 청구는 Google Cloud Managed Service for Prometheus의 측정항목에 사용되는 것과 동일한 'Prometheus 샘플 수집됨' SKU로 처리됩니다. 자세한 내용은 결제 페이지를 참고하세요.
한도 및 할당량
Telemetry API를 사용하여 측정항목을 수집하는 경우 Telemetry API 측정항목 한도가 적용됩니다.
또한 모든 표준 Cloud Monitoring 및 Google Cloud Managed Service for Prometheus 측정항목 할당량 및 한도가 적용됩니다. 예를 들어 측정항목에는 200개가 넘는 라벨이 있을 수 없습니다.
Telemetry API에서 수집한 측정항목의 기본 할당량은 분당 60,000개 요청입니다. 요청당 최대 배치 크기가 200포인트인 경우 초당 200,000개의 샘플이 효과적인 기본 할당량입니다. 할당량 상향 조정을 요청할 수 있습니다.
다음 단계
- Telemetry API로 OpenTelemetry Collector를 배포하고 사용하는 방법에 관한 단계별 안내는 수집기 배포 및 사용을 참고하세요.
- SDK를 사용하는 애플리케이션에서 Telemetry API로 측정항목을 전송하는 방법에 관한 자세한 내용은 SDK를 사용하여 애플리케이션에서 측정항목 전송을 참고하세요.
- OpenTelemetry 제로 코드 계측과 함께 OpenTelemetry 수집기 및 원격 분석 API를 사용하는 방법에 대한 자세한 내용은 Java용 OpenTelemetry 제로 코드 계측 사용을 참고하세요.
- 다른 내보내기 도구에서
otlphttp내보내기 도구로 마이그레이션하는 방법에 대한 자세한 내용은 OTLP 내보내기 도구로 마이그레이션을 참고하세요. - Telemetry API에 대해 자세히 알아보려면 Telemetry (OTLP) API 개요를 참고하세요.