こんにちは。
今回は、前回の記事で確認した、Azure FrontDoor Services (AFD)のバックエンドにある Web Apps の Application Insights (AI)について分析したメモです。
前回の記事で記載した期間、バックエンドの Web Apps にどのようなアクセスがあったかを確認したいと思います。
ちなみに、前回の記事はこちら。
AFD と AI での全体的な流入量の比較
AFD の後に Web Apps がいるので、確実に AI のログの方が少なくなると思うのですが、実際どうなのかなって思い、比較してみました。
今回は、9/1~9/28 で期間縛りで比較していきます。
まずは、全体的な流入に関する比較です。Azure FrontDoor Services がフロントで裏側に Web Apps がいるので、必ず FrontDoor の方が数が多くなってるはずです。
比較は、こんな感じ
Azure FrontDoor Service
AzureDiagnostics | where ResourceType == "FRONTDOORS" and Category == "FrontdoorAccessLog" | summarize count() by bin(TimeGenerated, 1d) | render timechart
Application Insights
let timeGrain=1d; let dataset=requests | where client_Type != "Browser" ; dataset | summarize count() by operation_SyntheticSource, bin(timestamp, timeGrain) | render timechart
で、その結果はこんな感じ。
まずは、Azure FrontDoor Services
こっちが、Application Insights
ひとまず、スケールが違い過ぎるのと、Backend の方が圧倒的に量が多いので Azure の内部的なアクセスがあるのかな~って感じがしますね。
たしかに、9/9あたりには、WAF で Block の設定と一緒に Azure FrontDoor Services の Backend の HEALTH PROBES の値を変えたと身に覚えがあるw
ちなみに、Application Insights のグラフが下がっているあたりで App Service Plan の CPU 利用率は下がってました。
Application Insights のリクエスト数が減っているところを分析
ということで、Application Insigts のリクエストが減ったところに着目して分析してみました。
まずは、時間のレンジを狭くしてみて分と秒で比較
let start=datetime("2019-09-08T16:30:00.000Z"); let end=datetime("2019-09-08T17:30:00.000Z"); let timeGrain=1m; let dataset=requests | where timestamp > start and timestamp < end ; dataset |where operation_SyntheticSource == "" | summarize count() by bin(timestamp, timeGrain) | render timechart
分だとこんな感じ
秒だと細かすぎて傾向がつかみにくい。。。
なんとなく国別でグラフをわけてみると、UKとUSが多いけど、どこの国からのアクセスも、17:05から17:10の間に一気に下がってる。China のところはなんとなく上がってるから気にしてみたけど、今回のとは関係ないっすね。
UKからのアクセスを分析
グラフを見てなんで、同じタイミングで色んな地域からのアクセスが一気に減ったんだろうってのは気になったのですが、ひとまず、ダントツで多い UK からのアクセスを分析することにしました。
ってことで、IP どこかなって思って Application Insights のログをみたんですけど、Application Insights は、 GDPR 対応でデフォルトでのクライアントIPは、「0.0.0.0」になってるんだった。。。
これを回避する方法は、2つあります。
1つは、Web Apps で Web Server Log を取っちゃう方法
もう1つは、以下のドキュメントの方法です。
ってことで、IP とれるようにしちゃいました。
Client IP をチェックしてみたら、147.243.0.0/16 のネットワークからで、これ MS の IPなんですよね。。。
ってことで、Azure FrontDoor Services の Backend Pool の Health Probes の値を、180 秒にふやしてみました。
きれいにへこみましたw
Azure FrontDoor Service の Edge サーバから色々ヘルスチェックされてて、色んな国からのアクセスがあるって感じなのかな~??
Health Probe の Path の設定
今のサイトでは、デフォルトで設定しているんで、index.php が動いてなんか遅いってことあるのかな?って思いまして、静的なコンテンツを1個置いてチェックするようにしてみました。
こんな感じ。
で、変えてみたら、めっちゃきれいになった。。
えっ、そういうことなの??
この記事書きながらなので、日本からのアクセスは自分で、もうそれしか着てない。
まとめ
ひとまず、きれいに動くようになってよかったっす。
CPUの状況は、少し置いてからあとで追記します。
9/30 追記
一晩寝かしてみました。
その結果、CPUは、いい感じに下がってます。
Application Insights のリクエスト数も適正。
むしろ少なすぎて心配になっちゃうレベルw
こうなってくると、App Service Plan を下げるか悩むところですw
コメント