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

Function Compute:カスタムランタイムに ARMS Python エージェント拡張機能を追加する

最終更新日:Nov 09, 2025

このトピックでは、カスタムランタイムを使用する Python 関数に ARMS エージェントを手動でインストールする方法について説明します。

背景情報

Function Compute は、Application Real-Time Monitoring Service (ARMS) とシームレスに統合されています。Python 関数にエージェントをインストールすると、ARMS は Python アプリケーションのモニターを開始します。ARMS プラットフォームを使用して、アプリケーションのトポロジー、呼び出しチェーン、SQL 分析などのモニタリングデータを表示できます。詳細については、「Application Real-Time Monitoring Service (ARMS) とは」をご参照ください。

制限事項

関数の Python バージョンは、カスタムランタイムの Python バージョンと同じである必要があります。

ステップ 1: エージェントレイヤーの作成

1. Python エージェントパッケージの取得

1.1. エージェントパッケージのダウンロード

// VPC ネットワーク経由でエージェントの特定バージョンをダウンロードします
wget http://arms-apm-${regionID}.oss-${regionID}-internal.aliyuncs.com/aliyun-python-agent/${version}/aliyun-python-agent.tar.gz
// VPC ネットワーク経由でエージェントの最新バージョンをダウンロードします
wget http://arms-apm-${regionID}.oss-${regionID}-internal.aliyuncs.com/aliyun-python-agent/aliyun-python-agent.tar.gz
// インターネット経由でエージェントの特定バージョンをダウンロードします
wget http://arms-apm-${regionID}.oss-${regionID}.aliyuncs.com/aliyun-python-agent/${version}/aliyun-python-agent.tar.gz
// インターネット経由でエージェントの最新バージョンをダウンロードします
wget http://arms-apm-${regionID}.oss-${regionID}.aliyuncs.com/aliyun-python-agent/aliyun-python-agent.tar.gz
  1. ${regionID} をリージョン ID に置き換えます。詳細については、「サポートされているリージョン」をご参照ください。

  2. ${version} をバージョン番号に置き換えます。詳細については、「Python エージェントのバージョンガイド」をご参照ください。

次の例は、エージェントの特定バージョンをダウンロードする方法を示しています。

wget http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/aliyun-python-agent/1.5.0/aliyun-python-agent.tar.gz

1.2. エージェントパッケージの展開と pip install の実行

## パッケージを展開します。
tar -zxvf aliyun-python-agent.tar.gz

## パッケージをビルドします。
pip3 install target/*.whl -t aliyun-instrument

## ./aliyun-instrument/bin フォルダ内の aliyun-instrument ファイルを修正します。最初の行 #!/usr/bin/python3 を次の内容に置き換えます。
#!/var/fc/lang/python3.10/bin/python3

2. コンソールでのレイヤーの作成

  1. Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、[関数管理] > [レイヤー] を選択します。

  2. トップメニューバーでリージョンを選択します。[レイヤー] ページで、[レイヤーの作成] をクリックします。

  3. [レイヤーの作成] ページで、[フォルダからアップロード] を選択してレイヤーをアップロードします。

    image

説明

aliyun-instrument ファイルをアップロードする際は、aliyun-instrument が最上位のフォルダであることを確認してください。圧縮および展開中に、aliyun-instrument フォルダを同じ名前の別のフォルダ内にネストしないでください。ネストすると、環境変数の構成に影響します。

ステップ 2: 関数でカスタムレイヤーを使用する

1. 関数の詳細設定でカスタムレイヤーを追加する

  1. Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、[関数管理] > [関数] を選択します。

  2. トップナビゲーションバーでリージョンを選択します。[関数] ページで、対象の関数をクリックします。

  3. 関数詳細ページで、[設定] タブをクリックします。[詳細設定] の右側にある [編集] をクリックします。[詳細設定] パネルで、[+レイヤーの追加] > [カスタムレイヤーの追加] を選択します。[カスタムレイヤー][レイヤーバージョン] を選択します。次に、[デプロイ] をクリックします。

image

2. 環境変数の追加

変数

ARMS_APP_NAME

FC:{function_name}

ARMS_LICENSE_KEY

LicenseKey の取得

ARMS_REGION_ID

{region}

LD_LIBRARY_PATH

/code:/code/lib:/usr/local/lib:/opt/lib:/opt/php8.1/lib:/opt/php8.0/lib:/opt/php7.2/lib

PATH

/code/python/bin:/var/fc/lang/python3.10/bin:/usr/local/bin/apache-maven/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/ruby/bin:/opt/bin:/code:/code/bin

PYTHONPATH

/opt:/opt/python:/code

PYTHONUSERBASE

/code/python

3. 起動コマンドの変更

関数詳細ページで、[設定] タブをクリックします。[基本設定] の右側にある [編集] をクリックします。[起動コマンド] の値を次のように変更します。

aliyun-instrument python3 app.py

アプリケーションが uvicorn を使用して起動される場合、起動コマンドを次のコマンドに置き換えてエージェントに接続します。

例:

uvicorn -w 4 -b 0.0.0.0:8000 app:app

次のように変更します:

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

aliyun-instrument コマンドは、ARMS Python エージェントの初期化と自動イベントトラッキングを処理します。プログラムが gevent コルーチンを使用する場合、GEVENT_ENABLE 環境変数を true に設定する必要があります。たとえば、プログラムに次のコードが含まれている場合:

from gevent import monkey
monkey.patch_all()

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

GEVENT_ENABLE=true

結果の検証

関数を実行した後、約 1 分間待ちます。ARMS コンソール[アプリケーションモニタリング > アプリケーションリスト] ページに Python アプリケーションが表示され、データがレポートされる場合、エージェントが接続されていることを示します。

image