Javaアプリケーションのコンテキストベースの監視
アプリケーションサーバーで3つのJavaアプリケーションが動いているとします。
デフォルトで、同一アプリケーションサーバーの全アプリケーションのトランザクションがAPMインサイトのWebトランザクションタブでまとめて表示されます。
次の画像で、ZYLKERがアプリケーション監視名で、travel,cafe and tourismが同じアプリケーションサーバーで動いている3つのコンテキストです。
これら3つのアプリケーションのトランザクションがWebトランザクションタブにリスト化されます。
コンテキストベースの監視を用いれば、同一サーバー上で稼働している個々のアプリケーションのパフォーマンスを分けて監視することができ、さらに細かいレベルでアプリケーションのパフォーマンスを分析できます。
ここではコンテキストベースの監視を有効化することで、 travels、 tourism、cafeのトランザクションを分割して表示できます。
詳細は次を参照してください。
コンテキストベースの監視を有効化する方法:
- Site24x7にログインします。
- APMインサイトのJavaエージェントをダウンロードしインストールします。すでに行っている場合は必要ありません。
- apminsight.confファイルに次のキーを追加します。
- "context.monitoring.enabled=true"
- サーバーを再起動します。
- エージェントの各コンテキストのトランザクションを操作し、個々の監視にそれらを認識させます。
メモ: 各コンテキスト名を設定ファイル内のアプリケーション名の初めに付けます。
例: 設定ファイルのアプリケーション名がZYLKERで、個々のコンテキスト名がtourism、cafe、travelsの場合、APMインサイトクライアントに入力する個々のコンテキストを次に示します。
ZYLKER/Tourism
ZYLKER/Cafe
ZYLKER/Travels
コンテキストベースの監視が有効化されている場合、各コンテキスト異なるAPMアプリケーションとみなされ、アドバンス監視のライセンスがそれぞれで消費されます。
コンテキストの名前の変更とグループ化する方法:
コンテキスト名を変更するには:
- APMインサイトエージェントディレクトリーに移動します。
- 以下の名前のファイルを作成してください:
- "context_naming_patterns_conf"
- 構文key=valueでキーとバリューのペアを指定してください:
- キーは存在するコンテキスト名やコンテキスト名と合致する正規表現を表します。
- バリューはコンテキスト名を変更するために用いられる名前を表します。
例:
- コンテキスト名をsampleapp からjpetstoreに変更したい時、キー-バリューペアをsampleapp=jpetstoreとして入力してください。
- /api/1、/api/2といったコンテキストで一つのアプリケーションとして監視したい場合、 /api/\d+=/apiとしてグループ化してください。
覚えておくこと:
- バックグラウンドトランザクションは個々のコンテキストで表示されません。バックグラウンドトランザクションを行うコンテキストの特定はできないため、JVMレベルでキャプチャーします。そして、そのデータはアプリケーションレベルで表示されます。
- スレッドプロファイリングはJVM全体で完了しており、コンテキスト特有のものではありません。どのコンテキストからプロファイリングが開始するかに関係なく、全てのJVMで操作され、主要なAPMアプリケーション(設定ファイルに入力した名前と関連付けたもの)にプッシュされます。
メモ: この機能はJavaエージェントバージョン4.4からのみ利用可能です。
コンテキストベースの監視を無効化する方法:
コンテキストベースの監視を無効化するには:
- apminsight.conf ファイル内に次のパラメーターを追加してください。
- "context.monitoring.enabled=false"
- エージェントディレクトリーでディレクトリー"apminsight_monitors,"があるかを確認し、もし存在していれば削除してください。
- アプリケーションサーバーを再起動してください。