このページでは、開発時における Python 関数のインストゥルメンテーション プロセスの要件と概要について説明します。推奨される方法は、Splunk AppDynamics AWS Lambda Extension を使用することです。「Cisco AppDynamics AWS Lambda Extension を使用して、実行時にサーバーレス APM をインストゥルメントする」を参照してください。
このページには、Amazon Web Services(AWS)のマニュアルへのリンクが含まれています。Amazon で自身のマニュアルを管理しているため、Splunk AppDynamics では Amazon のマニュアルの精度については一切保証しません。
はじめる前に
セットアップが次の要件を満たしていることを確認します。
- Python 3.7 以降で実装されている既存の AWS Lambda 関数
- Python パッケージインストーラ(
pip
バージョンは、AWS Lambda 関数の Python バージョンと一致する必要があります) - Splunk AppDynamics SaaS コントローラ 4.5.16 以降
Python サーバレストレーサのインストール
Python サーバレストレーサは、Python 3.7 以降で使用できます。PyPi から取得するトレーサのバージョンは、AWS で関数コードを実行するために使用する Python のバージョンと一致する必要があります。
Python サーバレストレーサは、PyPi リポジトリからダウンロードできます。Python サーバレストレーサは、ローカルにインストールすることも、AWS Lambda 関数コードにパッケージ化することもできます。
ローカルへのインストール
pip install
コマンドを実行して、トレーサをローカル環境にインストールします。
pip install appdynamics-lambda-tracer
TEXT
トレーサをローカルにインストールする場合は、実行時にトレーサを AWS Lambda 関数にパッケージ化する必要があります。
AWS Lambda 関数にパッケージ化
次のコマンドを実行して、関数のパッケージにトレーサを含めます。
pip install --target ./package/ appdynamics-lambda-tracer
TEXT
関数のパッケージ化の依存関係の詳細については、AWS のドキュメントを参照してください。
関数コードのインストゥルメント化
AWS Lambda 関数をインストゥルメント化するには、次のコード行を追加します。
import appdynamics # Add Cisco AppDynamics libraries. Must be the first line of code
@appdynamics.tracer # Must come before the handler function
def my_handler(event, context):
print("Hello world!")
PY
exit コールのインストゥルメンテーション
デフォルトでは、Python サーバレストレーサは、HTTP、Amazon DynamoDB、および AWS Lambda 間の exit コールを自動的に検出します。関数によって行われた他のタイプの外部コールを可視化する場合は、Python Tracer API を使用して exit コールを作成します。「Python サーバレストレーサ API」を参照してください。
このページには、AWS のマニュアルへのリンクが含まれています。Amazon で自身のマニュアルを管理しているため、Splunk AppDynamics では Amazon のマニュアルの精度については一切保証しません
これらのマニュアルで使用されている Amazon Web サービス、AWS ロゴ、AWS、およびその他の AWS マークは、米国およびその他の国における Amazon.com, Inc. またはその関連会社の商標です。