本文へスキップ

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

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

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

プロジェクト作成

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

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

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

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

  4. プロジェクト名データサーバーリージョンプロジェクトタイムゾーン項目を順番に設定します。

    プロジェクトの生成

  5. 通知言語の設定で、警告通知メッセージの言語を選択します。

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

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

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

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

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

アクセスキーの確認

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

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

ノート

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

Virtual Environmentの活性化

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

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

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

pip install whatap-python
Tips

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

tar xzvf whatap-python-1.x.x.tar.gz \
cd whatap-python-1.X.Y.Z \
python setup.py install

エージェント構成ファイル

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

Docker

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

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

    Dockerfile
    ENV WHATAP_HOME /whatap
    RUN mkdir -p /whatap
    RUN pip install whatap-python
    ノート

    requirements.txtを使用する場合は、当該ファイルにwhatap-pythonを追加します。

  2. アクセスキーおよび収集サーバーIP設定を登録してください。

    Dockerfile
    RUN touch /whatap/whatap.conf
    RUN echo "license=[ ACCESS_KEY ]" > /whatap/whatap.conf
    RUN echo "whatap.server.host=[ COLLECTION_SERVER_IP ]" >> /whatap/whatap.conf
    RUN echo "app_name=[ AGENT_NAME ]" >> /whatap/whatap.conf
    RUN echo "app_process_name=[ APPLICATION_PROCESS_NAME(uwsgi, gunicorn etc..) ]" >> /whatap/whatap.conf
  3. 既存の実行コマンドpython manage.py runserverの前に'whatap-start-agent'を追加してください。

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

エージェント設定

WHATAP_HOMEの基本パス設定

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

$ export WHATAP_HOME=[PATH]

アクセスキーと収集サーバーのIP設定

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

whatap-setting-config \
--host [ COLLECTION_SERVER_IP ] \
--license [ ACCESS_KEY ] \
--app_name [ USER_DEFINED_AGENT_NAME ] \
--app_process_name [ APPLICATION_PROCESS_NAME(uwsgi, gunicorn etc..) ]

設定表示

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

$ cat $WHATAP_HOME/whatap.conf
ノート

権限の問題が発生する場合

  • WhaTap設定のための_$WHATAP_HOME/whatap.conf_ファイルの読み取りおよび書き込み権限

  • WhaTapログのための_$WHATAP_HOME/logs_パスと下位ファイルの読み取りおよび書き込み権限

$WHATAP_HOMEパスに関する権限の問題が発生した場合は、次のコマンドを実行して権限を付与します。

echo `sudo chmod -R 777 $WHATAP_HOME`

アプリケーションサーバーの環境別の適用

Command

Commandの環境では次のようにwhatap-start-agentコマンドを、アプリケーション開始コマンド(Application start command) の前に追加します。

BASH
# $ whatap-start-agent [Application start command]
$ whatap-start-agent python manage.py runserver

uWSGI

uWSGI環境では次のようにwhatap-start-agentコマンドを、uwsgiコマンドの前に追加します。

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

サービスにuWSGIを登録してアプリケーションを実行する場合は、次の例題コードを参照してください。

/etc/init.d/uwsgi
description "uWSGI application server handling myapp"
start on runlevel [2345]
stop on runlevel [!2345]
exec whatap-start-agent [YOUR_APPLICATION_START_COMMAND]
# or if you are using a virtual environment
exec env WHATAP_HOME=[PATH] [ABSOLUTE_PATH]/whatap-start-agent [YOUR_APPLICATION_START_COMMAND]
/etc/init/uwsgi.conf
...
NAME="uwsgi"
PATH=/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/uwsgi
PID=$RUN/$NAME.pid
INI_PATH=/etc/$NAME/$NAME.ini

########## WHATAP_AGENT_CONF ##########
WHATAP_HOME=[PATH]
WHATAP_AGENT=[ABSOLUTE_PATH]/whatap-start-agent
...
do_start(){
env WHATAP_HOME=$WHATAP_HOME $WHATAP_AGENT [YOUR_APPLICATION_START_COMMAND]
}
ノート
  • ユーザー(User)を変更するならWHATAP_HOME環境変数を追加します。

  • 仮想環境を使用する場合は、エージェントの開始コマンドを絶対パスとして追加します。

  • サービス実行ファイル(/etc/init/uwsgi.conf)を修正して、エージェントの開始コマンドとともにアプリケーションを起動します。

  • ユーザー環境によって、サービス実行ファイルのパスは異なる場合があります。

