エージェントのインストール
モニタリング対象アプリケーションサーバーからTCP通信にデータを配信します。また、WhaTap収集サーバーにデータを送信するには、同じサーバにエージェントをインストールする必要があります。インストール方式は、パッケージインストールで可能です。
エージェントは基本127.0.0.1:6600TCPサーバーで動作します。Goアプリケーションからデータを受信し、WhaTap収集サーバーにOutbound 6600ポートに送信します。
-
WhaTapリポジトリ(Repository)をインストールします。
-
whatap-agent Linuxパッケージ(yum, apt-get)をインストールします。
-
whatap-agentサービスを実行してください。
WhaTapモニタリングサービスを使用するには、会員登録後、プロジェクトを作成し、ターゲットサーバーにエージェントをインストールする必要があります。
プロジェクト作成
エージェントをインストールする前にプロジェクトを作成してください。
-
WhaTapモニタリングサービスに移動し、ログインします。
-
プロジェクトを作成するには、左のサイドメニューからプロジェクト全体 > + Projectボタンを選択します。
-
商品選択 画面でプロジェクトにインストールする製品を選択してください。
-
プロジェクト名、データサーバーリージョン、プロジェクトタイムゾーン項目を順番に設定します。
-
通知言語の設定で、警告通知メッセージの言語を選択します。
-
すべての設定を完了した後は プロジェクトを作成する ボタンを選択します。
-
データサーバーリージョンは、リージョン(クラウドサービスを提供するためにインストールしたデータセンターのグループ)を意味します。特定のリージョンを選択すると、そのリージョンに所属するデータセンターにユーザーのデータが保存されます。
-
プロジェクトタイムゾーンは通知とレポートを生成する基準時間です。
-
複数のプロジェクトをグループで管理する場合は、プロジェクトグループからグループを選択するか、グループを追加してください。 グループの詳細については、次の文書を参照してください。
-
組織を選択してプロジェクトを追加する場合は、組織下位のグループを必須に設定する必要があります。
アクセスキーの確認
アクセスキーは、WhaTapサービスを有効にするための固有IDです。
インストール手順セクションでプロジェクトアクセスキーの発行ボタンをクリックします。 アクセスキーを自動的に発行した後、次のステップを進みます。
プロジェクトを作成すると、自動的にエージェントインストールページに移動します。 エージェントインストールページが移動しない場合は、画面左側のメニューから管理 > エージェントインストールを選択してください。
エージェントダウンロード
アクセスキーが発行されたら、次のコマンドを使用してエージェントをダウンロードしてください。
- Red Hat/CentOS
- Debian/Ubuntu
- Amazon Linux
- Alpine Linux
## パッケージリポジトリ登録
$ sudo rpm -Uvh https://repo.whatap.io/centos/5/noarch/whatap-repo-1.0-1.noarch.rpm
## パッケージインストール
$ sudo yum install whatap-agent
## パッケージリポジトリ登録
$ wget https://repo.whatap.io/debian/release.gpg -O -|sudo apt-key add -
$ wget https://repo.whatap.io/debian/whatap-repo_1.0_all.deb
$ sudo dpkg -i whatap-repo_1.0_all.deb
$ sudo apt-get update
## パッケージインストール
$ sudo apt-get install whatap-agent
## パッケージリポジトリ登録
$ sudo rpm --import https://repo.whatap.io/centos/release.gpg
$ echo "[whatap]" | sudo tee /etc/yum.repos.d/whatap.repo > /dev/null
$ echo "name=whatap packages for enterprise linux" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
$ echo "baseurl=https://repo.whatap.io/centos/latest/\$basearch" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
$ echo "enabled=1" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
$ echo "gpgcheck=0" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
## パッケージインストール
$ sudo yum install whatap-agent
whatap-agent.tar.gzファイルをダウンロードし、「/」ディレクトリを基準に圧縮して解凍します。/usr/whatap/agent パスにモニタリングファイルを作成します。
- x64
- AArch64
wget https://s3.ap-northeast-2.amazonaws.com/repo.whatap.io/alpine/x86_64/whatap-agent.tar.gz
tar -xvzf whatap-agent.tar.gz -C /
wget https://s3.ap-northeast-2.amazonaws.com/repo.whatap.io/alpine/aarch64/whatap-agent.tar.gz
tar -xvzf whatap-agent.tar.gz -C /
エージェントは、モニタリング情報を収集するためのトレーサー、収集した情報をサーバーに転送するためのエージェント、トレーサーとエージェントをサーバーに動的に適用するためのインストールスクリプトファイルで構成します。エージェントファイルの詳細な説明については、次を参照してください。
エージェント設定
基本設定
次のコマンドを順番に実行して、whatap.confファイルにアクセスキーと収集サーバーIPアドレスなどを設定してください。
-
アプリケーションの開始スクリプトパスにwhatap.confファイルを作成してください。
-
WHATAP_HOME
環境変数を設定しない場合は、アプリケーション起動スクリプトのパスをwhatap.confファイルパスとして認識します。
# スクリプトの実行パスに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
エージェント設定の優先順位は、whatap.confファイルが最初に適用され、次に環境変数が適用されます。環境変数を優先的に適用するには、use_env_first
オプションをtrue
に設定します。またはWHATAP_USE_ENV_FIRST=true
形式で環境変数を設定できます。
プロセス別エージェント名の設定
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()
関数でトランザクションの開始終了を設定してください。
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)
}
ライブラリ設定の詳細については、次の文書を参照してください。
モニタリングの開始
- Red Hat/CentOS
- Debian/Ubuntu
- Amazon Linux
アプリケーションサーバーを再起動すると、エージェントが情報収集を開始します。
アプリケーションサーバーを再起動すると、エージェントが情報収集を開始します。
-
次のコマンドを実行して、WhaTapエージェントデーモンを実行してください。
/usr/whatap/php/whatap-agent start
-
次のコマンドを実行して、WhaTapサービスが正常に実行されていることを確認してください。
ps -elf | grep whatap_agent_static
アプリケーションサーバーを再起動すると、エージェントが情報収集を開始します。