アプリケーションの途切れはトラブルシューティングが困難です。Application Real-Time Monitoring Service (ARMS) のアプリケーションモニタリングは、継続的なプロファイリング、トレース診断、インターフェースモニタリングなどのさまざまな機能を提供し、アプリケーションのすべての低速呼び出しを特定してアプリケーションの途切れを修正するのに役立ちます。
背景情報
Web サイトの途切れや Web ページの読み込みの遅延は、アプリケーションで最も一般的な問題の 1 つです。トラブルシューティングは、次の理由により複雑で時間がかかります。
長いアプリケーショントレース
アプリケーションの途切れは、フロントエンドの Web ページからバックエンドのゲートウェイ、または Web アプリケーションサーバーからバックエンドのデータベースまで、どこでも発生する可能性があります。
マイクロサービスアーキテクチャを使用するアプリケーションは、さらに複雑なトレースと、異なるチームや担当者によって管理されるコンポーネントを備えています。これにより、トラブルシューティングがさらに困難になります。
不完全または低品質なログ
本番環境の問題のトラブルシューティングは、アプリケーションログに依存しています。ただし、問題の場所は通常予測できず、低速な応答が頻繁に発生します。低速な応答をトラブルシューティングするには、エラーが発生する可能性のある場所にログを出力し、各呼び出しを記録する必要があります。ただし、これには莫大なコストがかかります。
不十分なモニタリング
急速なビジネス開発と迅速なアプリケーションの反復により、アプリケーションのインターフェースが頻繁に変更され、依存関係が増加します。これはコードの品質をさらに低下させます。アプリケーションには、すべてのインターフェースを自動的に監視し、異常な呼び出しを記録する包括的な監視システムが必要です。
ソリューション
アプリケーションコードを変更することなく、ARMS エージェントをインストールして、継続的なプロファイリング、トレース診断、インターフェースモニタリングなどの機能を使用して、アプリケーションのすべての低速呼び出しを監視できます。
手順 1: ARMS エージェントをインストールする
アプリケーションを監視するには、ARMS エージェントをインストールする必要があります。次のいずれかの方法を選択して、ARMS エージェントをインストールします。詳細については、アプリケーションモニタリングの概要を参照してください。
手順 2: 低速な SQL クエリを照会する
ARMS エージェントは、指定された期間内のアプリケーションの平均応答時間、リクエストの総数、エラーの数、リアルタイムインスタンスの数、フルガベージコレクション (GC) の発生回数、低速な SQL クエリの数、例外の数、低速呼び出しの数を収集して表示します。また、ARMS エージェントは、これらのメトリックが前日比および前週比でどのように変化するかを示します。低速な SQL クエリを照会するには、次の手順を実行します。
ARMS console にログインします。左側のナビゲーションペインで、 を選択します。
アプリケーションリスト ページで、上部のナビゲーションバーでリージョンを選択し、管理するアプリケーションの名前をクリックします。
説明言語 列に表示されるアイコンは、アプリケーションが記述されている言語を示します。
: Java アプリケーション
: Go アプリケーション
: Python アプリケーション
ハイフン (-): Managed Service for OpenTelemetry で監視されるアプリケーション。
アプリケーションの概要 ページで、概要 タブをクリックします。[概要] タブには、低速な SQL クエリの総数と、前日および前週からの変化が表示されます。
手順 3: 低速な呼び出しを特定する
インターフェース呼び出し ページには、アプリケーションによって提供されるすべてのインターフェースと、各インターフェースの呼び出し回数と期間が表示されます。トラブルシューティングを容易にするために、低速なインターフェースがマークされています。
左側のナビゲーションペインで、インターフェース呼び出し をクリックします。
インターフェース呼び出し ページの左側のナビゲーションページで、低速なインターフェースをクリックして詳細を表示します。
手順 4: 問題のあるコードを見つける
低速なインターフェースを見つけたら、インターフェースを修正するために、問題のあるコードを見つける必要があります。スナップショットは、各呼び出しのコードと期間を含む、トレース全体を完全に記録したものであり、問題のあるコードを正確に特定するのに役立ちます。
インターフェース呼び出し ページの右側で、インターフェーススナップショット タブをクリックします。
インターフェーススナップショット タブには、インターフェースのすべてのトレースが表示されます。
インターフェーススナップショット タブで、トレース ID をクリックします。
表示されたパネルで、トレース情報を表示します。詳細 列で、虫眼鏡アイコンをクリックして、メソッドスタックとコンテキスト情報を表示します。
説明トレースを照会する方法については、トレースクエリを参照してください。
この時点で、特定の低速呼び出しの原因が明らかになります。このようにして、後でコードを最適化できます。インターフェース呼び出し ページに戻り、リスト内の他の低速呼び出しをトラブルシューティングし、1 つずつ修正します。
参照
1 つ以上のインターフェースのアラートを設定できます。このようにして、例外が発生したときに、アラート通知が O&M チームに送信されます。詳細については、アプリケーションモニタリングのアラートルールを参照してください。