mcpField
O
observability-edot-python-migrate

observability-edot-python-migrate

github.com/elasticクラウド・DevOps6022.7k 回インストール今日更新
リポジトリ

observability-edot-python-migrate について

Python アプリケーションを従来の Elastic APM から EDOT に移行する手順を示すスキルです。旧設定の削除、自動計装の導入、OTLP エクスポートの設定を担当する開発者向けにまとめています。

主な機能

  1. 01従来の APM 依存関係と設定の削除
  2. 02elastic-opentelemetry の導入
  3. 03edot-bootstrap による自動計装の導入
  4. 04opentelemetry-instrument でのアプリ起動
  5. 05OTLP エンドポイントと認証ヘッダーの設定

活用シーン

  1. 01Python サービスを従来の APM から EDOT に移行
  2. 02自動計装を有効にするためのアプリ起動方法の変更
  3. 03テレメトリーのサービス名、エンドポイント、認証の設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/elastic/agent-skills --skill observability-edot-python-migrate

インストール後、Claude Code で/observability-edot-python-migrateを入力して読み込まれたか確認します。

詳細

EDOT Python の移行

変更を加える前に、移行ガイドをお読みください。

ガイドライン

  1. 従来の APM に関する参照をすべて削除します。requirements 内の elastic-apm、アプリケーションコード内の ElasticAPM(app) / elasticapm.contrib.*、app.config['ELASTIC_APM'] ブロック、すべての ELASTIC_APM_* 環境変数が対象です。
  2. elastic-opentelemetry を pip でインストールします(requirements.txt または同等のファイルに追加します)。
  3. イメージのビルド中に edot-bootstrap --action=install を実行し、検出されたライブラリの自動計装パッケージをインストールします。
  4. アプリケーションのエントリーポイントを opentelemetry-instrument でラップします。例:opentelemetry-instrument gunicorn app:app。これを行わないと、テレメトリーは収集されません。
  5. 必須の環境変数を正確に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 の置き換え)
  6. OTEL_TRACES_EXPORTER、OTEL_METRICS_EXPORTER、OTEL_LOGS_EXPORTER は設定しないでください。デフォルト値はすでに正しく設定されています。
  7. 同じアプリケーションで、従来の elastic-apm と EDOT を同時に実行しないでください。

例

詳しい例については、EDOT Python 移行ガイドをご覧ください。

コメント