Java

opentelemetry.io에서 제공하는 Instrumentation Custom Resource를 생성하여 OpenTelemetry 자동 계측 라이브러리를 구성하고 워크로드에 주입 할 수 있습니다.

본 문서는 2가지 설정에 대해 가이드 합니다.

  1. Log 설정 가이드

  2. APM 설정 가이드

(공통) Instrumentation CR 생성


인프라 - 커스텀 리소스 메뉴에서 작업할 클러스터를 선택하고 instrumentations CRD를 선택합니다. 생성 버튼을 이용하여 네임스페이스 별로 자동 계측할 내용을 등록 할 수 있습니다.

Instrumentation 커스텀 리소스는 네임스페이스 기준으로 적용되고, 다른 언어에 대해서도 선언 가능합니다. 본 가이드는 Java 에 대해 설명합니다.

Spec (생성 YAML)

  • spce.exporter.endpoint : Collector 접속 주소를 입력 합니다. 칵테일에서는 고정값입니다.

  • OTEL_LOGS_EXPORTER : 로그를 수집하는 collector에 전달하는 프로토콜을 정의합니다.

    • otlp : OpenTelemetry Protocol을 사용하여 Collector에 정보를 전달합니다.

    • none: 사용하지 않습니다.

  • OTEL_METRICS_EXPORTER : 메트릭을 수집하는 collector에 전달하는 프로토콜을 정의합니다.

    • otlp : OpenTelemetry Protocol을 사용하여 Collector에 정보를 전달합니다.

    • none: 사용하지 않습니다.

  • OTEL_TRACES_EXPORTER : 트레이스(추적)를 수집하는 collector에 전달하는 프로토콜을 정의합니다.

    • otlp : OpenTelemetry Protocol을 사용하여 Collector에 정보를 전달합니다.

    • none: 사용하지 않습니다.

  • OTEL_EXPORTER_OTLP_PROTOCOL : OpenTelemetry Collector에서 전달 받을 프토토콜 종류 선택

    • http/protobuf : 기본값으로 칵테일에서는 이 값을 사용합니다.

커스텀 리소스를 통한 설정은 해당 네임스페이스에 있는 모든 애플리케이션이 대상입니다. 개별 어플리케이션 마다 환경변수를 추가하면 각기 다른 애플리케이션의 메트릭을 수집합니다.

워크로드 수정


Instrumentation 설정

에이전트를 주입 할 워크로드에 어노테이션을 추가합니다.

애플리케이션 - 서비스맵 - 워크로드 - 애플리케이션 선택 - "설정" 버튼을 클릭합니다.

Yaml 보기를 변경하여 template - metadata - annotaions 부분에 다음과 같은 어노테이션을 추가합니다.

Log 설정

개별 환경 변수 설정

워크로드 별 애플리케이션 이름을 별도로 가져가는 경우에 사용합니다.

APM 설정 (Metrics, Traces)

개별 환경 변수 설정

Last updated