APMインサイト使いこな支援
作成日:2020年11月30日 | 更新日:2024年1月16日
ビルド14531以降、APMインサイトのUIが新しくなりました。
よりAPMインサイトの機能を使いこなしていただけるように、今回は例としまして弊社OpManagerを実際にAPMインサイトで監視した画面(Javaエージェント使用)から、どのように監視結果が確認できるのかをご紹介いたします。
→APMインサイトの監視追加方法はこちら
- 概要タブ
- トランザクションタブ(UI上はTransactionsタブ)
- データベースタブ
- トレースタブ(UI上はTracesタブ)
- JVMタブ(Javaエージェントのみ)
- 例外タブ(UI上はExceptionsタブ)
概要タブ
監視対象のアプリケーションの基本監視情報はこちらのタブで確認が可能で、主にトランザクションの平均応答時間や、
リクエストに対する応答速度、発生したエラー数等、監視には欠かせない情報を確認することが可能です。
また、Apdexスコアというメトリックもございます。
こちらは、アプリケーションを使っているユーザーがどのくらい快適にアプリケーションを使えているかを数値で表したものです。
アプリケーション動作に関する評価が難しい場合、ユーザー満足度の指標としてご活用ください。
画面下部では以下の情報も監視が可能です。
- コンポーネントごとの応答時間
- Apdexスコア(アプリケーションの性能の参考になるインデックス)
- リクエストスループット
- 例外カウント
- エラーカウント
- 例外による分割
- HTTPエラー率
- 応答時間ごとの上位5件のトランザクション時間
- 低速トレース5件
- 最新の例外トレース5件
- 最新のエラートランザクション5件 等
【監視情報からわかるポイント①】
概要タブでは主に監視対象のアプリケーションの全体的な使用感を監視することが可能です。
上記の監視内容の場合、まずApdexスコアはそこまで低くはありませんが、容認が11%あります。
→Apdexスコアの折れ線グラフを確認すると、11:20頃に少し値が低下したことがわかります。
他のグラフでも、11:20頃を見てみると、例外カウントの棒グラフで1点スパイクしていることがわかります。
→Warningが発生しています。
上記のような見方をすることで、例外処理が起きたことによって、
特定の時間でアプリケーションの動作が遅くなっていた可能性があることがわかりました。
トランザクションタブ
設定された「トランザクショントレースしきい値」を超えたトランザクションのパフォーマンス情報を確認することができるタブです。
トランザクションごとのApdexスコアや、応答時間(平均/最大/最小)、エラー発生率を監視することが可能です。
トランザクショントレースしきい値
上記の値は画面右上の歯車ボタン(エージェントの設定のカスタマイズ)をクリックして表示されるポップアップ画面からご確認いただけます。
×ALL
〇opmanager:80等
トランザクションページの表示は、ページトップの[グラフビュー]と[テーブルビュー]ボタンで形式を切り替えられます。
【テーブルビュー】
【グラフビュー】
【監視情報からわかるポイント②】
問題が発生している可能性があるトランザクションを確認することができるので、Apdexスコアが著しく低いトランザクションや応答時間がかかっているトランザクションをクリックして、詳細を確認するのがお勧めです。
グラフビューにて表示された詳細情報から全体の応答時間の中で、なにが多く割合を占めているのかを確認します。
本例の場合、グラフビューの「コンポーネントの応答時間」で、PGSQLとAPP CODEの応答に時間を要していることが確認できますので、アプリケーションに関するソースコードか、データベース内のクエリ文に問題があった可能性があることがわかります。
データベースタブ
データベースタブでは、パフォーマンスメトリックを取得し、応答時間が遅いDB操作やDB利用率、DBパフォーマンスを把握できます。
それぞれのデータベース操作をクリックすると、テーブルが実行したWebトランザクションのリストを取得し、パフォーマンス低下の根本原因を絞り込み/切り分けするのに役立ちます。
上記のメトリックにくわえ、データベース操作を監視することが可能です。
情報は以下の項目を基準にグラフで表示されます。
- データベース全体の応答時間とスループット
- データベース応答時間
- 操作別のDBスループット 等
【監視情報からわかるポイント③】
データベースタブでは、主にデータベース操作について確認することができますのでアプリケーション内のデータベースを見直したり、SQL文を見直す際に有効です。
APMインサイトは、すでに運用されているアプリケーションの監視にはもちろん有効ですが、開発段階のアプリケーションを監視することで、開発の段階で最適な構築を行うために参考になる情報を監視することが可能です。
トレース
トレースタブでは、設定された「トランザクショントレースしきい値」を超えたトランザクションの詳細を見ることが可能です。
トランザクションタブで表示される情報との違いは、トランザクションのスナップショットを取得するという部分です。
スナップショットを取得することで、ソースコードレベルまでのドリルダウンを可能にします。
トラブルの原因をピンポイントで発見し、パフォーマンスのボトルネックを特定することに役立ちます。
トランザクションで実行されるSQLステートメントと、そのスタックトレースは、apminsight.confファイル(APMインサイトのエージェントを仕込む際に必要なファイル)の設定に従い、ツリービューで表示されます。
(実行中のトランザクションにエラーがあった場合、エラートレースに表示されます。)
該当のトランザクションをクリックすると、ポップアップが表示されます。
【概要】タブ
【トレース情報】タブ
【SQLステートメント】タブ
【外部(リモート)呼び出し】
実行された外部呼出しの名称と回数を確認することが可能です。
【例外】
日本国内ではリリースしていない機能です。
【このトランザクションの他のトレース】
【監視情報からわかるポイント④】
トレースタブ配下の項目では、ドリルダウンを活用してAPMインサイトの機能の中でも最も詳細な情報を確認することができます。
まずは応答時間やエラートレースから問題のありそうなトランザクションを特定し、概要タブよりトランザクションのメソッドの内訳を確認します。その後、トレース情報からソースコードレベルで各メトリクスにかかった時間(排他的msの欄)を確認すると著しく負荷がかかっているSQL文などを特定することができます。
その他のタブで、実行されたSQLを確認したり、外部処理があったかどうかを確認することでより的確な監視を行うことが可能です。
JVM
JVM監視機能では、実行中のアプリケーションコードを監視して、アプリケーション監視を支援します。
アプリケーションのメトリックも監視可能で、パフォーマンス情報の可視化によって、各種リソースやシステムパラメーターがJavaアプリケーションのパフォーマンスにどう影響するかを確認することができます。
※以下一部の画像は本社のデモ環境のものになります。画像内の表記が英語になっておりますがご了承ください。
ガベージ・コレクタ(PS ScavengeとPS MarkSweep)
収集オブジェクト数や収集にかかった時間など、JVMガベージコレクタの統計をポーリング間隔に従って表示します。
スレッド
Java仮想マシンの起動または、ピークのリセットが発生以降の、ライブスレッドのピーク数(ピークスレッド)や、実行中のライブスレッド数、実行中のデーモンスレッド数を確認することができます。
設定
設定タブでは、JVMに関する一般情報を確認することが可能です。
確認できる項目は以下になります。
・JVM名やJVMバージョン、JVM PID、
・Java引数、Javaバージョン、Javaベンダー
・クラスバージョン、ブーツクラスパス、ライブラリパス、クラスパス
・エージェントインストールパス
・アプリケーション起動時間
その他ホストのOS情報や、メモリのヒープ情報をご確認いただけます。
【監視情報からわかるポイント⑤】
Javaで作られたアプリケーションにはとても有効な監視機能となっております。
特にガベージコレクションの監視をAPMインサイトで行いたいというご要望が多くございます。
ガベージコレクターのタブでは、収集されたオブジェクトの数やそれらの収集に費やされた時間など、ガベージコレクターアクティビティに関するライブJVM統計を表示しております。
例外(Exceptions)
例外タブでは、発生している例外処理やエラーが表示されます。
これらの情報はアプリケーションのパフォーマンス低下につながる例外処理やエラーを特定するのに役立ち、より円滑な監視の支援につながります。
※画像は本社のデモ環境のものになります。画像内の表記が英語になっておりますがご了承ください。
【監視情報からわかるポイント⑥】
例外処理に関しましては一括してこちらのタブから確認していただくことが可能です。
データベースやアプリケーションのコード以外にもアプリケーションの動作が遅い原因は例外処理にある場合も少なくありません。
こちらのタブから、よく発生している例外処理を特定して原因の解決にお役立ていただけます。
メモ:
APMインサイト監視のメトリックを表示するには、メインタブでレポートをクリックし左のリストから傾向分析レポートを選択してください。次のレポートタイプが表示されます。
- 一瞥レポート
- ダウンタイム履歴
- 監視のサマリレポート
レポートに関しては、以下のナレッジもご参照ください。
■取得データをもとに各リソースの傾向や予測分析をレポート化したい
最後に
APMインサイトの機能はリリースごとに拡張されており、よりお客様の監視要望にお答えできるような形に進化しております。
現在では、Java、.Net、Node.js、.Net Core、Ruby、PHPと監視対象も増えてまいりました。
ぜひご活用ください。