Azure Web Apps の監視
以前、投稿した記事で Azure App Service に含まれる Web Apps(Web サービス)を使って、簡単な Web サイトを構築する手順を紹介いたしました。
その中では、Web Apps に .Net Framework のアプリケーションを配置し、インターネットから .Net Framework のアプリケーションへの接続を紹介しています。
今回は、少し毛色は違いますが、その Web Apps を監視する手順を解説いたします。
通常、個人的な検証で使う場合を除いて、システムを構築した場合、Web サイトの監視などサービス監視は必須だと思います。Azure では、Web サイトの監視などをおこなうことができる監視サービスが用意されていますので、そちらを使って Web Apps を監視してみたいと思います。
<この記事で学べる事>
·Web Apps の監視方法
なお、Azure の無料枠内での検証となりますので、検証費はは「0円」となります。
※検証費 = クラウドベンダーに支払う費用。
Log Analytics と Application Insights
Web Apps を監視するため、Log Analytics と Application Insights の2つのサービスを導入いたします。
Log Analytics とは?
まず、Log Analytics です。
Log Analytics とは、監視データ(ログ)を保管、または、その監視データ(ログ)を解析するツールです。
本稿の執筆時、Microsoft の公式サイトでは「Log Analytics で、毎月 5 GB の分析と 31 日間のデータ保持が無料」と紹介されています。そのため、無料枠内で利用することが可能となります。
Application Insights
続いて、Application Insights です。
Application Insights は、Web Apps や他のリソースを監視するツールです。
本稿の執筆時、Microsoft の公式サイトでは「Application Insights で、無制限のノード (SaaS または PaaS インスタンス) と 1 か月ごとに 1 GB のテレメトリ データ」と紹介されています。そのため、無料枠内で利用することが可能となります。
Log Analytics の作成
Log Analytics の作成手順を解説いたします。
Azure ポータルサイトにログインします。
[すべてのサービス] の検索ボックスに「log」を入力します。
[Log Analytics ワークスペース] が表示されます。[Log Analytics ワークスペース] をクリックします。
次に、「Log Analytics ワークスペース」画面が表示されます。
[Log Analytics ワークスペースの作成] をクリックします。
次に、「Log Analytics ワークスペース」(基本)画面が表示されます。
[プロジェクトの詳細] の [サブスクリプション]、[リソースグループ] を設定します。
また [インスタンスの詳細] の [名前]、[地域] を設定し [確認および作成] をクリックします。
次に、「Log Analytics ワークスペースの作成」(確認および作成)画面まで進めます。
設定内容を確認し誤りがなければ [作成] をクリックします。
Log Analytics が作成されました。
Log Analytics の名前は「TMLogAnalytics001」としています。
Application Insights の作成
Log Analytics が作成できましたので、続いては、Application Insights の作成手順を解説いたします。
[すべてのサービス] の検索ボックスに「application」を入力します。
[Application Insights] が表示されます。[Application Insights] をクリックします。
次に、「Application Insights」画面が表示されます。
[Application Insights アプリの作成] をクリックします。
次に、「Application Insights」(基本)画面が表示されます。
[プロジェクトの詳細] の [サブスクリプション]、[リソースグループ] を設定します。
また [ワークスペースの詳細] の [サブスクリプション]、[Log Analytics ワークスペース] を設定し [確認および作成] をクリックします。
なお [リソースモード] に [クラッシック] を指定した場合、[ワークスペースの詳細] が非表示となり [Log Analytics ワークスペース] が設定できなくなります。
次に、「Application Insights」(確認および作成)画面まで進めます。
設定内容を確認し誤りがなければ [作成] をクリックします。
Application Insights が作成されました。
Application Insights の名前は「TMAppIst01」としています。
Web Apps の設定
Application Insights が作成できましたので、続いては、監視される側の Web Apps の設定変更手順を解説いたします。
監視対象の Web Apps の設定画面を表示します。
[設定] → [Application Insights] をクリックします。
次に、「Web Apps 名 | Application Insights」画面が表示されます。
[Application Insights を有効にする] をクリックします。
次に、[リソースの変更] に [既存のリソースの選択] を選択します。
「Application Insights の作成」で作成した Application Insights を選択し [適用] をクリックします。
Web Apps の監視が有効になりました。
アラートルールの作成
Application Insights の作成や Web Apps の設定が完了しましたが、このままでは Web Apps の監視ができていないため、Web Apps を監視するため、アラートルールの作成手順を解説いたします。
また、アラートルールに違反した場合、登録したメールアドレスにアラートメールが通知されるような設定も追加いたします。
「Application Insights の作成」で作成した Application Insights を選択します。
[監視] → [アラート] をクリックします。
また [新しいアラートルール] をクリックします。
次に、「アラートルールの作成」画面が表示されます。
[条件] → [条件の追加] をクリックします。
次に、「シグナル ロジックの構成」画面が表示されます。
[Custom log search] をクリックします。
次に、[検索クエリ] にてアラート条件を設定します。また [アラートロジック] に閾値を設定し [完了] をクリックします。
本稿の例では「contact ページが1回でも表示された場合にアラートが発生する」という設定を追加しています。
次に、[アクション] → [アクショングループの追加] をクリックします。
次に、「このアラート ルールにアタッチするアクショングループを選択する」画面が表示されます。
[アクショングループを作成] をクリックします。
次に、「アクショングループの作成」画面が表示されます。
[プロジェクトの詳細] の [サブスクリプション]、[リソースグループ] を設定します。
また [インスタンスの詳細] の [アクショングループ名]、[表示名] を設定し [次へ:通知] をクリックします。
次に、「アクショングループの作成」(通知)画面が表示されます。
[通知の種類] に [電子メール/SMS メッセージ/音声] を選択します。
また「電子メール/SMS メッセージ/音声」にて、通知条件を設定し [OK] をクリックします。
本稿の例では [電子メール] を設定し、そのメールアドレスにアラートメールが通知される設定を追加しています。
次に、「アクショングループの作成」画面に戻ります。
[名前] を設定し [確認および作成] をクリックします。
次に、「アクショングループの作成」(確認および作成)画面まで進めます。
設定内容を確認し誤りがなければ [作成] をクリックします。
次に、「アラートルールの作成」画面に戻ります。
[アクションをカスタマイズ] の [メールの件名] を設定します。
また [アラート ルールの詳細] の [アラート ルール名]、[説明] を設定し [アラートルールの作成] をクリックします。
なお [リソース グループにアラート ルールを保存します] に保存するリソースグループを指定します。
アラートルールが作成されました。
動作検証
すべての監視設定が完了したため、続いては、アラートメールの検証を実施いたします。
Web ブラウザから contact ページへアクセスします。
アラート条件に「contact ページが1回でも表示された場合にアラートが発生する」を設定しているため、通知先として設定したメールアドレスにアラートメールが到着するはずです。
メールボックスを確認します。
アラートメールが到着しました!
アラートルールが正常に動作していることが確認できました。
まとめ
以上が、Azure Web Apps の監視設定となります。
いかがでしたでしょうか?
Azure では簡単に Web Apps を監視することができます。オンプレミスの環境で監視設定をおこなうとなると、監視ツールの導入やその設定、また、場合によってはツール作成等、運用にたどり着くために様々な作業が発生します。
Azure の Application Insights で全べての監視を網羅できるかは検討する余地があると思いますが、それでも、オンプレミスの環境よりは簡単に監視機能が構築できそうです。
最後に・・・
アラート ルールの作成時に [月間の推定コスト] に [$1.50] と表示されていました。
「Log Analytics や Application Insights は無料でも、アラートルールは費用がかかるよ」と、いうことなのでしょうか?
最後までお読みいただきありがとうございます。
では。