こんにちは。

Azure CIE サポートの村山です。

今日は、最近流行りの Azure メトリックを利用した監視方法の注意点に関してご案内します。

Azure メトリックではテレメトリを利用して、各リソースのパフォーマンスや、正常性を確認することができます。

Microsoft Azure のメトリックの概要

https://docs.microsoft.com/ja-jp/azure/monitoring-and-diagnostics/monitoring-overview-metrics

Azure Web Appsの場合、CPU や メモリなどを監視して、高負荷がかかった場合には、スケールアウトやスケールアップを行い、アクセスの増加に対応することもできます。

また、HTTP 500 エラーなどを監視して、アラートを設定することで、内部で何か問題が発生した際にその通知をメールで受け取ることが可能になります。

このアラートルールですが、下記画像のように、最短で ”直近 5 分間“ から “直近 6 時間” まで設定することが可能です。 しかしながら、この “直近 5 分間” は場合によってはうまく通知が送られないことがあります。

2018 年現在では、直近 5 分間でも動作することが確認されております。(2018/01/30 現在)

一番安定して動作する中で最短の時間は “直近 15 分間” であるため、確実にアラートを受け取りたい場合は、” 直近 15 分間 ” の設定をご利用ください。

blog2

また、特に Web App に関しては、アーキテクチャの仕組み上、エラーの種類によってはメトリックで検知されない場合がございます。

具体的には、Web App の Front End インスタンス (Application Request Routing で Web Worker インスタンスに要求をルーティングするロール インスタンス) や Web Worker のカーネルドライバーである HTTP.SYS でハンドルされた場合には、Web Worker のユーザーモード プロセスまで HTTP 要求が到達しないため、HTTP ステータス コードを基にしたメトリックでは検知されません。

例えば、以下のようなシナリオでは HTTP エラーが検知されないため、今後 Web Apps の運用を検討されている方は、十分にご注意ください。

  1. Front End が応答を返す場合
  2. Web Worker のカーネルモード ドライバーである HTTP.SYS が応答を返す場合
  3. Kudu サイトに対する処理

Front End が応答を返す場合

Web Worker のカーネルモード ドライバーである HTTP.SYS が応答を返す場合

Kudu サイトに対する処理

それでは、また!

本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。