Java
Cocktail APM은 OpenTelemetry Java Instrumentation 1.33.5 버전의 에이전트를 기준으로 동작합니다.
에이전트 준비
OpenTelemetry Java Agent는 코드를 변경하지 않고도 추적 및 메트릭과 같은 원격 측정 데이터를 수집하기 위해 Java 애플리케이션을 자동으로 계측하는 도구입니다.
칵테일에서는 에이전트 이미지가 Harbor 에 제공됩니다. 로컬 Harbor 주소가 local.harbor.io의 경우 다음과 같은 이미지가 제공됩니다.
Cocktail APM은 1.33.5 버전을 기준으로 동작합니다. 다른 버전의 에이전트를 직접 사용하는 경우 특정 메트릭이 수집되지 않을 수 있습니다.
이미지 빌드
다음과 같은 스크립트를 추가하여 애플리케이션 이미지에 에이전트를 삽입할 수 있습니다.
Java Agent는 최소 Java 8 이상에서 동작합니다.
Executable Java
War + Tomcat
기본 설정 가능한 환경 변수는 다음과 같은 의미를 가집니다.
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_ENDPOINT
: 수집 Collector 접속 주소를 입력 합니다. 칵테일에서는 고정값입니다.OTEL_EXPORTER_OTLP_PROTOCOL
: OpenTelemetry Collector에서 전달 받을 프토토콜 종류 선택http/protobuf : 기본값으로 칵테일에서는 이 값을 사용합니다.
JAVA_TOOL_OPTIONS
: 에이전트를 동작 시키기 위한 설정입니다.
워크로드 환경 변수 설정
이미지를 쿠버네티스에서 동작 시킬때 환경 변수를 추가하여, 수집 정보에 필요한 정보를 추가해 주어야 합니다. 필수로 애플리케이션 이름이 필요합니다.
OTEL_SERVICE_NAME
어플리케이션 고유 이름
필수값 (고유 ID)
OTEL_METRICS_EXPORTER
메트릭 전송 프로토콜 선택
수집 하지 않을 경우 none 입력
OTEL_TRACES_EXPORTER
추적 전송 프로토콜 선택
수집 하지 않을 경우 none 입력
워크로드 시작시 에이전트 동작 확인
로그에 다음과 같은 시작 로그가 기록 되는지 확인합니다.
Last updated