本文へスキップ

エージェントのインストール

WhaTapモニタリングサービスを使用するには、会員登録後にプロジェクトを作成し、対象サーバーにエージェントをインストールする必要があります。会員登録に関する詳細については、次の文書を参照してください。

次の動画ガイドを参照してください。

プロジェクト作成

エージェントをインストールする前にプロジェクトを作成してください。

  1. WhaTapモニタリングサービスに移動し、ログインします。

  2. プロジェクトを作成するには、画面左サイドメニューからプロジェクト全体 > + Projectボタンを選択してください。

  3. 商品選択 画面でプロジェクトにインストールする製品を選択してください。

  4. プロジェクト名データサーバーリージョンプロジェクトタイムゾーンなどの項目を設定してください。

  5. すべての設定を完了した後は プロジェクトを作成する ボタンを選択してください。

ノート
  • データサーバーリージョンは、リージョン(クラウドサービスを提供するためにインストールしたデータセンターのグループ)を意味します。特定のリージョンを選択すると、そのリージョンに所属するデータセンターにユーザーのデータが保存されます。

  • プロジェクトタイムゾーンは通知とレポートを生成する基準時間です。

  • 複数のプロジェクトをグループで管理する場合は、プロジェクトグループからグループを選択するか、グループを追加してください。 グループの詳細については、次の文書を参照してください。

  • 組織を選択してプロジェクトを追加する場合は、組織下位のグループを必須に設定する必要があります。

アクセスキーの確認

アクセスキーは、WhaTapサービスを有効にするための固有IDです。

インストール手順セクションでプロジェクトアクセスキーの発行ボタンをクリックします。 アクセスキーを自動的に発行した後、次のステップを進みます。

ノート

プロジェクトを作成すると、自動的にエージェントインストールページに移動します。 エージェントインストールページが移動しない場合は、画面左側のメニューから管理 > エージェントインストールを選択してください。

Virtual Environmentの活性化

アプリケーションがvirtualenvを使用している場合は、仮想環境を有効にしてください。_bin/activate_ファイルを実行します。

エージェントダウンロード

アクセスキーを発給してエージェントダウンロードセクションに移動してください。 次のコードを実行してエージェントをインストールしてください。

pip install whatap-python
ノート

pipコマンドでインストールできない場合は、pypi WhaTapページからインストールファイルをダウンロードしてください。ダウンロードしたファイルを解凍してインストールを進めてください。

Docker

  1. Dockerコンテナでサービスされるアプリケーションの場合、次の内容を_DockerFile_に追加してください。

    • Pythonエージェントをインストールしてください。

      Dockerfile
      ENV WHATAP_HOME /whatap
      RUN mkdir -p /whatap
      RUN pip install whatap-python
      // requirements.txtを使用する場合は、そのファイルにwhatap-pythonを追加してください。
    • アクセスキーおよび収集サーバーIP設定を登録してください。

      Dockerfile
      RUN touch /whatap/whatap.conf
      RUN echo "license=[発行されたアクセスキー]" > /whatap/whatap.conf
      RUN echo "whatap.server.host=[収集サーバIP]" >> /whatap/whatap.conf
      RUN echo "app_name=[エージェント名]" >> /whatap/whatap.conf
      RUN echo "app_process_name=[アプリケーションプロセス名の例)uwsgi, gunicorn.. ]" >> /whatap/whatap.conf
  2. 既存の実行コマンドpython manage.py runserverの前に'whatap-start-agent'を追加してください。

    Dockerfile
    #ENTRYPOINT python manage.py runserver
    ENTRYPOINT whatap-start-agent python manage.py runserver
ノート

エージェントファイル構成の詳細については、Pythonファイル構成を参考にしてください。

Details

