エージェントのインストール
WhaTapモニタリングサービスを使用するには、会員登録後にプロジェクトを作成し、対象サーバーにエージェントをインストールする必要があります。会員登録に関する詳細については、次の文書を参照してください。
次の動画ガイドを参照してください。
プロジェクト作成
エージェントをインストールする前にプロジェクトを作成してください。
-
WhaTapモニタリングサービスに移動し、ログインします。
-
プロジェクトを作成するには、左のサイドメニューからプロジェクト全体 > + Projectボタンを選択します。
-
商品選択 画面でプロジェクトにインストールする製品を選択してください。
-
プロジェクト名、データサーバーリージョン、プロジェクトタイムゾーン項目を順番に設定します。
-
通知言語の設定で、警告通知メッセージの言語を選択します。
-
すべての設定を完了した後は プロジェクトを作成する ボタンを選択します。
-
データサーバーリージョンは、リージョン(クラウドサービスを提供するためにインストールしたデータセンターのグループ)を意味します。特定のリージョンを選択すると、そのリージョンに所属するデータセンターにユーザーのデータが保存されます。
-
プロジェクトタイムゾーンは通知とレポートを生成する基準時間です。
-
複数のプロジェクトをグループで管理する場合は、プロジェクトグループからグループを選択するか、グループを追加してください。 グループの詳細については、次の文書を参照してください。
-
組織を選択してプロジェクトを追加する場合は、組織下位のグループを必須に設定する必要があります。
アクセスキーの確認
アクセスキーは、WhaTapサービスを有効にするための固有IDです。
インストール手順セクションでプロジェクトアクセスキーの発行ボタンをクリックします。 アクセスキーを自動的に発行した後、次のステップを進みます。
プロジェクトを作成すると、自動的にエージェントインストールページに移動します。 エージェントインストールページが移動しない場合は、画面左側のメニューから管理 > エージェントインストールを選択してください。
Virtual Environmentの活性化
アプリケーションがvirtualenvを使用している場合は、仮想環境を有効にしてください。_bin/activate_ファイルを実行します。
エージェントダウンロード
アクセスキーを発行してエージェントダウンロドセクションに移動します。次のコードを実行してエージェントをインストールします。
pip install whatap-python
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収集サーバーに転送するトレーサーとトレーサーがデータを送信できるように支援する要素で構成されています。エージェントファイルの構成については、以下を参照してください。
エージェント設定
WHATAP_HOMEの基本パス設定
ログと設定ファイルパスのための$WHATAP_HOME
パスを指定してください。whatapディレクトリを新たに作成することをお勧めします。
$ export WHATAP_HOME=[PATH]
アクセスキーと収集サーバーのIP設定
アクセスキー及び収集サーバーのIP設定のためにwhatap-setting-config
コマンドを実行します。
$ 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..) ]
設定表示
$WHATAP_HOME
に指定した経路にwhatap.conf ファイルが作成・設定されます。次のコマンドを実行しなさいwhatap.confファイルが作成されているか確認してください。
$ cat $WHATAP_HOME/whatap.conf
license=[ACCESS_KEY]
whatap.server.host=[COLLECTION_SERVER_IP]
# application name
app_name=[ USER_DEFINED_AGENT_NAME ]
# middleware process name ex)uwsgi, gunicorn ..
app_process_name=[ APPLICATION_PROCESS_NAME(uwsgi, gunicorn etc..) ]
権限の問題が発生する場合
-
WhaTap設定のための_$WHATAP_HOME/whatap.conf_ファイルの読み取りおよび書き込み権限
-
WhaTapログのための_$WHATAP_HOME/logs_パスと下位ファイルの読み取りおよび書き込み権限
$WHATAP_HOME
パスに関する権限の問題が発生した場合は、次のコマンドを実行して権限を付与します。
echo `sudo chmod -R 777 $WHATAP_HOME`
アプリケーションサーバーの環境ごとに適用
アプリケーションサーバーの環境によって、適用する方法が異なる場合があります。ユーザーの環境に合わせた適用方法で進めてください。
- Command
- uWSGI
- Gunicorn
- Supervisor
- WSGI
- Docker
- Code
Commandの環境では次のようにwhatap-start-agent
コマンドを、アプリケーション開始コマンド(Application start command) の前に追加します。
# $ whatap-start-agent [Application start command]
$ whatap-start-agent python manage.py runserver
uWSGI環境では次のようにwhatap-start-agent
コマンドを、uwsgi
コマンドの前に追加します。
$ whatap-start-agent uwsgi --ini myapp.ini
サービスに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]
...
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環境では次のようにwhatap-start-agent
コマンドを、Gunicorn
コマンドの前に追加します。
$ whatap-start-agent gunicorn myapp.wsgi
サービスに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]
...
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アプリケーションを直接実装する方法を案内します。以下を参照してください。
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']
Dockerコンテナでサービスされるアプリケーションの場合、次の内容を_DockerFile_に追加してください。
-
Pythonエージェントをインストールしてください。
DockerfileENV WHATAP_HOME /whatap
RUN mkdir -p /whatap
RUN pip install whatap-pythonノートrequirements.txtを使用する場合は、当該ファイルにwhatap-pythonを追加します。
-
アクセスキーおよび収集サーバーIP設定を登録してください。
DockerfileRUN 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 -
既存の実行コマンド
python manage.py runserver
の前に'whatap-start-agent'を追加してください。DockerfileCMD ["whatap-start-agent", "python", "manage.py", "runserver", "0.0.0.0:8000"]
コードの一番上の列にAPIを直接呼び出すコードを、次のように追加してエージェントを適用できます。
import whatap
whatap.agent()
アプリケーションサーバーを実行すると、エージェントがモニタリングデータを収集し始めます。
サービス実行の確認
次のコマンドを実行してWhaTap Pythonサービスが正常に実行されるか確認します。
ps -ef | grep whatap_python
次の段階
-
インストールの点検
プロジェクトの生成とエージェントのインストールまですべて適用した場合は、次の文書で点検事項を確認します。
-
インストール問題の解決
エージェントをインストールする際に発生する可能性がある問題と、これを解決するための具体的なガイドを提供します。 詳細については、次の文書を参照してください。
-
エージェント設定
エージェント設定(whatap.conf)ファイルにオプションを適用して、モニタリングのための様々な機能を提供します。 デフォルト設定から、サーバーの接続とデータ転送の設定、複数のアプリケーションサーバーの設定ファイルの管理方法、トランザクションの追跡などが含まれます。 詳細については、次の文書を参照してください。
-
モニタリングの開始
すべての設定を完了してから、アプリケーションサーバーを再起動します。 エージェントが情報の収集を開始します。 まず、アプリケーションメニューでモニタリングデータが収集されていることを確認します。 アプリケーションについての詳細は、次の文書を参照してください。