Azure Spring Apps のメトリック
Note
Basic、Standard、Enterprise プランは、2025 年 3 月中旬以降非推奨になり、廃止期間は 3 年間です。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の廃止のお知らせ」を参照してください。
Standard 従量課金と専用プランは、2024 年 9 月 30 日以降に非推奨になり、6 か月後に完全にシャットダウンされます。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の Standard 従量課金および専用プランを Azure Container Apps に移行する」を参照してください。
この記事の適用対象:✅ Basic/Standard ✅ Enterprise
Azure メトリックス エクスプローラーは、グラフの描画、傾向の視覚的な相関付け、およびメトリックの値の急上昇と急降下の調査を行うことができる、Microsoft Azure portal のコンポーネントです。 メトリックス エクスプローラーを使用して、ご利用のソースの正常性と使用率を調べます。
Azure Spring Apps インスタンスでは、次のページでメトリックを表示できます。
アプリケーションの概要ページ。ここには、クイック状態グラフが表示されます。 このページを表示するには、ナビゲーション ウィンドウから [アプリ] 選択し、アプリを選択します。
一般メトリック ページ。ここには、Azure Spring Apps インスタンス内のすべてのアプリで使用できる一般的なメトリックが表示されます。 Enterprise プランでは、Tanzu Spring Cloud Gateway の一般的なメトリックも表示されます。 このページを表示するには、ナビゲーション ウィンドウから [メトリクス] 選択します。 一般メトリック ページで独自のグラフを作成し、それらをダッシュボードにピン留めできます。
アプリケーションの概要ページ
ナビゲーション ウィンドウで [アプリ] 選択し、リストからアプリを選択します。 アプリの概要ページには、メトリック グラフが表示されます。これを使用して、アプリケーションの迅速な状態チェックを実行できます。
Azure Spring Apps は、1 分ごとに更新されるメトリックを使用して、次の 5 つのグラフを提供します。
- HTTP サーバー エラー: アプリに対する HTTP 要求のエラー数
- 受信データ: アプリが受信したバイト数
- 送信データ: アプリが送信したバイト数
- 要求: アプリが受信した要求数
- 平均応答時間: アプリからの平均応答時間
グラフの場合、1 時間から 7 日までの時間範囲を選択できます。
一般メトリック ページ
ナビゲーション ウィンドウ [メトリクス] を選択して、一般メトリックにアクセスします。 使用するメトリックを [メトリック] ドロップダウンから選択します。
メトリックの詳細については、ユーザー メトリック オプションに関するセクションを参照してください。
次に、各メトリックの集計の種類を選択します。
集計の種類は、グラフ内のメトリック ポイントを時間で集計する方法を示します。 1 分ごとに 1 つの未加工のメトリック ポイントがあり、1 分以内の事前集計の種類がメトリックの種類によって事前に定義されています。
- 合計: ターゲット出力としてすべての値を合計します。
- 平均: ターゲット出力として期間中の平均値を使用します。
- 最大/最小: ターゲット出力として期間中の最大および最小値を使用します。
時間範囲はまた、過去 30 分から過去 30 日間までで調整するか、カスタムの時間範囲で調整できます。
既定のビューには、Azure Spring Apps サービスのアプリケーションのメトリックがすべて一緒に含まれています。 1 つのアプリまたはインスタンスのメトリックを表示でフィルター処理できます。 [フィルタの追加] を選択し、プロパティを [アプリ] に設定し、[値] テキスト ボックスで監視するターゲット アプリケーションを選択します。
次の 2 種類のフィルター (プロパティ) を使用できます。
- アプリ: アプリ名でフィルター処理
- インスタンス: アプリ インスタンスでフィルター処理
- デプロイ: デプロイ名でフィルター処理する
また、[分割を適用する] オプションも使用できます。これにより、1 つのアプリに対して複数の線が描画されます。
ヒント
メトリック ページに独自のグラフを構築し、ダッシュボードにピン留めできます。 まず、グラフに名前を付けます。 次に、右上隅の [ダッシュボードにピン留めする] を選択します。 これで、ポータルのダッシュボードでアプリケーションを確認できるようになりました。
ユーザー メトリックのオプション
Note
Spring Boot アプリケーションの場合、Spring Boot Actuator からのメトリックを表示するには、spring-boot-starter-actuator
依存関係を追加します。 詳細については、「Spring Boot アクチュエータを使用してアプリを管理および監視する」の「アクチュエータの依存関係を追加する」セクションを参照してください。
次の表に、使用可能なメトリックとその詳細を示します。
Error
名前 | Spring Boot Actuator メトリック名 | ユニット | 説明 |
---|---|---|---|
tomcat.global.error |
tomcat.global.error |
Count | 処理された要求で発生したエラーの数。 |
パフォーマンス
名前 | Spring Boot Actuator メトリック名 | ユニット | 説明 |
---|---|---|---|
system.cpu.usage |
system.cpu.usage |
パーセント | [廃止] システム全体の最近の CPU 使用率 このメトリックは、精度の信頼性が低いため非推奨です。 代わりに App CPU Usage を使用してください この値は、0.0 から 1.0 の範囲の倍精度浮動小数点数です。 値 0.0 は、最近の観測期間中にすべての CPU がアイドル状態であったことを意味します。一方、値 1.0 は、最近の観測期間中にすべての CPU が 100% の稼働状態であったことを意味します。 |
process.cpu.usage |
アプリの CPU 使用率 (%) | パーセント | [廃止] Java 仮想マシン プロセスの最近の CPU 使用率。 このメトリックは、精度の信頼性が低いため非推奨です。 代わりに App CPU Usage を使用してください この値は、0.0 から 1.0 の範囲の倍精度浮動小数点数です。 値 0.0 は、最近の観測期間中に、どの CPU でも JVM プロセスからスレッドが実行されなかったことを意味します。一方、値 1.0 は、最近の観測期間中に、すべての CPU で JVM からスレッドが 100% 実行されたことを意味します。 JVM からのスレッドには、アプリケーション スレッドだけでなく、JVM 内部スレッドも含まれます。 |
アプリの CPU 使用率 | パーセント | コアで使用された CPU 時間と合計 CPU 制限の比率。 これは、主に JVM プロセス用の k8s コンテナーによって消費される CPU リソースの割合を表します。 この値は、0.0 から 1.0 の範囲の倍精度浮動小数点数です。 値 0.0 は、最近の観測期間中に、どの CPU でも JVM プロセスからスレッドが実行されなかったことを意味します。一方、値 1.0 は、最近の観測期間中に、すべての CPU で JVM からスレッドが 100% 実行されたことを意味します。 JVM からのスレッドには、アプリケーション スレッドだけでなく、JVM 内部スレッドも含まれます。 | |
アプリの CPU 使用率 (非推奨) | パーセント | アプリの CPU 使用率の非推奨メトリック。 代わりに、新しいアプリの CPU 使用率メトリックを使用してください。 | |
アプリのメモリ使用量 | パーセント | このアプリに割り当てられたメモリに対する JVM プロセスの最近のメモリ使用率。 この値は、0.0 から 1.0 の範囲の倍精度浮動小数点数です。 値 0.0 は、最近の観測期間中に、どのメモリでも JVM プロセスからスレッドで割り当てられなかったことを意味します。一方、値 1.0 は、最近の観測期間中に、すべての CPU で JVM からスレッドが 100% 実行されたことを意味します。 JVM からのスレッドには、アプリケーション スレッドだけでなく、JVM 内部スレッドも含まれます。 | |
jvm.memory.committed |
jvm.memory.committed |
バイト | JVM で使用できることが保証されているメモリの量を表します。 JVM がシステムに対してメモリを解放する場合があり、保証されているメモリが初期値よりも少なくなる可能性があります。 保証されているメモリは、常に使用量以上になります。 |
jvm.memory.used |
jvm.memory.used |
バイト | 現在使用されているメモリの量を表します (バイト単位)。 |
jvm.memory.max |
jvm.memory.max |
バイト | メモリ管理に使用できるメモリの最大量を表します。 最大量が定義されている場合、使用されるメモリおよび保証されるメモリの量は常にそれ以下になります。 使用されているメモリ量が最大メモリ量以下であっても、保証されているメモリ量よりも使用されるメモリ量が大きくなるように使用されるメモリ量を増やそうとすると、メモリ割り当てが失敗する可能性があります (たとえば、システムの仮想メモリが不足している場合)。 |
jvm.gc.max.data.size |
jvm.gc.max.data.size |
バイト | Java 仮想マシンが起動されてからの、古い世代のメモリ プールのメモリ使用量のピーク。 |
jvm.gc.live.data.size |
jvm.gc.live.data.size |
バイト | 完全なガベージ コレクション (GC) 後の古い世代のメモリ プールのサイズ。 |
jvm.gc.memory.promoted |
jvm.gc.memory.promoted |
バイト | GC 前から後にかけた古い世代のメモリ プールのサイズ増加数。 |
jvm.gc.memory.allocated |
jvm.gc.memory.allocated |
バイト | 1つの GC の後から次の GC の前までの若い世代のメモリ プールのサイズ増加に合わせて増加。 |
jvm.gc.pause.total.count |
jvm.gc.pause (合計カウント) |
Count | この JMV が起動した後の GC の合計数 (若い GC と古い GC を含む)。 |
jvm.gc.pause.total.time |
jvm.gc.pause (合計時間) |
Milliseconds | この JMV が起動した後に消費された GC 時間の合計 (若い GC と古い GC を含む)。 |
パフォーマンス (.NET)
名前 | Spring Boot Actuator メトリック名 | ユニット | 説明 |
---|---|---|---|
CPU 使用率 | cpu-usage |
パーセント | すべてのシステム CPU リソースに対するプロセスの CPU 使用率の割合 [0-100]。 |
Working set | working-set |
メガバイト | プロセスによって使用されたワーキング セットの量。 |
GC heap size | gc-heap-size |
メガバイト | ガベージ コレクターによって報告された合計ヒープ サイズ。 |
Gen 0 GC count | gen-0-gc-count |
Count | 1 秒あたりの第 0 世代のガベージ コレクション数。 |
Gen 1 GC count | gen-1-gc-count |
Count | 1 秒あたりの第 1 世代のガベージ コレクション数。 |
Gen 2 GC count | gen-2-gc-count |
Count | 1 秒あたりの第 2 世代のガベージ コレクション数。 |
GC の時間 | timein-gc |
パーセント | 前回のガベージ コレクション後のガベージ コレクションの時間の割合。 |
Gen 0 heap size | gen-0-size |
バイト | 第 0 世代のヒープ サイズ。 |
Gen 1 heap size | gen-1-size |
バイト | 第 1 世代のヒープ サイズ。 |
Gen 2 heap size | gen-2-size |
バイト | 第 2 世代のヒープ サイズ。 |
LOH heap size | loh-size |
バイト | ラージ オブジェクト ヒープのヒープ サイズ。 |
Allocation rate | alloc-rate |
バイト | 1 秒あたりの割り当てられたバイト数。 |
Assembly count | assembly-count |
Count | 読み込まれたアセンブリ数。 |
Exception count | exception-count |
Count | 1 秒あたりの例外数。 |
Thread pool thread count | threadpool-thread-count |
Count | スレッド プールのスレッド数 |
Monitor lock contention count | monitor-lock-contention-count |
Count | モニターのロックを取得しようとしたときに競合が発生した 1 秒あたりの回数。 |
Thread pool queue length | threadpool-queue-length |
Count | スレッド プールの作業項目のキューの長さ。 |
Thread pool completed items count | threadpool-completed-items-count |
Count | スレッド プールの完了した作業項目数。 |
Active timers count | active-timer-count |
Count | 現在アクティブなタイマーの数。 アクティブなタイマーとは、将来のある時点でティックするように登録されていて、まだキャンセルされていないタイマーです。 |
詳細については、パフォーマンス カウンター (dotnet-counters) の調査に関する記事を参照してください。
要求
名前 | Spring Boot Actuator メトリック名 | ユニット | 説明 |
---|---|---|---|
tomcat.global.sent |
tomcat.global.sent |
バイト | Tomcat Web サーバーが送信したデータの量。 |
tomcat.global.received |
tomcat.global.received |
バイト | Tomcat Web サーバーが受信したデータの量。 |
tomcat.global.request.total.count |
tomcat.global.request (合計カウント) |
Count | Tomcat Web サーバーが処理した要求の合計数。 |
tomcat.global.request.max |
tomcat.global.request.max |
Milliseconds | 要求を処理するための Tomcat Web サーバーの最大時間。 |
要求 (.NET)
名前 | Spring Boot Actuator メトリック名 | ユニット | 説明 |
---|---|---|---|
1 秒あたりの要求数 | requests-per-second |
Count | 要求レート。 |
合計要求 | total-requests |
Count | 要求の合計数。 |
Current requests | current-requests |
Count | 現在の要求数。 |
失敗した要求 | failed-requests |
Count | 失敗した要求の数。 |
詳細については、パフォーマンス カウンター (dotnet-counters) の調査に関する記事を参照してください。
セッション
名前 | Spring Boot Actuator メトリック名 | ユニット | 説明 |
---|---|---|---|
tomcat.sessions.active.max |
tomcat.sessions.active.max |
Count | 同時にアクティブになったセッションの最大数。 |
tomcat.sessions.alive.max |
tomcat.sessions.alive.max |
Milliseconds | 期限切れのセッションがアライブ状態だった最長時間 (秒単位)。 |
tomcat.sessions.created |
tomcat.sessions.created |
Count | 作成されたセッションの数。 |
tomcat.sessions.expired |
tomcat.sessions.expired |
Count | 期限切れになったセッションの数。 |
tomcat.sessions.rejected |
tomcat.sessions.rejected |
Count | アクティブなセッションの最大数に達したために作成されなかったセッションの数。 |
tomcat.sessions.active.current |
tomcat.sessions.active.current |
Count | Tomcat セッションのアクティブ数。 |
イングレス
[表示名] | Azure メトリック名 | ユニット | 説明 |
---|---|---|---|
受信バイト数 | IngressBytesReceived |
バイト | クライアントからの Azure Spring Apps によって受信されたバイト数。 |
送信バイト数 | IngressBytesSent |
バイト | Azure Spring Apps によってクライアントに送信されたバイト数。 |
要求 | IngressRequests |
Count | クライアントからの Azure Spring Apps による要求数。 |
失敗した要求 | IngressFailedRequests |
Count | クライアントからの Azure Spring Apps による失敗した要求数。 |
応答の状態 | IngressResponseStatus |
Count | Azure Spring Apps によって返された HTTP 応答の状態。 応答状態コードの分布をさらに分類し、2xx、3xx、4xx、5xx のカテゴリで応答を表示できます。 |
応答時間 | IngressResponseTime |
秒 | Azure Spring Apps によって返された HTTP 応答時間。 |
スループット (バイト/秒) | IngressBytesReceivedRate |
BytesPerSecond | クライアントからの Azure Spring Apps によって受信された 1 秒あたりのバイト数。 |
スループット アウト (バイト/秒) | IngressBytesSentRate |
BytesPerSecond | クライアントに Azure Spring Apps によって送信された 1 秒あたりのバイト数。 |
ゲートウェイ
次の表は、Enterprise プランの Tanzu Spring Cloud Gateway にのみ適用されます。
[表示名] | Azure メトリック名 | ユニット | 説明 |
---|---|---|---|
jvm.gc.live.data.size |
GatewayJvmGcLiveDataSizeBytes |
バイト | 完全な GC 後の古い世代のメモリ プールのサイズ。 |
jvm.gc.max.data.size |
GatewayJvmGcMaxDataSizeBytes |
バイト | 古い世代のメモリ プールの最大サイズ。 |
jvm.gc.memory.promoted |
GatewayJvmGcMemoryPromotedBytesTotal |
バイト | GC 前から後にかけた古い世代のメモリ プールのサイズ増加数。 |
jvm.gc.pause.max.time |
GatewayJvmGcPauseSecondsMax |
秒 | GC の一時停止の最大時間。 |
jvm.gc.pause.total.count |
GatewayJvmGcPauseSecondsCount |
Count | GC の一時停止回数。 |
jvm.gc.pause.total.time |
GatewayJvmGcPauseSecondsSum |
秒 | GC の一時停止合計時間。 |
jvm.memory.committed |
GatewayJvmMemoryCommittedBytes |
バイト | JVM に割り当て済みのメモリ (バイト単位)。 |
jvm.memory.used |
GatewayJvmMemoryUsedBytes |
バイト | メモリ使用量 (バイト単位)。 |
要求の最大時間 | GatewayHttpServerRequestsMilliSecondsMax |
Milliseconds | 要求の最大時間。 |
process.cpu.usage |
GatewayProcessCpuUsage |
パーセント | JVM プロセスの最近の CPU 使用率。 |
要求数 | GatewayHttpServerRequestsSecondsCount |
Count | 要求の数。 |
system.cpu.usage |
GatewaySystemCpuUsage |
パーセント | システム全体の最近の CPU 使用率。 |
Throttled requests count (スロットルされた要求の数) | GatewayRatelimitThrottledCount |
Count | スロットルされた要求の数。 |