Pythonエージェント構成ファイル Pythonエージェントファイルは、アプリケーションモニタリングに必要な情報を抽出し、タブ収集サーバーに伝達するトレーサーと、トレーサーがデータを送信できるよう支援する要素で構成されています。

  • whatap.conf

    エージェント設定の基本的な必須ファイルです。エージェントに関連するオプションはすべてwhatap.confファイルで設定できます。

  • paramkey.txt

    追跡したトランザクションのトレース情報として収集したHTTPとSQLデータのパラメータ情報を確認するために使用します。

    セキュリティキーをファイルに保存した後、実際に収集されたデータをブラウザで確認したい場合は、ファイルに保存されたセキュリティキーを入力して表示できます。

    ファイルの内容を直接変更することで、セキュリティ キーの修正が可能です。関連オプションは次のとおりです。

    • profile_http_parameter_enabled Boolean

      既定値false

    • profile_sql_param_enabled Boolean

      既定値false

エージェント設定

  1. WHATAP_HOMEの基本パス設定

    ログと設定ファイルパスのための$WHATAP_HOMEパスを指定してください。whatapディレクトリを新たに作成することをお勧めします。

    $ export WHATAP_HOME=[PATH]
  2. アクセスキーと収集サーバーのIP設定

    次のコマンドを実行すると、$WHATAP_HOMEに指定したパスにwhatap.confファイルが設定されます。

    whatap-setting-config \
    --host [収集サーバIP] \
    --license [アクセスキー] \
    --app_name [ユーザー指定のエージェント名を入力] \
    --app_process_name [プロセス名、ex. uwsgi, gunicorn]
  3. 設定表示

    次のように設定ファイル作成されていることを確認してください。

    $ cat $WHATAP_HOME/whatap.conf

アプリケーションサーバごとに適用

WHATAP_AGENTの開始コマンドでアプリケーションサーバーを再起動してください。再起動後、WhaTap エージェントがアプリケーションのモニタリング情報を収集します。

Command

$ whatap-start-agent python manage.py runserver

uWSGI

例題1

$ whatap-start-agent uwsgi --ini myapp.ini

例題2

description "uWSGI application server handling myapp"

start on runlevel [2345]
stop on runlevel [!2345]

exec whatap-start-agent [YOUR_APPLICATION_START_COMMAND]
または
exec env WHATAP_HOME=[PATH] [絶対パス]/whatap-start-agent [YOUR_APPLICATION_START_COMMAND]

例題3

$ whatap-start-agent gunicorn myapp.wsgi

Gunicorn

例題1

NAME="uwsgi"
PATH=/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/uwsgi

########## WHATAP_AGENT_CONF ##########
WHATAP_HOME=[PATH]
WHATAP_AGENT=[絶対パス]/whatap-start-agent
...
do_start(){
env WHATAP_HOME=$WHATAP_HOME $WHATAP_AGENT [YOUR_APPLICATION_START_COMMAND]
}

例題2

description "Gunicorn application server handling myapp"

start on runlevel [2345]
stop on runlevel [!2345]

exec whatap-start-agent [YOUR_APPLICATION_START_COMMAND]
または
exec env WHATAP_HOME=[PATH] [絶対パス]/whatap-start-agent [YOUR_APPLICATION_START_COMMAND]

例題3

NAME="gunicorn"
PATH=/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/gunicorn

########## WHATAP_AGENT_CONF ##########
WHATAP_HOME=[PATH]
WHATAP_AGENT=[絶対パス]/whatap-start-agent
...
do_start(){
env WHATAP_HOME=$WHATAP_HOME $WHATAP_AGENT [YOUR_APPLICATION_START_COMMAND]
}

Supervisor

[program:app-uwsgi]
environment = WHATAP_HOME=[PATH]
command = [絶対パス]/whatap-start-agent /usr/local/bin/uwsgi --ini /home/blog/backend/config/uwsgi.ini

[program:nginx-app]
command = /usr/sbin/nginx

WSGIアプリケーションの実装

import whatap

@whatap.register_app
def simple_app(environ, start_response):
"""Simplest possible application object"""
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
return ['Hello world!\n']

エージェントの適用およびサービス実行の確認

  • WhaTapエージェントの適用

    最上部にAPIを直接呼び出すコードを次のように追加し、WhaTapエージェントを適用してください。

    import whatap
    whatap.agent
  • サービス実行の確認

    次のコマンドを実行して、WhaTap Pythonサービスが正常に実行されたか確認してください。

    ps -ef | grep whatap_python