observability-edot-python-instrument은(는) 무엇을 하나요?
Elastic Distribution of OpenTelemetry (EDOT) Python 에이전트로 Python 애플리케이션을 계측하여 자동 추적, 메트릭, 로그를 활성화합니다. 기존 APM 에이전트가 없는 Python 서비스에 관측 가능성을 추가할 때 사용하세요.
개요
이 스킬은 Python 애플리케이션에 Elastic Distribution of OpenTelemetry (EDOT) 에이전트를 설정하고 구성하는 과정을 안내합니다. EDOT Python 에이전트는 OpenTelemetry 표준을 기반으로 하여 코드 변경 없이 애플리케이션을 자동으로 계측합니다.
사전 요구 사항
- Python 3.8 이상
- pip 패키지 관리자
- Elastic Stack (Elasticsearch + Kibana) 접근 권한 또는 Elastic Cloud 계정
설치
EDOT Python 에이전트를 설치하려면 다음 pip 명령어를 사용하세요:
pip install elastic-opentelemetry
구성
환경 변수 설정
애플리케이션을 실행하기 전에 다음 환경 변수를 설정하세요:
export OTEL_SERVICE_NAME="your-service-name"
export OTEL_EXPORTER_OTLP_ENDPOINT="https://your-elastic-apm-server:8200"
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer your-secret-token"
export ELASTIC_OTEL_SYSTEM="elastic"
코드 수동 계측 (선택 사항)
자동 계측 외에도 특정 라이브러리를 수동으로 계측해야 할 경우 다음 예제를 참조하세요:
from opentelemetry import trace
from opentelemetry.instrumentation.requests import RequestsInstrumentor
# 요청 라이브러리 자동 계측
RequestsInstrumentor().instrument()
tracer = trace.get_tracer(__name__)
with tracer.start_as_current_span("custom-span"):
# 사용자 정의 추적 코드
pass
실행
자동 계측 실행
EDOT 에이전트를 사용하여 Python 애플리케이션을 실행하려면 다음 명령어를 사용하세요:
opentelemetry-instrument python your-app.py
또는 직접 호출:
python -m opentelemetry.instrumentation.auto your-app.py
검증
- 애플리케이션을 실행하고 몇 가지 요청을 보내세요.
- Kibana에서 APM 앱으로 이동하여 트레이스, 메트릭, 로그가 표시되는지 확인하세요.
- 대시보드에서 서비스 성능을 모니터링하세요.
문제 해결
일반적인 문제
- 연결 오류:
OTEL_EXPORTER_OTLP_ENDPOINT가 올바르게 설정되었는지 확인하세요. - 인증 오류:
OTEL_EXPORTER_OTLP_HEADERS에 올바른 토큰이 포함되어 있는지 확인하세요. - 라이브러리 호환성: 지원되는 라이브러리 목록은 공식 문서를 참조하세요.
로깅 활성화
디버그 로깅을 활성화하려면:
export OTEL_LOG_LEVEL=debug