observability-edot-python-migrate について
Python アプリケーションを従来の Elastic APM から EDOT に移行する手順を示すスキルです。旧設定の削除、自動計装の導入、OTLP エクスポートの設定を担当する開発者向けにまとめています。
主な機能
- 01従来の APM 依存関係と設定の削除
- 02elastic-opentelemetry の導入
- 03edot-bootstrap による自動計装の導入
- 04opentelemetry-instrument でのアプリ起動
- 05OTLP エンドポイントと認証ヘッダーの設定
活用シーン
- 01Python サービスを従来の APM から EDOT に移行
- 02自動計装を有効にするためのアプリ起動方法の変更
- 03テレメトリーのサービス名、エンドポイント、認証の設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ elastic/ agent-skills --skill observability-edot-python-migrateインストール後、Claude Code で/observability-edot-python-migrateを入力して読み込まれたか確認します。
詳細
EDOT Python の移行
変更を加える前に、移行ガイドをお読みください。
ガイドライン
- 従来の APM に関する参照をすべて削除します。
requirements内のelastic-apm、アプリケーションコード内のElasticAPM(app)/elasticapm.contrib.*、app.config['ELASTIC_APM']ブロック、すべてのELASTIC_APM_*環境変数が対象です。 elastic-opentelemetryを pip でインストールします(requirements.txtまたは同等のファイルに追加します)。- イメージのビルド中に
edot-bootstrap --action=installを実行し、検出されたライブラリの自動計装パッケージをインストールします。 - アプリケーションのエントリーポイントを
opentelemetry-instrumentでラップします。例:opentelemetry-instrument gunicorn app:app。これを行わないと、テレメトリーは収集されません。 - 必須の環境変数を正確に3つ設定します。
OTEL_SERVICE_NAME(ELASTIC_APM_SERVICE_NAMEの置き換え)OTEL_EXPORTER_OTLP_ENDPOINT— 管理対象の OTLP エンドポイントまたは EDOT Collector の URL を指定する必要があります。古いELASTIC_APM_SERVER_URLの値は再利用しないでください。APM Server の URL(apm-server、:8200、/intake/v2/eventsを含むもの)は絶対に使用しないでください。OTEL_EXPORTER_OTLP_HEADERS—"Authorization=ApiKey <key>"または"Authorization=Bearer <token>"(ELASTIC_APM_SECRET_TOKENの置き換え)
OTEL_TRACES_EXPORTER、OTEL_METRICS_EXPORTER、OTEL_LOGS_EXPORTERは設定しないでください。デフォルト値はすでに正しく設定されています。- 同じアプリケーションで、従来の
elastic-apmと EDOT を同時に実行しないでください。
例
詳しい例については、EDOT Python 移行ガイドをご覧ください。
コメント
Markdown 対応