yotiky Tech Blog

とあるエンジニアの備忘録

Application Insights に出力された例外を検知する

目次

検証環境

  • Azure Functions v3
  • Application Insights

概要

Azure Monitor はクラウドおよびオンプレミス環境のアプリケーションとサービスのテレメトリを収集、分析し、問題に対応するための包括的なソリューションで、複数の機能を提供している。 Application Insights もアラートも Azure Monitor の一機能となる。

docs.microsoft.com

docs.microsoft.com

今回は、Azure Function の Application Insights で、ログのクエリを元に例外が発生していた場合にメールで通知するアラートを作成する。

設定

Azure Functions で Application Insights を設定した場合、未処理の例外は exceptions にスタックされる。

監視 > ログ から exceptions を検索するクエリを実行すると次のような結果が表示される。

f:id:yotiky:20210316222406p:plain

クエリを条件にルールを作成する場合、タブ内右上の「新しいアラートルール」からアラートのルールを作成する。

条件に警告が出るので内容を修正する。

f:id:yotiky:20210316222823p:plain

直近5分でクエリ結果が1件以上あった場合をトリガーに、5分間隔で実行されるように設定する。

f:id:yotiky:20210316223152p:plain

アクショングループの追加から、アクショングループを作成する。

f:id:yotiky:20210316223608p:plain

f:id:yotiky:20210316223740p:plain

電子メールを送信するように設定。

f:id:yotiky:20210316223753p:plain

Application Insights のログを使って5分間隔で評価する場合、$1.5 / 月(価格ページだと¥168 表記) の料金が発生する。間隔を長くすると少し安くなる。条件を追加すると条件毎に料金が加算される。

f:id:yotiky:20210316223830p:plain

作成したルールは、アラートルールの管理から確認できる。

f:id:yotiky:20210316224831p:plain

通知

クエリの条件に一致した場合、つまり例外が発生していた場合は次のようなメールが届く。 View をクリックすると、Application Insights のログでクエリを実行したページが開く。

f:id:yotiky:20210316225605p:plain

また、アラートのページにはサマリが表示されるようになる。

f:id:yotiky:20210316225801p:plain

参考