Python アプリケーションに Application Real-Time Monitoring Service (ARMS) エージェントをインストールすると、ARMS はアプリケーションのモニタリングを開始します。その後、トポロジー、トレース、SQL 分析など、アプリケーションのモニタリングデータを表示できます。このトピックでは、Python アプリケーションに ARMS エージェントを手動でインストールする方法について説明します。
Container Service for Kubernetes (ACK) クラスターにデプロイされたアプリケーションの場合、ARMS エージェントを手動でインストールするのではなく、ack-onepilot コンポーネントをインストールすることをお勧めします。詳細については、「ack-onepilot コンポーネントを使用して Container Service for Kubernetes (ACK) および Container Compute Service (ACS) 用の Python エージェントをインストールする」をご参照ください。
Python 用 ARMS エージェントの使用中に質問がある場合は、まずドキュメントのをご参照ください。問題が解決しない場合は、DingTalk グループチャット (ID: 159215000379) に参加してテクニカルサポートを受けてください。
開始する前に
アプリケーションが存在する環境が、インターネットまたは内部ネットワークを介して Alibaba Cloud に接続されていること、および環境のセキュリティグループが TCP ポート 80 および 443 のアウトバウンドトラフィックを許可していることを確認してください。
Python とフレームワークのバージョンを確認してください。詳細については、「ARMS アプリケーションモニタリングでサポートされている Python コンポーネントとフレームワーク」をご参照ください。
注意
アプリケーションが 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: aliyun-bootstrap をダウンロードする
Python Package Index (PyPI) リポジトリからエージェントインストーラー aliyun-bootstrap をダウンロードします。
pip3 install aliyun-bootstrapステップ 2: 環境変数を構成する
次の環境変数を Python アプリケーションに手動で追加します:
シェルのすべてのプロセスの場合
export ARMS_APP_NAME=xxx # アプリケーションの名前。
export ARMS_REGION_ID=xxx # リージョン ID。
export ARMS_LICENSE_KEY=xxx # ライセンスキー。単一のプロセスの場合
ARMS_APP_NAME=xxx ARMS_REGION_ID=xxx ARMS_LICENSE_KEY=xxx aliyun-instrument xxx.pyAPI 操作を呼び出すことでライセンスキーを取得できます。詳細については、「DescribeTraceLicenseKey」をご参照ください。
(オプション) Dockerfile のサンプル
Docker 環境の場合、次の Dockerfile のサンプルを参照して ARMS エージェントをインストールできます。
# 環境変数を追加します。
ENV ARMS_APP_NAME={AppName}
ENV ARMS_REGION_ID={regionId}
ENV ARMS_LICENSE_KEY={licenseKey}
## 元の環境ステップ 3: aliyun-bootstrap を使用して ARMS エージェントをインストールする
次のコマンドを実行して、イメージリポジトリを構成します。このステップは、インストールを容易にするために推奨されます。
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && pip config set install.trusted-host mirrors.aliyun.comPython 用 ARMS エージェントをインストールします。
aliyun-bootstrap -a install説明特定のバージョンの Python エージェントをインストールするには、次のコマンドを実行します:
# ${version} を実際のバージョン番号に置き換えます。 aliyun-bootstrap -a install -v ${version}リリースされた Python エージェントのバージョンについては、「Python エージェントのバージョンガイド」をご参照ください。
ステップ 4: アプリケーションを起動する
Python 用 ARMS エージェントを使用してアプリケーションを起動するには、次のコマンドを実行します:
aliyun-instrument python app.py結果の確認
約 1 分後、ARMS コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。アプリケーションが [アプリケーションリスト] ページに表示されていれば、アプリケーションはモニタリングされています。
