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

Serverless App Engine:Python アプリケーションのエージェントをインストールする

最終更新日:Oct 28, 2025

Python アプリケーション用の ARMS エージェントを手動でインストールし、アプリケーションを SAE にデプロイすると、ARMS を使用してアプリケーションを監視できます。ARMS を使用すると、アプリケーションのトポロジー、呼び出しトレース分析、SQL パフォーマンス分析など、さまざまなモニタリングデータを表示できます。このトピックでは、Python アプリケーション用の ARMS エージェントを手動でインストールし、SAE にデプロイする方法について説明します。

前提条件

注意事項

  • アプリケーションが uvicorn で起動する場合、次のいずれかの構成方法を選択してください。

    • 方法 1: uvicorn エントリファイルの最初の行に次の文を追加して、Python エージェントをインポートします。

      from aliyun.opentelemetry.instrumentation.auto_instrumentation import sitecustomize
    • 方法 2: uvicorn を gunicorn に置き換え、gunicorn コマンドに aliyun-instrument プレフィックスを追加します。

      例:

      uvicorn app:app --workers 4 --port=9090 --host 0.0.0.0

      次のように変更します。

      aliyun-instrument gunicorn -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 app:app
      説明

      aliyun-instrument コマンドは、ARMS Python エージェントの初期化と自動イベントトラッキングを処理します。

  • アプリケーションが uWSGI で起動する場合、詳細については、「uWSGI で Django または Flask プロジェクトを起動する際に Python エージェントに接続する」をご参照ください。

  • gevent コルーチンを使用する場合は、GEVENT_ENABLE=true 環境変数を設定する必要があります。

    たとえば、プログラムに次のコードが含まれている場合:

    from gevent import monkey
    monkey.patch_all()

    次のように環境変数を設定します。

    GEVENT_ENABLE=true

手順

  1. プロジェクトの準備: このトピックでは、デモプロジェクトを例として使用します。

  2. Python プロジェクト用の Docker イメージを作成するか、プロジェクトを ZIP ファイルにパッケージングする: イメージからアプリケーションをデプロイする場合、イメージの作成時に Python エージェントをダウンロードしてインストールする必要があります。コードパッケージからアプリケーションをデプロイする場合、システムはデプロイメント中に Python エージェントを自動的にダウンロードしてインストールします。ARMS Python エージェントを使用してアプリケーションを起動するだけで済みます。

  3. Python アプリケーションのデプロイ: SAE コンソールで Python アプリケーションをデプロイし、アプリケーション監視を有効にします。コードパッケージからアプリケーションをデプロイする場合は、ARMS Python エージェントを使用してアプリケーションを起動するための起動コマンドも設定する必要があります。

  4. アプリケーションモニタリングデータの表示: アプリケーションによって生成されたさまざまなモニタリングデータを表示します。

1. プロジェクトの準備

  1. プロジェクトを環境にアップロードします。

  2. プロジェクトを実行およびテストするために必要な環境をインストールします。詳細については、「パッケージのインストール」をご参照ください。

  3. プロジェクトをローカルでテストして、期待どおりに実行されることを確認します。

2. Docker イメージを作成するか、Python プロジェクトを ZIP ファイルにパッケージングする

Docker イメージを作成してイメージリポジトリにプッシュする

  1. Python イメージを作成します。

    このトピックでは、エージェントをダウンロードしてインストールし、ARMS Python エージェントを使用してアプリケーションを起動するコマンドのみを説明します。

    ...
    # PyPI リポジトリからエージェントインストーラーをダウンロードします。
    RUN pip3 install aliyun-bootstrap
    
    # aliyun-bootstrap を使用して Python エージェントをインストールします。
    RUN aliyun-bootstrap -a install
    
    ...
    
    # ARMS Python エージェントを使用してアプリケーションを起動します。
    CMD ["aliyun-instrument","python","main.py"]
    説明

    Python エージェントを使用してアプリケーションを起動する必要がない場合は、main.py などのアプリケーションのメインエントリファイルに Python エージェントをインポートしてから、アプリケーションを起動する必要があります。

    from aliyun.opentelemetry.instrumentation.auto_instrumentation import  sitecustomize
  2. 作成した Python イメージを Alibaba Cloud イメージリポジトリにプッシュします。詳細については、「イメージのプッシュとプル (Enterprise Edition)」または「イメージのプッシュとプル (Personal Edition)」をご参照ください。

