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

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

最終更新日:Aug 29, 2026

Python アプリケーション用の ARMS エージェントを手動でインストールし、SAE にデプロイして、アプリケーション トポロジー、呼び出しトレース、SQL パフォーマンスを監視します。

前提条件

注意

  • アプリケーションが 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

注意

  • アプリケーションが 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. Docker イメージのビルドまたはプロジェクトのパッケージ化: イメージを使用してアプリケーションをデプロイする場合は、イメージのビルドプロセス中に Python エージェントをインストールする必要があります。コードパッケージを使用してアプリケーションをデプロイする場合、システムがエージェントを自動的にインストールします。ARMS エージェントを使用してアプリケーションを起動するように起動コマンドを設定するだけで済みます。

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

  4. 監視データの表示: アプリケーションが生成した監視データを表示します。

ステップ 1: プロジェクトの準備

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

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

  3. プロジェクトをローカルでテストして、正しく実行されることを確認します。

ステップ 2: Docker イメージのビルドまたはプロジェクトのパッケージ化

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 などのアプリケーションのメインエントリファイルでエージェントをインポートしてから、アプリケーションを起動する必要があります。

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

ZIP パッケージ

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

ステップ 3: アプリケーションの作成

イメージから

ステップ 3.1: アプリケーションの作成

詳細な手順については、「イメージを使用したアプリケーションのデプロイ」をご参照ください。

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

    [My Alibaba Cloud Images] タブと [Personal Edition of Container Registry] を選択します。[Select Image Version] ドロップダウンリストから、Python 3.9.15 を選択します。

  2. Advanced Settings ページで、Application Monitoring セクションで Application Monitoring を有効にします。

    カスタムイメージでアプリケーション監視を使用するには、まずイメージを変更して、ビルドプロセス中に Python エージェントをインストールする必要があります。ARMS は SAE ユーザーに対して、月あたり 200 GB の無料クォータを提供しています。

  3. Create Application をクリックします。

ステップ 3.2: アクセスの確認

パブリックエンドポイント

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

    設定後、[Public Endpoint] セクションにバインドされた CLB アドレスが表示され、ポートは 2222、プロトコルは HTTP に設定されます。

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

Webshell

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

  2. 対象インスタンスの [Actions] 列で [Webshell] をクリックします。

  3. [Webshell] ページで、コマンド curl 127.0.0.1:<container port> を実行してテストします。

コードパッケージから

ステップ 3.1: アプリケーションの作成

詳細な手順については、「Python アプリケーションのデプロイ」をご参照ください。

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

    [Python Environment] ドロップダウンリストから、[Python 3.9.15] を選択します。

  2. Advanced Settings ページで、以下の設定を構成します。

    1. Startup Command セクションに、以下のコマンドを入力します。

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

      コマンドタイプとして [/bin/sh] を選択します。

    2. Application Monitoring セクションで、Application Monitoring を有効にします。

  3. Create Application をクリックします。

ステップ 3.2: アクセスの確認

パブリックエンドポイント

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

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

Webshell

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

  2. 対象インスタンスの [Actions] 列で [Webshell] をクリックします。

  3. [Webshell] ページで、コマンド curl 127.0.0.1:<container port> を実行してテストします。

ステップ 4: 監視データの表示

SAE コンソール

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

[Application Overview] タブには、4 つのコアメトリックカード ([Requests]、[Errors]、[Avg. Response Time]、[Instances]) が表示され、前日比および前週比の比較が示されます。また、リクエスト数、エラー数、平均応答時間、ピーク CPU 使用率の時系列トレンドチャートと上位 5 位のランキングも表示されます。

ARMS コンソール

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

  2. 左側のナビゲーションペインで、Application Monitoring > アプリケーションリスト を選択します。上部のナビゲーションバーで、対象のリージョンを選択します。

    [Applications] ページでは、接続されたアプリケーションとその主要な監視メトリック (1 秒あたりのリクエスト数、エラー率、平均応答時間など) を確認できます。これにより、アプリケーションがアプリケーション監視に接続されていることを確認できます。

  3. アプリケーションリスト ページで、アプリケーションを検索して名前をクリックします。

  4. 詳細ページでアプリケーションの監視データを表示します。

    監視詳細ページには、過去 2 日間のアプリケーションの主要メトリックが表示されます。これには次のものが含まれます。

    • [Requests]: 17.00 (前日比 1700%)

    • [Errors]: 2.00 (前日比 200%)

    • [Avg. Response Time]: 18.5 分 (前日比 111005%)

    • [インスタンス一覧]: 0

    中央のセクションには、リクエスト数、エラー数、応答時間、CPU 使用率の時系列トレンドチャートが表示されます。下部のセクションには、[Top 5 Requests by Service]、[Top 5 Errors by Service]、[Top 5 Avg. Response Time by Service]、[Top 5 CPU Usage] のランキングデータが表示されます。