本文へスキップ

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

モニタリング対象アプリケーションサーバーからTCP通信にデータを配信します。また、WhaTap収集サーバーにデータを送信するには、同じサーバにエージェントをインストールする必要があります。インストール方式は、パッケージインストールで可能です。

ノート

エージェントは基本127.0.0.1:6600TCPサーバーで動作します。Goアプリケーションからデータを受信し、WhaTap収集サーバーにOutbound 6600ポートに送信します。

  1. WhaTapリポジトリ(Repository)をインストールします。

  2. whatap-agent Linuxパッケージ(yum, apt-get)をインストールします。

  3. whatap-agentサービスを実行してください。

Go Monitoring

WhaTapモニタリングサービスを使用するには、会員登録後、プロジェクトを作成し、ターゲットサーバーにエージェントをインストールする必要があります。

プロジェクト作成

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

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

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

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

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

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

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

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

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

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

アクセスキーの確認

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

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

ノート

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

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

アクセスキーが発行されたら、次のコマンドを使用してエージェントをダウンロードしてください。

SH
## パッケージリポジトリ登録
$ sudo rpm -Uvh https://repo.whatap.io/centos/5/noarch/whatap-repo-1.0-1.noarch.rpm

## パッケージインストール
$ sudo yum install whatap-agent
エージェント構成ファイル

モニタリング情報を収集するトレーサー、収集した情報をサーバーに転送するエージェント、トレーサーとエージェントをサーバーへ動的に適用するインストールスクリプト ファイルで構成されます。

  • whatap-agent:エージェント、トレーサーからUDPとして転送した情報を収集サーバーに転送するプログラムです。

  • /etc/init.d/whatap-agent:サービスのスクリプトファイルです。

  • whatap_agent:サービスの実行ファイルです。

  • whatap.conf:設定情報および収集サーバーのIP、アクセスキーを入力するファイルです。

  • whatap-boot-yyyymmdd.log:エージェントログファイルです。(パス:/usr/whata/agent/log)

エージェント設定

基本設定

次のコマンドを順番に実行して、whatap.confファイルにアクセスキー収集サーバーIPアドレスなどを設定してください。

  • アプリケーションの開始スクリプトパスにwhatap.confファイルを作成してください。

  • WHATAP_HOME環境変数を設定しない場合は、アプリケーション起動スクリプトのパスをwhatap.confファイルパスとして認識します。

SH
# スクリプトの実行パスにwhatap.confファイルを作成
$ echo "license={アクセスキー}" >> ./whatap.conf
$ echo "whatap.server.host={収集サーバーのIPアドレス}" >> ./whatap.conf
$ echo "app_name={アプリケーション名}" >> ./whatap.conf

# アプリケーション実行
./app
  • licenseアクセスキーを入力してください。

  • whatap.server.host収集サーバーのIPアドレスを入力してください。

  • app_name:アプリケーション名を入力してください。文字列を使用してユーザー設定することができます。

    ノート

    app_nameはエージェント名を決定するための構成要素です。詳細については、次の文書を参照してください。

WHATAP_HOME環境変数の設定

whatap.confファイルパスをWHATAP_HOME環境変数に設定できます。WHATAP_HOMEパスを最初に作成してください。

# WHATAP_HOMEパスを作成した後、whatap.confファイルパスを設定
mkdir ./whatap_home
echo "license={アクセスキー}" >> ./whatap_home/whatap.conf
echo "whatap.server.host={収集サーバーのIPアドレス}" >> ./whatap_home/whatap.conf
echo "app_name={アプリケーション名}" >> ./whatap_home/whatap.conf

# アプリケーション実行
WHATAP_HOME=./whatap_home ./app

プロセス別エージェント名の設定

2つ以上のプロセスで実行されるアプリケーションは、1つのwhatap.confファイルを共有しても、ユーザーが設定した変更が反映されない場合があります。 プロセスごとにそれぞれのwhatap.confファイルを設定することをお勧めします。

エージェント名が重複しないように、ユーザーは文字列にエージェント名を追加して区別ができます。app_nameオプションで設定した値は、エージェント名の最前列に追加されます。

同じインスタンスで、同じコマンドで実行されるエージェント名が重複する現象を回避できます。

# WHATAP_HOMEパスを先に作成した後、whatap.confファイルパス設定
mkdir ./whatap_home
echo "license={アクセスキー}" >> ./whatap_home/whatap.conf
echo "whatap.server.host={収集サーバーのIPアドレス}" >> ./whatap_home/whatap.conf
echo "app_name={アプリケーション名-1}" >> ./whatap_home/whatap.conf

# アプリケーション実行
WHATAP_HOME=./whatap_home ./app

# WHATAP_HOMEパスを先に作成した後、whatap.confファイルパス設定
mkdir ./whatap_home1
echo "license={アクセスキー}" >> ./whatap_home1/whatap.conf
echo "whatap.server.host={収集サーバーのIPアドレス}" >> ./whatap_home1/whatap.conf
echo "app_name={アプリケーション名-2}" >> ./whatap_home1/whatap.conf

# アプリケーション実行
WHATAP_HOME=./whatap_home1 ./app

Goライブラリーの設定する

Goアプリケーションのソースコードにgithub.com/whatap/go-apiパッケージを追加してください。

go get github.com/whatap/go-api

trace.Init(), trace.Shutdown()関数で初期化と終了を設定してください。 trace.Start()」,trace.End()関数でトランザクションの開始終了を設定してください。

Go
import "github.com/whatap/go-api/trace"

func main(){
trace.Init(nil)
//It must be executed before closing the app.
defer trace.Shutdown()

ctx, _ := trace.Start(context.Bacground(), "Start Tx")

...

trace.End(ctx, err)
}
ノート

ライブラリ設定の詳細については、次の文書を参照してください。

モニタリングの開始

アプリケーションサーバーを再起動すると、エージェントが情報収集を開始します。