APMインサイト-Pythonエージェントのインストール

APMインサイトでPythonアプリケーションを監視するには、Data ExporterをPythonエージェントとともにインストールする必要があります。
Data Exporterは、アプリケーションのメトリクスとトレースをApplications Managerサーバーに通信するために必要なプロセスです。
Data Exporterのインストール方法に関しましては、以下のリンクをご参照ください

以下の方法で、APMインサイトのPythonエージェントをインストールします。

  1. [APM]タブ→[監視の追加]をクリックし、「Python」を選択
  2. エージェントダウンロードページからPythonエージェントとData Exporterをダウンロードして解凍
  3. 仮想環境を使用している場合は、それをアクティブ化し、抽出したPythonエージェントをインストールしたディレクトリに移動して、次のコマンドを実行
    仮想環境にPythonパッケージをインストールします。 python3 setup.py install
  4. 次のいずれかの方法を使用して、Pythonエージェントをアプリケーションに適用
  5. 手順4を設定後、変更したファイルを保存し、アプリケーションを再起動
  6. アプリケーション再起動後、エージェントがデータ収集するためにアプリケーション側でトランザクションを実行
  7. Applications Managerの[APM]タブに移動し、追加したPythonアプリケーションをクリックし、データ収集が実行されているか確認
  8. プロセスによって生成された、Pythonエージェントインストールフォルダ/apminsightdata/logs配下にエージェントログファイルを確認

コマンドラインを使用

Pythonエージェントをアプリケーションに適用するには、次のコマンドを使用してアプリケーションを実行する必要があります。

$ apminsight-run <apm-options> "<user_application_execute_command>"

<apm-options>は引数です。代入できるオプションのリストは次のとおりです。

apm-options 説明
---apm_app_name APMアプリケーション名を追加します。
--apm_log_dir APMログを保存するためのカスタムログディレクトリを追加します。/td>
--apm_debug デバッグモードを有効にします。
--apm_exp_host Applications Manager Data Exporterホストを設定します。
--apm_exp_status_port Applications Manager Data Exporterステータスポートを設定します。
--apm_exp_data_port Applications Manager Data Exporterデータポートを設定します。

実行コマンド例:

  • アプリケーション名を設定したい場合の実行コマンド:
    $ apminsight-run --apm_app_name "monitorname"
  • ディレクトリの場所を指定した場合の実行コマンド:
    $ apminsight-run --apm_app_name "monitorname" --apm_log_dir "logs location"


スニペットを使用

Pythonエージェントをアプリケーションに適用するには、次のスニペットで必要な設定情報を更新し、アプリケーションルートファイルまたはアプリケーションスタートファイルの先頭に配置する必要があります。

from apminsight import initialize_agent

initialize_agent({
 "appname" : "<Your_application_name>",
})

Data Exporterが別のマシンで実行されている場合、またはデフォルトポート以外で実行されている場合は、次のスニペットで設定情報を更新してください。

from apminsight import initialize_agent

initialize_agent({
 "appname" : "<Your_application_name>",

'''Change if Applications Manager Data Exporter is not running in the default ports (20021, 20022):'''
 "exporter_status_port" : "<DataExporter_status_port>",
 "exporter_data_port" : "<DataExporter_data_port>",

'''If you are running Applications Manager Data Exporter on a separate machine/server or as a Docker container:'''
 "exporter_host" : "<HostName/ContainerName_where_Data_Exporter_is_running>"
})

スニペット例:

  • Djangoアプリケーションの場合:
    Djangoのsettings.pyファイルの先頭にスニペットを追加します。
    Djangoアプリケーションの名前は、アプリケーションのsettings.pyファイル内のWSGI_APPLICATIONから自動的に検出されます。
  • Flaskなどの他のアプリケーションやフレームワークの場合:
    アプリケーションスタートファイルの先頭にスニペットを追加します。

以下の環境変数を用いてエージェントを設定します。

設定 説明
$ export APM_APP_NAME="<Your_application_name>" アプリケーション名を追加します。
$ export APM_LOGS_DIR="<logs_storing_path>" ログディレクトリを設定します。
$ export APM_EXPORTER_STATUS_PORT=<DataExporter_status_port>
$ export APM_EXPORTER_DATA_PORT=<DataExporter_data_port>
Applications Manager Data Exporterのデフォルトの実行ポート(20021、20022)を変更します。
$ APM_EXPORTER_HOST=<HostName/ContainerName_where_DataExporter_is_running> Applications Manager Data Exporterのホストを別のマシンまたはサーバー、Dockerコンテナーに変更します。