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

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

最終更新日:Jun 23, 2026

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

前提条件

Python フレームワークの互換性

続行する前に、これらのフレームワーク固有の要件を確認してください。

uvicorn

アプリケーションが uvicorn で起動する場合、次のいずれかのアプローチを選択してください:

アプローチ A:コードでエージェントをインポートする。 uvicorn のエントリファイルの最初の行に、次の import 文を追加します:

from aliyun.opentelemetry.instrumentation.auto_instrumentation import sitecustomize

アプローチ B:aliyun-instrument プレフィックス付きの gunicorn に切り替える。 uvicorn コマンドを置き換えます:

# 変更前
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 で起動する場合、「uWSGI で起動する Django または Flask プロジェクトに Python エージェントをインストールする」をご参照ください。

gevent

gevent コルーチンを使用する場合は、環境変数 GEVENT_ENABLEtrue に設定します。

たとえば、コードに以下が含まれている場合:

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. Specify Image パネルで、Technology Stack Programming LanguagePython に設定し、目的のイメージバージョンを選択します。

    [マイ Alibaba Cloud イメージ] タブと [Container Registry のパーソナルインスタンス] を選択します。[イメージバージョンの選択] ドロップダウンリストから、python2 を選択します。

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

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

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

ステップ 3.2:アクセスの検証

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

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

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

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

Webshell

  1. アプリケーションの Basic Information ページに移動し、Instances タブをクリックします。

  2. ターゲットインスタンスの [操作] 列で、[Webshell] をクリックします。

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

コードパッケージから

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

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

  1. Configure Code Package-based Deployment パネルで、Technology Stack Programming LanguagePython に設定します。Upload ZIP Package セクションで、image アイコンをクリックして ZIP ファイルをアップロードします。

    [Python 環境] ドロップダウンリストから、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. アプリケーションの Basic Information ページに移動し、Instances タブをクリックします。

  2. ターゲットインスタンスの [操作] 列で、[Webshell] をクリックします。

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

ステップ 4:モニタリングデータの表示

SAE コンソール

アプリケーションの Basic Information ページに移動します。左側のナビゲーションウィンドウで、Application Monitoring をクリックします。Application Monitoring ページで、[モニタリングデータ] を表示できます。

[アプリケーション概要] タブには、[リクエスト][エラー][平均応答時間][インスタンス] の 4 つのコアメトリックカードが、前日比および前週比の比較とともに表示されます。このタブには、時系列トレンドチャートも表示され、リクエスト、エラー、平均応答時間、ピーク CPU 使用率の上位 5 つのランキングが一覧表示されます。

ARMS コンソール

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

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

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

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

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

    dq39ionBxZ