Azure Application InsightsのURL PINGを使ってURL監視

Azure Application InsightsにはURL監視が出来る可用性(URL PING)テスト機能があります。URL PINGと言う名前ですがHTTP要求を行ってサイトの応答速度等を測定する事が出来る機能になります。Azure Monitorの一部として監視アラートを上げる事も可能です。

Application Insightsの作成、URL監視(URL PINGテスト)設定、Azure Monitorを使ったアラート設定、ログ確認までをやってみました。

スポンサーリンク

Application InsightsのURL PINGとは何か

Application Insightsとは

Application Insights とは何か?(マイクロソフト社公式)

マイクロソフト社公式サイトを見るとこのように記載があります。

Application Insights は Azure Monitor の機能であり、開発者や DevOps プロフェッショナル向けの拡張可能なアプリケーション パフォーマンス管理 (APM) サービスです。 

これを一言で言ってしまうと、アプリケーションのレスポンス速度等の性能を測定を行ったりエラーを検知する事が出来るサービスになります。

Application Insightsの特徴としてSDKやApplication Insightsのエージェントを利用する事によりソースコードの改変する事なく利用する事が出来る点にあります。これは利用する言語によります。詳細はマイクロソフト社公式サイトを参照ください。

Azure Monitor Application Insights の自動インストルメンテーションまたはコードなしアタッチとは(マイクロソフト社公式)

Azure Monitorの一機能であるので監視に利用してアラートを上げる事が可能です。監視対象はマイクロソフト社公式サイトを参照ください。

Application Insights の監視対象(マイクロソフト社公式)

※今回実施する可用性テスト(URL PING)の場合はエージェント等は必要ありません。

Application Insightsで作成するリソース

Application Insightsを利用する為にはLog Analyticsワークスペースが必要なります。

    • 必要なリソース
      • Application Insights
      • Log Analyticsのワークスペース

Log Analyticsのワークスペースが必要になる理由は、Application Insightsで収集したログをLog Analyticsワークスペースに保管する為です。URL PINGの実行結果もLog Analyticsワークスペースに保管されます。

※Application Insightsで保管されるものにはログだけではなくメトリクスもあります。Appllication Insights自体の説明についてはSIOS様のサイトで非常に分かりやすく説明されております。

APMとは

APMとはApplication Performance Managementの略称です。アプリケーションやシステムの性能等のパフォーマンス管理を行います。

従来の監視とAPMが大きく異なるのはアプリケーションやシステムの応答時間を調査だけではなく、アプリケーションを構成するさまざまな要素のパフォーマンスを調査するなどアプリケーション全体の稼働状況を把握する点にあります。

URL PINGとは

Application Insightsにある可用性テストの1つになります。

アクセス先のURLを指定するだけでサイトの応答速度を計ってグラフ化したりログ保管できるとても便利なテスト機能です。

    • URL PINGの主な特徴
      •  URL PINGと言う名前だがHTTP要求を行ってURL監視を行う
      •  URLの応答有無や応答速度を測定する事が可能
      • 測定結果はログとして保管が可能
      • Azure Monitorのアラート設定を通じて監視通知が可能
      • アクセス元をグローバルから選択可能
      • Azure以外のサイトでも利用可能
      • サイト側でApplication Insightsのエージェントや設定等は何も必要がない

Application Insightsのリソース作成

Log Analyticsワークスペース作成

まず最初にApplication Insightsのログ保管に利用するLog Analyticsワークスペースを作成します。今回のこちらの設定内容で実施しています。

Log Analyticsワークスペースリソース設定内容
Log Analyticsワークスペース名 Application-Insights-Url-Ping
場所 米国東部 2
価格レベル 従量課金

作成してみます。

Log Analyticsワークスペース作成
Log Analyticsワークスペースで作成を選択します。

インスタンスの詳細でワークスペース名、地域を選択します。地域はApplication Insightsと同じにします。

※リソースグループやサブスクリプションは適時環境に合わせて選択します。

価格レベルの設定です。従量課金制を選択します。

確認および作成を選択します。

