Azure App Service には、Azure portal の Web、モバイル、および API アプリに対する組み込みの監視機能が用意されています。
ポータルでは、アプリと App Service プランのクォータとメトリックを確認できます。 メトリックに基づいて、アラートと自動スケーリングのルールを設定できます。
クォータ
App Service にホストされているアプリは、使用できるリソースに一定の制限があります。 アプリの App Service プランによって制限が定義されます。
注
App Service の Free および Shared (プレビュー) サービス プランは、他の App Service アプリと同じ Azure 仮想マシンで稼働する基本レベルです。 一部のアプリは他のお客様に属する場合もあります。 これらのレベルは、開発とテストのみを目的としています。
アプリが Free プランまたは Shared プランでホストされている場合、アプリで使用できるリソースの制限はクォータによって定義されます。 Free プランまたは Shared プランのアプリのクォータは次のとおりです。
| クォータ | 説明 |
|---|---|
| CPU (ショート) | このアプリが 5 分間に使用できる CPU の量。 このクォータは、5 分ごとにリセットされます。 |
| CPU (1 日) | このアプリが 1 日に使用できる CPU の総量。 このクォータは、24 時間ごとに (UTC の午前 0 時に) リセットされます。 |
| メモリ | このアプリが使用できるメモリの総量。 |
| 帯域幅 | このアプリが 1 日に使用できる送信帯域幅の総量。 このクォータは、24 時間ごとに (UTC の午前 0 時に) リセットされます。 |
| ファイルシステム | 使用可能なストレージの総量。 |
アプリが Basic、Standard、または Premium プランでホストされている場合、 サイズ と インスタンス数 によって、アプリで使用できるリソースの制限が設定されます。 サイズは小、中、または大です。 インスタンス数は、インスタンスの数です。 Basic プラン、Standard プラン、Premium プランでホストされているアプリに適用できるクォータは、ファイルシステムのみです。
さまざまな App Service のレベルで利用できる特定のクォータ、制限、機能について詳しくは、「Azure App Service の制限」を参照してください。
クォータの適用
アプリが CPU (ショート)、CPU (1 日)、帯域幅のクォータを超過すると、クォータがリセットされるまでアプリは停止されます。 この期間中は、すべての受信要求の結果が HTTP 403 エラーになります。
アプリが メモリ クォータを超えると、一時的に停止します。
ファイルシステム クォータを超えた場合は、すべての書き込み操作が失敗します。 書き込み操作の失敗には、ログへの書き込みも含まれます。
クォータを引き上げたりアプリから削除したりするには、App Service プランをアップグレードしてください。
メトリック
メトリックを利用すると、アプリまたは App Service プランの動作に関する情報が得られます。 App Service プランのメトリックは、Basic、Standard、Premium、Isolated の各レベルのプランでのみ使用できます。
アプリまたは App Service プランで使用可能なメトリックの一覧については、「Microsoft.Web でサポートされるメトリック」を参照してください。
注
アプリのメトリックには、アプリのソース管理マネージャー (SCM) サイト (Kudu とも呼ばれます) への要求が含まれます。 要求には、Kudu を使用してサイトのログ ストリームを表示する要求が含まれます。 ログ ストリーム要求は数分に及ぶ場合があります。 この事実は 、要求時間 メトリックに影響します。 これらのメトリックを自動スケーリング ロジックで使用する場合は、この関係に注意する必要があります。
HTTP サーバー エラーは、バックエンド サービス (アプリをホストするワーカー) に到達する要求のみを記録します。 フロントエンドで要求が失敗した場合、要求は HTTP サーバー エラーとしては記録されません。 正常性チェック機能と Application Insights 可用性テストを使用して、外部から監視を行うことができます。
CPU 時間とCPU の割合
次の 2 つのメトリックに CPU 使用率が反映されます。
CPU 時間: Free プランまたは Shared プランでホストされているアプリで有益です。これらのプランのクォータの 1 つが、アプリで使用される CPU 時間で定義されているためです。
CPU の割合: Basic、Standard、および Premium プランでホストされるアプリで有益です。これらはスケール アウトが可能だからです。CPU の割合は、インスタンス全体にわたる使用率の有効な指標になります。
アイテム保持ポリシー
サービスは、アプリと App Service プランのメトリックをログに記録して集計します。 メトリックは、ルールに従って保持されます。
Azure portal でのクォータとメトリックの監視
アプリに影響するクォータとメトリックの状態を確認するには、Azure portal にアクセスします。
クォータを見つけるには、アプリに移動します。 左側のメニューで、[ App Service プラン>Quotas] を選択します。 各グラフで、クォータに関するこの情報を確認できます。
- 名前
- リセットの間隔
- 現在の制限
- 現在の値
メトリックには、リソースの [概要] ページから直接アクセスできます。 [ 監視 ] タブを選択すると、アプリのメトリックの一部を表すグラフが表示されます。 これらのグラフのいずれかを選択すると、[メトリック] ビューが表示されます。ここでは、カスタム グラフの作成、さまざまなメトリックのクエリ実行などを行えます。
メトリックの詳細については、「Azure Monitor データ プラットフォーム」を参照してください。
アラートと自動スケーリング
アプリまたは App Service プランのメトリックは、アラートに関連付けることができます。 詳細については、「アラート」を参照してください。
Basic 以上の App Service プランでホストされているアプリでは自動スケーリングがサポートされます。 自動スケーリングでは、App Service プランのメトリックを監視するルールを構成することができます。 ルールはインスタンス数を増減でき、必要に応じてより多くのリソースを提供できます。 ルールは、アプリがオーバー プロビジョニングされたときのコスト削減にも役立ちます。
自動スケーリングの詳細については、「Azure での自動スケールの使用」と「自動スケールのベスト プラクティス」を参照してください。