すべてのプロダクト
Search
ドキュメントセンター

Application Real-Time Monitoring Service:Python エージェントに関するよくある質問

最終更新日:Dec 03, 2025

このドキュメントでは、Python エージェントに関するよくある質問 (FAQ) について説明します。

aliyun-bootstrap -a install を使用したエージェントのインストール失敗

aliyun-bootstrap -a install コマンドを使用してエージェントのインストールに失敗すると、次のエラーメッセージが表示されます:

Installation aborted due to download failure.

この失敗は、通常、次の 2 つの理由のいずれかが原因で発生します:

  1. エージェントの OSS エンドポイントとのネットワーク接続に問題があります。ご利用のネットワークからエージェントの OSS エンドポイントへの接続を確認してください。

image

  1. Python インタープリターが ssl モジュールなしでインストールされています。これを確認するには、次のコマンドを実行します:

python3 -m ssl

このコマンドがエラーを返す場合、ssl モジュールが欠落しています。aliyun-bootstrap ツールは、依存関係をダウンロードするために ssl モジュールを必要とします。この問題を解決するには、Python 環境に ssl モジュールをインストールしてください。

インストール成功後、「No module named 'aliyun'」エラーによるアプリケーションの起動失敗

このエラーは、エージェントが、アプリケーションの Python インタープリターがランタイムに見つけられない場所にインストールされたことを示します。これを解決するには、Python エージェントの依存関係が、アプリケーションの Python インタープリターから検出可能なパスにあることを確認してください。

アプリケーションのランタイム環境で次のコマンドを実行して、エージェントパッケージが正しい場所にインストールされていることを確認できます:

python3 -m site

このコマンドは、Python インタープリターがパッケージを検索するために使用する検索パスを出力します。次の図に示すような Python エージェントの依存関係がこれらのパスのいずれにもない場合、aliyun-bootstrap がパッケージを間違った場所にインストールしたことを意味します。

image

次のコマンドを使用して、aliyun-bootstrap の正しいインストール場所を指定できます:

aliyun-bootstrap -a install -t ${TARGET_PATH}

${TARGET_PATH} を正しいパッケージパスに置き換えてください。たとえば、前の図に基づくと、${TARGET_PATH} は /root/demo/venv/lib/python3.12/site-packages です。

Flask アプリケーションでデータがレポートされない

デバッグモードの Flask アプリケーションは、`aliyun-instrument` を使用して統合することはできません。代わりに、次の文を Flask のエントリファイルに追加して、Python エージェントを手動でインポートできます。その後、`aliyun-instrument` プレフィックスなしでアプリケーションを起動します。

from aliyun.opentelemetry.instrumentation.auto_instrumentation import sitecustomize

イベントトラッキング後の Django アプリケーションの起動失敗

Django アプリケーションの起動に失敗し、AttributeError: module 'django.conf global_settings' has no attribute 'ROOT_URLCONF' のような起動エラーが表示される場合は、DJANGO_SETTINGS_MODULE 環境変数をプロジェクトの設定モジュールの名前に設定してください。

export DJANGO_SETTINGS_MODULE=instrumentation_example.settings

Django アプリケーションでデータがレポートされない

Django の自動再読み込み機能は、python manage.py runserver 0.0.0.0:8080 のようなコマンドでアプリケーションを起動すると、デフォルトで有効になります。--noreload オプションを追加して、この機能を無効にすることができます:

python manage.py runserver 0.0.0.0:8080 --noreload

Uvicorn サーバーを使用するアプリケーションでデータがレポートされない

Uvicorn サーバーで --reload パラメーターを使用してホットリロードを有効にするか、--workers パラメーターを使用して複数のワーカーを起動すると、エージェントはデータをレポートできません。これを修正するには、次の文をアプリケーションのエントリファイルに追加して、Python エージェントを手動でインポートします。アプリケーションを起動するときに、aliyun-instrument プレフィックスを追加する必要はありません。

from aliyun.opentelemetry.instrumentation.auto_instrumentation import sitecustomize

エージェントのアンインストール

Python エージェントをアンインストールするには、次のコマンドを実行します:

aliyun-bootstrap -a uninstall

特定リージョンおよびバージョンのプローブのインストール

最適なエクスペリエンスを得るために、最も近いリージョンから特定バージョンのエージェントをインストールする必要がある場合があります。手順は次のとおりです:

  1. ARMS_REGION_ID 環境変数を設定して、エージェントをプルするリージョンを指定します。例:

export ARMS_REGION_ID=cn-beijing

サポートされているすべてのリージョンの一覧については、「利用可能なリージョン」をご参照ください。

  1. 次のコマンドを実行して、特定のバージョンの Python エージェントをインストールします。別のバージョンがインストールされている場合は、まずそれをアンインストールする必要があります。

# ${version} を実際のバージョン番号に置き換えます。
aliyun-bootstrap -a install -v ${version}

Container Service for Kubernetes (ACK) および Container Compute Service (ACS) の ack-onepilot コンポーネントを使用した Python エージェントのインストール」で説明されている非侵入型メソッドを使用して Python エージェントをインストールする場合は、「エージェントバージョンの手動制御」をご参照のうえ、aliyun.com/agent-version タグを追加してエージェントのバージョン番号を指定できます。

公開されているすべての Python エージェントのバージョンの一覧については、「Python エージェントバージョンガイド」をご参照ください。

Python エージェントのログディレクトリの指定

Python エージェント V1.6.0 以降では、APSARA_APM_AGENT_WORKSPACE_DIR 環境変数を設定して、カスタムログディレクトリを指定できます。Python エージェントは、ログファイルを ${APSARA_APM_AGENT_WORKSPACE_DIR}/.apsara-apm/python/logs ディレクトリに保存します。

デフォルトでは、プローブは次の優先順位に基づいてログディレクトリを選択します:

  1. /home/admin/.opt/.apsara-apm/python/logs (ack-onepilot のボリュームディレクトリ)

  2. ~/.apsara-apm/python/logs (ユーザーのホームディレクトリ)

  3. ./.apsara-apm/python/logs (メインの Python ファイルと同じディレクトリ)

Python エージェントのネットワークモードの指定

エージェントバージョン 1.6.0 以降では、PROFILER_NETWORK_STRATEGY 環境変数を設定して、データレポートのネットワークモードを指定できます:

  1. internal:エージェントが内部ネットワーク経由でデータをレポートするように強制します。

  2. public:エージェントがパブリックネットワーク経由でデータをレポートするように強制します。

  3. auto:ネットワークモードを自動的に検出します。これはデフォルトの動作です。