※タグを指定する場合はタグに進みます。

確認画面が表示されますので内容に問題が無ければ作成を選択します。

これでLog Analyticsワークスペースの作成は完了です。

Application Insightsのリソース作成

Application Insightsのリソースを作成します。今回のこちらの設定内容で実施しています。

Application Insightsリソース設定内容
Application Insights名 Url-Ping-Test
場所 米国東部 2
Log Analyticsワークスペース名 Application-Insights-Url-Ping

作成してみます。

Application Insightsのリソースを作成
Application Insightsで作成を選択します。

インスタンスの詳細でワークスペース名、地域を選択します。地域はLog Analyticsワークスペースと同じにします。

ワークスペースの詳細で先ほど作成したLog Analyticsワークスペースを選択します。

※リソースグループやサブスクリプションは適時環境に合わせて選択します。

確認画面が表示されます。

内容を確認し問題が無ければ作成をクリックします。

Application InsightsでURL監視(URL PING)を設定

URL PING(可用性)のテストを作成

URL PINGはApplication Insightsにある可用性テストの1つになります。

テストの設定は基本情報(テスト名や再試行)、テストの場所(アクセス元のリージョン)、成功の条件(HTTP応答ステータスやタイムアウト値)、警告(アラートの有効可否)の5つの項目からなります。

今回はこちらのテスト内容で設定してみました。こちらを参考に設定を進めます。

可用性テスト設定内容(記載内容以外はデフォルト値)
テスト名 Yahoo-Test
SKU URL PING
URL https://www.yahoo.co.jp/
従属要求の解析 チェック有(Web ページのイメージ、スクリプト、スタイル ファイル、等を含むかの選択です。実際のサイトの表示時間に近くするにはチェック有を選択します。)
テストの場所

UK West
Southeast Asia
Japan East
East US
East Asia

テストを作成してみます。

テストの作成

Application Insightsのメニューで可用性を選択します。

Add Classic testと言う項目がありますのでこちらを選択します。

テストの作成画面が表示されます。

テスト名や監視対象のURLを入力します。

従属要求の解析にチェックを入れます。

※テストの頻度5分は1か所からのアクセスが5分間隔になります。テストの場所を5個選択するとサイトへのアクセス頻度は1分に1回になります。

テストの場所(アクセス元になるリージョン)を選択します。

成功の条件を入力します。

今回は変更しませんが、コンテンツの一致を使う事でコンテンツに含む文字列を指定する事が出来ます。

アラートの状態です。今回は後でアラート設定も行いますので有効を選択します。

※有効を選択するとAzure Monitorにデフォルトでルールを作成してくれます。

作成するとURL PING(URL監視)の可用性テストが作成されている事が分かります。

可用性テスト(URL PING)のアラート設定

作成した可用性(URL PING)テストでアラート設定を行います。

アラート設定
先ほど作成した可用性テストで規則(アラート)ページを選択します。

Azure Monitorのアラートルース設定画面が表示されます。

ルールをクリックします。

アラートルールの設定画面になります。

すべて設定されており、アクションの選択だけで設定は完了します。

今回は変更しませんが条件を見てみます。

アラートの条件はデフォルトで2回になっています。

5か所からのアクセスで2か所NGになるとアラートが発生する事になります。

アクショングループの追加を選択します。

アクショングループを選択します。

設定が完了したら保存をクリックします。

これでアラート設定は完了です。

可用性テスト(URL PING)のログ確認

可用性テストのログはLog AnalyticsワークスペースにジャンルがavailabilityResultsとして保管されます。確認してみます。

可用性テストのログ確認
可用性のメニューでログに表示を選択します。
デフォルトで可用性テストのクエリが実行されます。

ジャンルをavailabilityResultsと指定して検索してみると可用性テストのログが保管されている事が分かりました。

 

成功している場合はmessageにPassedと表示されます。

非常に簡単に設定できてお手軽にURL監視できました。Azure Monitorにもルールが作成されるためアラート設定まで簡単に使えそうな感じでした。

※確認が終わったらテストの削除しておきましょう。