observability-edot-python-migrate は何をしますか?
Pythonアプリケーションを従来のElastic APM PythonエージェントからEDOT Pythonエージェントに移行します。elastic-apmからelastic-opentelemetryへの切り替え時に使用します。
概要
この移行ガイドでは、PythonアプリケーションのAPMエージェントを従来のElastic APMエージェント(elastic-apm)からEDOT(Elastic Distribution of OpenTelemetry)Pythonエージェント(elastic-opentelemetry)に移行する手順を説明します。
前提条件
- Python 3.8以上
- 既存の
elastic-apmを使用したアプリケーション - Elastic Observabilityへのアクセス権限
移行手順
1. 依存関係の更新
requirements.txtまたはpyproject.tomlで、elastic-apmをelastic-opentelemetryに置き換えます:
pip uninstall elastic-apm
pip install elastic-opentelemetry
2. 環境変数の変更
以下の環境変数を更新します:
| 古い変数 | 新しい変数 |
|---|---|
ELASTIC_APM_SERVER_URL | OTEL_EXPORTER_OTLP_ENDPOINT |
ELASTIC_APM_SECRET_TOKEN | OTEL_EXPORTER_OTLP_HEADERS |
ELASTIC_APM_SERVICE_NAME | OTEL_SERVICE_NAME |
ELASTIC_APM_ENVIRONMENT | OTEL_RESOURCE_ATTRIBUTES |
3. コードの変更
アプリケーションのエントリポイントで、APMエージェントの初期化方法を変更します:
変更前(elastic-apm):
from elasticapm import Client
client = Client()
変更後(elastic-opentelemetry):
from elastic_opentelemetry import OpenTelemetry
otel = OpenTelemetry()
otel.start()
4. 追加の構成
詳細な構成については、公式ドキュメントを参照してください。
トラブルシューティング
移行中に問題が発生した場合は、以下の点を確認してください:
- 環境変数が正しく設定されているか
- 必要なPythonパッケージがインストールされているか
- Elastic Observabilityのエンドポイントにアクセス可能か