Python プロジェクトを ZIP ファイルにパッケージングする

ローカル環境で Python プロジェクトを ZIP ファイルにパッケージングします。詳細については、「Python プロジェクトを ZIP ファイルにパッケージングする手順」をご参照ください。

3. Python アプリケーションの作成

イメージから Python アプリケーションを作成する

3.1 アプリケーションの作成

このトピックでは、主要なステップのみを説明します。詳細については、「イメージからアプリケーションをデプロイする」をご参照ください。

  1. [イメージの設定] パネルで、[技術スタック][Python] に設定し、イメージのバージョンを選択します。

    xtP3K5ehBK

  2. [詳細設定] ページで、[アプリケーション監視] セクションの [アプリケーション監視] を有効にします。

    qVjKh7KK96

  3. [アプリケーションの作成] をクリックします。

3.2 アクセスのテスト

パブリックエンドポイントを使用したテスト

  1. アプリケーションにパブリックエンドポイントを追加します。詳細については、「CLB インスタンスをアプリケーションにバインドしてパブリックまたは内部エンドポイントを生成する」をご参照ください。

    oG7Zx8icdv

  2. パブリックエンドポイントをコピーしてブラウザに貼り付け、アクセスをテストします。

Webshell でのテスト

  1. アプリケーションの [基本情報] ページに移動し、[インスタンスリスト] タブをクリックします。

    Z3G4SkQoR7

  2. インスタンスの [アクション] 列で、[Webshell] をクリックします。

    4dI9DAwxpA

  3. [Webshell] ページで、curl 127.0.0.1:ContainerPort と入力してテストします。

コードパッケージから Python アプリケーションを作成する

3.1 アプリケーションの作成

このトピックでは、主要なステップのみを説明します。詳細については、「Python アプリケーションをデプロイする」をご参照ください。

  1. [コードパッケージデプロイメントの設定] パネルで、[技術スタック][Python] に設定します。次に、[ZIP パッケージのアップロード] セクションで、image アイコンをクリックして ZIP パッケージをアップロードします。

    Iye539HbsG

  2. [詳細設定] ページで、次の設定を構成します。

    1. [起動コマンド] セクションで、起動コマンドを設定します。

      aliyun-instrument python main.py
      # ARMS Python エージェントを使用してアプリケーションを起動します。この例では、main.py はメインエントリファイルの名前です。

      GZNwXgfjZm

    2. [アプリケーション監視] セクションで、[アプリケーション監視] を有効にします。

      qVjKh7KK96

  3. [アプリケーションの作成] をクリックします。

3.2 アクセスのテスト

パブリックエンドポイントを使用したテスト

  1. アプリケーションにパブリックエンドポイントを追加します。詳細については、「CLB インスタンスをアプリケーションにバインドしてパブリックまたは内部エンドポイントを生成する」をご参照ください。

    oG7Zx8icdv

  2. パブリックエンドポイントをコピーしてブラウザに貼り付け、アクセスをテストします。

Webshell でのテスト

  1. アプリケーションの [基本情報] ページに移動し、[インスタンスリスト] タブをクリックします。

    Z3G4SkQoR7

  2. インスタンスの [アクション] 列で、[Webshell] をクリックします。

    4dI9DAwxpA

  3. [Webshell] ページで、curl 127.0.0.1:ContainerPort と入力してテストします。

4. アプリケーション監視データの表示

SAE コンソールでの表示

アプリケーションの [基本情報] ページに移動します。左側のナビゲーションウィンドウで、[アプリケーション監視] をクリックします。[アプリケーション監視] ページで、[モニタリングデータ] を表示します。

Y3kM5Riwrv

ARMS コンソールでの表示

  1. ARMS コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、アプリケーション監視 > アプリケーション を選択します。上部のナビゲーションバーで、ターゲットリージョンを選択します。

    ZRS4rlkqyS

  3. [アプリケーション] ページで、アプリケーションを検索し、その名前をクリックします。

    p1fXmq3GtR

  4. モニタリング詳細ページで、モニタリングデータを表示します。

    dq39ionBxZ