Gunicorn

Gunicorn環境では次のようにwhatap-start-agentコマンドを、Gunicornコマンドの前に追加します。

$ whatap-start-agent gunicorn myapp.wsgi

サービスにGunicornを登録してアプリケーションを実行する場合は、次の例題コードを参照してください。

/etc/init.d/gunicorn
description "gunicorn application server handling myapp"
start on runlevel [2345]
stop on runlevel [!2345]
exec whatap-start-agent [YOUR_APPLICATION_START_COMMAND]
# or if you are using a virtual environment
exec env WHATAP_HOME=[PATH] [ABSOLUTE_PATH]/whatap-start-agent [YOUR_APPLICATION_START_COMMAND]
/etc/init/gunicorn.conf
...
NAME="gunicorn"
PATH=/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/gunicorn
PID=$RUN/$NAME.pid
INI_PATH=/etc/$NAME/$NAME.ini

########## WHATAP_AGENT_CONF ##########
WHATAP_HOME=[PATH]
WHATAP_AGENT=[ABSOLUTE_PATH]/whatap-start-agent

...
do_start(){
env WHATAP_HOME=$WHATAP_HOME $WHATAP_AGENT [YOUR_APPLICATION_START_COMMAND]
}
ノート
  • ユーザー(User)を変更するならWHATAP_HOME環境変数を追加します。

  • 仮想環境を使用する場合は、エージェントの開始コマンドを絶対パスとして追加します。

  • サービス実行ファイル(/etc/init/gunicorn.conf)を修正して、エージェントの開始コマンドとともにアプリケーションを起動します。

  • ユーザー環境によって、サービス実行ファイルのパスは異なる場合があります。

Supervisor

supervisor.conf
[program:app-uwsgi]
environment = WHATAP_HOME=[PATH]
command = [ABSOLUTE_PATH]/whatap-start-agent /usr/local/bin/uwsgi --ini /home/blog/backend/config/uwsgi.ini

[program:nginx-app]
command = /usr/sbin/nginx
ノート
  • ユーザー(User)を変更するならWHATAP_HOME環境変数を追加します。

  • 仮想環境を使用する場合は、エージェントの開始コマンドを絶対パスとして追加します。

  • サービス実行ファイル(/etc/supervisor/conf.d/supervisor.conf)を修正して、エージェントの開始コマンドとともにアプリケーションを起動します。

  • ユーザー環境によって、サービス実行ファイルのパスは異なる場合があります。

WSGIアプリケーションを直接実装する

PYTHON
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']

コード(Code)に適用する

コードの一番上の列にAPIを直接呼び出すコードを、次のように追加してエージェントを適用できます。

PYTHON
import whatap
whatap.agent

アプリケーションサーバーを実行すると、エージェントがモニタリングデータを収集し始めます。

サービス実行の確認

次のコマンドを実行してWhaTap Pythonサービスが正常に実行されるか確認します。

ps -ef | grep whatap_python

次の段階

  • インストールの点検

    プロジェクトの生成とエージェントのインストールまですべて適用した場合は、次の文書で点検事項を確認します。

  • インストール問題の解決

    エージェントのインストール時に発生する可能性のある様々な問題と、これを解決するための具体的な指針を提供します。詳細については、次の文書を参照してください。

  • エージェント設定

    エージェント設定(whatap.conf)ファイルにオプションを適用して、モニタリングのための様々な機能を提供します。デフォルト設定から、サーバーの接続とデータ転送の設定、複数のアプリケーションサーバーの設定ファイルの管理方法、トランザクションの追跡などが含まれます。詳細については、次の文書を参照してください。

  • モニタリングの開始

    すべての設定を完了してから、次のアプリケーションサーバーを再起動します。エージェントが情報収集を開始します。まず、アプリケーションメニューでモニタリングデータが収集されているか確認します。アプリケーションについての詳細は、次の文書を参照してください。