このトピックでは、Python エージェントを手動でインストールする方法について説明します。インストール後、ARMS はご利用のアプリケーションをモニターし、トポロジー、トレース、SQL 分析、その他のモニタリングデータを表示できるようになります。
-
Kubernetes 環境にデプロイされたアプリケーションの場合、エージェントの手動インストールは推奨されません。代わりに、コンポーネントをインストールして ARMS と統合してください。手順については、「ack-onepilot コンポーネントを使用した Container Service for Kubernetes (ACK) および Container Compute Service (ACS) への Python エージェントのインストール」をご参照ください。
-
Python エージェントの使用中に問題が発生した場合は、「Python エージェントのよくある質問」をご参照ください。ドキュメントで問題が解決しない場合は、DingTalk サポートグループ (グループ ID: 159215000379) までご連絡ください。
-
aliyun-bootstrapコンポーネントは、デフォルトで最新バージョンのエージェントをインストールし、最新の機能へのアクセスを提供します。特定のバージョンをインストールするには、「Python エージェントのよくある質問」の「特定のリージョンとバージョンのエージェントをインストールする方法」セクションをご参照ください。
前提条件
-
ご利用のビルド環境がパブリックネットワークまたは Alibaba Cloud 内部ネットワークに接続されていることを確認してください。環境のセキュリティグループでは、ポート 80 および 443 でのアウトバウンド TCP トラフィックが許可されている必要があります。
-
Python とフレームワークのバージョンを確認してください。要件については、「ARMS アプリケーションモニタリングでサポートされている Python コンポーネントとフレームワーク」をご参照ください。
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:appaliyun-instrument プレフィックスは、ARMS Python エージェントの初期化と非侵入型のイベントトラッキングを処理します。
uWSGI
アプリケーションが uWSGI で起動する場合は、「uWSGI で起動する Django または Flask プロジェクトに Python エージェントをインストールする」をご参照ください。
gevent
gevent コルーチンを使用する場合は、環境変数 GEVENT_ENABLE を true に設定します。
たとえば、コードに次が含まれている場合:
from gevent import monkey
monkey.patch_all()デプロイメントで次の環境変数を設定します。
GEVENT_ENABLE=true手順 1: aliyun-bootstrap インストーラーのダウンロード
Python Package Index (PyPI) からエージェントインストーラーをダウンロードします。
pip3 install aliyun-bootstrap
手順 2: 環境変数の設定
Python アプリケーションに次の環境変数を手動で追加します。
# 方法 1: 現在のシェルのすべてのプロセスに環境変数を追加する
export ARMS_APP_NAME=xxx # ご利用のアプリケーション名。
export ARMS_REGION_ID=xxx # ご利用の Alibaba Cloud アカウントのリージョン ID。
export ARMS_LICENSE_KEY=xxx # ご利用のライセンスキー。# 方法 2: 単一のプロセスに環境変数を追加する
ARMS_APP_NAME=xxx ARMS_REGION_ID=xxx ARMS_LICENSE_KEY=xxx aliyun-instrument xxx.py
ライセンスキーは、OpenAPI オペレーションを呼び出すことで取得できます。詳細については、「ライセンスキーのリスト」をご参照ください。
(オプション) Docker インストールの例
Docker 環境の場合は、次のサンプルに基づいて Dockerfile を更新してください。
# 環境変数を追加
ENV ARMS_APP_NAME={YourAppName}
ENV ARMS_REGION_ID={YourRegionId}
ENV ARMS_LICENSE_KEY={YourLicenseKey}
## 元の環境
手順 3: Python エージェントのインストール
-
インストールを高速化するために、まず次のコマンドを実行してイメージリポジトリを設定することを推奨します。
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && pip config set install.trusted-host mirrors.aliyun.com -
エージェントをインストールします。
aliyun-bootstrap -a install説明特定のバージョンの Python エージェントをインストールするには、次のコマンドを実行します。
# ${version} をターゲットバージョン番号に置き換えます。 aliyun-bootstrap -a install -v ${version}リリースされたすべての Python エージェントのバージョンのリストについては、「Python エージェントのリリースノート」をご参照ください。
手順 4: アプリケーションの起動
ARMS Python エージェントを使用した起動
aliyun-instrument python app.py
結果の確認
約 1 分後、ARMS コンソールの ページにご利用の Python アプリケーションが表示され、データが報告されれば、統合は成功です。