バッチアプリケーション
バッチ アプリケーションでWhaTapエージェントを適用する方法です。バッチアプリケーションは、WASとは異なり、アプリケーションが実行と中断を繰り返す特長があります。したがって、一般的なウェブアプリケーションとは異なるモニタリングを行う必要があります。
エージェントダウンロード
次のコマンドを実行して、バッチアプリケーションをモニタリングするエージェントをダウンロードできます。
wget https://api.whatap.io/agent/whatap.agent.batch.tar.gz
バッチエージェントファイルの構成
whatap.agent.batch.tar.gz
⎿ whatap.agent-x.y.z.jar:Javaエージェント
⎿ whatap.agent.batch.host-x.y.z.jar: バッチホスト(Batch Host) - 収集サーバーにデータ送信
⎿ whatap.conf: バッチホスト(Batch Host)設定ファイル(ファイルがない場合は、新しくファイルを作成し設定>エージェントのインストールメニューにlicense
、whatap.server.host
項目を追加してください。)
⎿ agent/whatap.agent.batch-x.y.z.jar: バッチエージェント - アプリケーションデータを収集してバッチホストに送信
⎿ agent/whatap.conf: バッチエージェント設定ファイル
エージェント設定
バッチホスト(Batch Host) 設定
license
、whatap.server.host
オプション値は、プロジェクトの設定>エージェントのインストールメニューから確認できます。
# default setting
license=
whatap.server.host=
# ステップを分割して送信する
split_trace_enabled=true
# 1つのトレースに表示する最大ステップ数
trace_step_max_count=1024
バッチエージェント設定
# default setting
net_udp_listen_ip=0.0.0.0
net_udp_listen_port=6611
# バッチホストと通信設定
net_udp_listen_ip=0.0.0.0
net_udp_listen_port=6611
# バッチジョブでhttp call最大個数
trace_httpc_limit=1000000
# バッチジョブにおけるsql最大個数
trace_sql_limit=1000000
# アクティブスタックの表示有無
active_stack_enabled=true
# 5回以内
active_stack_time1=5000
# 5回以降
active_stack_time2=10000
# 最初のスタックの開始時間
active_stack_start_wait_time=1000
バッチジョブ(Batch Job) を実行する
バッチジョブ(Batch Job)は、トランザクションの観点からモニタリングする必要があります。そのため、WhaTapのJavaエージェントは、JobプロセスのJobエージェントと、この情報をサーバに中継するためにHostエージェントに分離された2つのエージェントを実行する必要があります。
バッチホスト(Batch Host) 実行コマンド
- Linux
- Windows
java -cp {BATCH_HOST_HOME}/whatap.agent.batch.host-x.y.z.jar:{BATCH_HOST_HOME}/whatap.agent-x.y.z.jar -Dwhatap.name=batch whatap.agent.batch.App
java --add-opens=java.base/java.lang=ALL-UNNAMED -cp {BATCH_HOST_HOME}/whatap.agent.batch.host-x.y.z.jar:{BATCH_HOST_HOME}/whatap.agent-x.y.z.jar -Dwhatap.name=batch whatap.agent.batch.App
java -cp {BATCH_HOST_HOME}/whatap.agent.batch.host-x.y.z.jar;{BATCH_HOST_HOME}/whatap.agent-x.y.z.jar -Dwhatap.name=batch whatap.agent.batch.App
java --add-opens=java.base/java.lang=ALL-UNNAMED -cp {BATCH_HOST_HOME}/whatap.agent.batch.host-x.y.z.jar;{BATCH_HOST_HOME}/whatap.agent-x.y.z.jar -Dwhatap.name=batch whatap.agent.batch.App
バッチエージェント(Batch Agent) 実行コマンド
java -javaagent:{BATCH_AGENT_HOME}/whatap.agent.batch-x.y.z.jar -jar {APP_PATH}/batch-application.jar
java -javaagent:{BATCH_AGENT_HOME}/whatap.agent.batch-x.x.x.jar --add-opens=java.base/java.lang=ALL-UNNAMED -jar {APP_PATH}/batch-application.jar
バッチジョブ(BatchJob)エージェントとバッチホスト(Batch Host)エージェントは、バッチジョブ(Batch Job)を実行するホストでインストールおよび実行してください。
Time Limitの設定
Batch Job(Batch Job) AgentとBatch Host(Batch Host) Agentは、UDPを使用して通信します。
バッチジョブ(Batch Job)は、通常、長時間に渡って実行します。 数十秒の長さになることがあります。 したがって、バッチジョブ(Batch Job)ごとにtime_limit
の値が異なる場合があります。バッチジョブ(Batch Job)が実行される推定処理時間をtime_limit
オプションで設定してください。
time_limit=300000
warning_time=70% of time_limit
step_interval=5000
アクティブイコライザーカラーの設定
バッチジョブ(Batch Job)の実行時間がtime_limit
の70%に達すると黄色で表示し、time_limit
を超えると赤色で表示するように次のように設定してください。
## 終了予定時間の70%
yellow_time = time_limit * 0.7;
## 終了予定時間を超過
red_time = time_limit;
サーバ運用者は、バッチジョブ(Batch Job)が遅延しているかどうかをリアルタイムで確認する場合は、'time_limit'値を適切に設定してください。
アクティブスタックの収集間隔を設定
バッチジョブ(Batch Job) エージェントは、step_interval
オプション値の間隔でアクティブスタックを収集できます。
step_interval=5000
バッチエージェントのメトリクス指標の収集
ダッシュボードは、バッチホスト(Batch Host)のHeap Memoryを収集し、バッチアプリケーションの性能指標はメトリクス(TagCount: batch_job_counter
)で収集します。
batch_job_counter
- batch job:
pid
、hostname
、job_name
- gc:
gc_count
、gc_time_sum
、gc_oldgen_count
- heap:
heap_tot
、heap_use
、heap_max
、heap_pending_final
、heap_perm
- cpu:
cputime
- thread count:
thread_total_started
、thread_count
、thread_daemon
、thread_peak_count
次の段階
-
オープンソース追跡
アプリケーションで使用するフレームワークやオープンソースライブラリによって、エージェントオプションの追加が必要になる場合があります。 たとえば、フレームワークやオープンソースでspring-boot-3.x、feign-client-11、okhttp3-4.4使用の際は、次のようにオプションを設定します。
whatap.confweaving=spring-boot-3.0,feign-11,okhttp3-4.4
ユーザーのアプリケーション環境に合わせたフレームワークやオープンソースライブラリを設定する方法は、次の文書を参照してください。
-
インストールの点検
プロジェクトの作成とエージェントのインストール、JVMオプションまですべて適用したら、次の文書でチェック事項を確認します。
-
インストール問題の解決
エージェントをインストールする際に発生する可能性がある問題と、これを解決するための具体的なガイドを提供します。 ファイアウォールの設定、SpringBoot及びTomcat JMXの設定、OSGIフレームワーク使用サーバーの設定など、様々な状況に対する解決策を案内します。 詳細については、次の文書を参照にしてください。
-
エージェント設定
エージェント設定(whatap.conf)ファイルにオプションを適用して、モニタリングのための様々な機能を提供します。 デフォルト設定から、サーバーの接続とデータ転送の設定、複数のアプリケーションサーバーの設定ファイルの管理方法、トランザクションの追跡などが含まれます。 詳細については、次の文書を参照にしてください。
-
モニタリングの開始
すべての設定を完了してから、アプリケーションサーバーを再起動します。 エージェントが情報の収集を開始します。 まず、アプリケーションメニューでモニタリングデータが収集されていることを確認します。 アプリケーションメニューの詳細については、次の文書を参照にしてください。