Azure Spring Apps のメトリック

Note

Azure Spring Apps は、Azure Spring Cloud サービスの新しい名前です。 サービスの名前は新しくなりましたが、スクリーンショット、ビデオ、図などの資産の更新に取り組んでいる間、場所によってはしばらく古い名前が表示されます。

この記事の適用対象: ✔️ Basic または Standard ✔️ Enterprise

Azure メトリックス エクスプローラーは、グラフの描画、傾向の視覚的な相関付け、およびメトリックの値の急上昇と急降下の調査を行うことができる、Microsoft Azure portal のコンポーネントです。 メトリックス エクスプローラーを使用して、ご利用のソースの正常性と使用率を調べます。

Azure Spring Apps インスタンスでは、次のページでメトリックを表示できます。

  • アプリケーションの概要ページ。ここには、クイック状態グラフが表示されます。 このページを表示するには、ナビゲーション ウィンドウから [アプリ] 選択し、アプリを選択します。

  • 一般メトリック ページ。ここには、Azure Spring Apps インスタンス内のすべてのアプリで使用できる一般的なメトリックが表示されます。 Enterprise プランでは、Tanzu Spring Cloud Gateway の一般的なメトリックも表示されます。 このページを表示するには、ナビゲーション ウィンドウから [メトリクス] 選択します。 一般メトリック ページで独自のグラフを作成し、それらをダッシュボードにピン留めできます。

Screenshot of the Azure portal showing the Azure Spring Apps Overview page with Apps and Metrics highlighted in the navigation pane.

アプリケーションの概要ページ

ナビゲーション ウィンドウで [アプリ] 選択し、リストからアプリを選択します。 アプリの概要ページには、メトリック グラフが表示されます。これを使用して、アプリケーションの迅速な状態チェックを実行できます。

Screenshot of the Azure portal showing the overview page for an application with the time period selector highlighted.

Azure Spring Apps は、1 分ごとに更新されるメトリックを使用して、次の 5 つのグラフを提供します。

  • HTTP サーバー エラー: アプリに対する HTTP 要求のエラー数
  • 受信データ: アプリが受信したバイト数
  • 送信データ: アプリが送信したバイト数
  • 要求: アプリが受信した要求数
  • 平均応答時間: アプリからの平均応答時間

グラフの場合、1 時間から 7 日までの時間範囲を選択できます。

一般メトリック ページ

ナビゲーション ウィンドウ [メトリクス] を選択して、一般メトリックにアクセスします。 使用するメトリックを [メトリック] ドロップダウンから選択します。

Screenshot of the Azure portal showing the Azure Spring Apps Metrics page with the Metric dropdown menu open.

メトリックの詳細については、ユーザー メトリック オプションに関するセクションを参照してください。

次に、各メトリックの集計の種類を選択します。

Screenshot of the Azure portal showing the Azure Spring Apps Metrics page with the Aggregation dropdown menu open.

集計の種類は、グラフ内のメトリック ポイントを時間で集計する方法を示します。 1 分ごとに 1 つの未加工のメトリック ポイントがあり、1 分以内の事前集計の種類がメトリックの種類によって事前に定義されています。

  • 合計: ターゲット出力としてすべての値を合計します。
  • 平均: ターゲット出力として期間中の平均値を使用します。
  • 最大/最小: ターゲット出力として期間中の最大および最小値を使用します。

時間範囲はまた、過去 30 分から過去 30 日間までで調整するか、カスタムの時間範囲で調整できます。

Screenshot of the Azure portal showing the Azure Spring Apps Metrics page with the chart time range options highlighted.

既定のビューには、Azure Spring Apps サービスのアプリケーションのメトリックがすべて一緒に含まれています。 1 つのアプリまたはインスタンスのメトリックを表示でフィルター処理できます。 [フィルタの追加] を選択し、プロパティを [アプリ] に設定し、[値] テキスト ボックスで監視するターゲット アプリケーションを選択します。

次の 2 種類のフィルター (プロパティ) を使用できます。

  • アプリ: アプリ名でフィルター処理
  • インスタンス: アプリ インスタンスでフィルター処理
  • デプロイ: デプロイ名でフィルター処理する

Screenshot of the Azure portal showing the Azure Spring Apps Metrics page with a chart selected and the Add filter controls highlighted.

また、[分割を適用する] オプションも使用できます。これにより、1 つのアプリに対して複数の線が描画されます。

Screenshot of the Azure portal showing the Azure Spring Apps Metrics page with a chart selected and the Apply splitting option highlighted. $

ヒント

メトリック ページに独自のグラフを構築し、ダッシュボードにピン留めできます。 まず、グラフに名前を付けます。 次に、右上隅の [ダッシュボードにピン留めする] を選択します。 これで、ポータルのダッシュボードでアプリケーションを確認できるようになりました。

ユーザー メトリックのオプション

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 使用率 (非推奨のため、使用をお勧めしません)。 この値は、0.0 から 1.0 の範囲の倍精度浮動小数点数です。 値 0.0 は、最近の観測期間中にすべての CPU がアイドル状態であったことを意味します。一方、値 1.0 は、最近の観測期間中にすべての CPU が 100% の稼働状態であったことを意味します。
process.cpu.usage アプリの CPU 使用率 (%) パーセント Java 仮想マシン プロセスの最近の CPU 使用率 (非推奨のため、使用をお勧めしません)。 この値は、0.0 から 1.0 の範囲の倍精度浮動小数点数です。 値 0.0 は、最近の観測期間中に、どの CPU でも JVM プロセスからスレッドが実行されなかったことを意味します。一方、値 1.0 は、最近の観測期間中に、すべての CPU で JVM からスレッドが 100% 実行されたことを意味します。 JVM からのスレッドには、アプリケーション スレッドだけでなく、JVM 内部スレッドも含まれます。
アプリの CPU 使用率 パーセント このアプリに割り当てられた CPU に対する JVM プロセスの最近の 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 スロットルされた要求の数。

次のステップ