Azure Application InsightsのURL PING機能を利用したURL監視について

Application Insights,Azure,Monitor

Azure Application Insightsには、URL監視が可能な可用性(URL PING)テスト機能があります。
URL PINGという名称ですが、実際にはHTTPリクエストを送信し、サイトの応答速度や可用性を測定できる機能です。
また、Azure Monitorの機能と連携して監視アラートを発報することも可能です。
WebサイトやAPIの可用性を監視し、障害の検知や自動通知を行いたい場合に役立つ機能です。

今回は、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の一機能であるため、監視に利用してアラートを発報することが可能です。

監視

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

Application Insightsで作成するリソース

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

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

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

※なお、Application Insightsで保存されるデータには、ログだけでなくメトリクスも含まれます。

APMとは

APMとはApplication Performance Managementの略称です。
アプリケーションやシステムのパフォーマンス管理を行う仕組みを指します。
従来の監視とAPMが大きく異なる点は、アプリケーションやシステムの応答時間の調査だけでなく、アプリケーションを構成するさまざまな要素のパフォーマンスも分析し、アプリケーション全体の稼働状況を包括的に把握できることにあります。

URL PINGとは

Application Insightsには可用性テスト機能があり、その1つがURL PINGです。
アクセス先のURLを指定するだけで、サイトの応答速度を計測してグラフ化したり、ログとして保存できる便利なテスト機能です。

    • URL PINGの主な特徴
      • HTTPリクエストを送信してURLの監視を行う
      • URLの応答有無や応答速度を測定可能
      • 測定結果はログとして保存できる
      • Azure Monitorのアラート設定を利用して監視通知が可能
      • アクセス元をグローバルなリージョンから選択できる
      • Azure以外のWebサイトにも利用可能
      • サイト側でApplication Insightsのエージェントや特別な設定は不要

Application Insightsのリソース作成

Log Analyticsワークスペース作成

Application Insightsのログ保存先として利用するLog Analyticsワークスペースを作成します。
今回は以下の設定内容でリソースを作成しています。

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

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つです。
簡単に設定することができます。

Application Insights 可用性テスト

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

今回は以下の設定内容で可用性テストを作成しています。

可用性テスト設定内容
テスト名 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回になっています。
デフォルト設定では、55か所のロケーションのうち、2か所でアクセスが失敗した場合にアラートが発生します。

 

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

保存を選択します。
これでアラートルールの設定は完了です。

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

可用性テストのログはLog AnalyticsワークスペースにavailabilityResultsとして保管されます。

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

availabilityResultsテーブルを指定して検索すると、可用性テストのログが保管されていることが分かります。

 

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

※確認が終わったらテストを削除します。

—広告—

最後に

今回は、Application Insightsの作成やURL監視(URL PINGテスト)の設定手順について確認しました。
非常に簡単に設定でき、複数のリージョンから監視できる点も利点だと感じました。
アラートルールも自動的に作成できるため、お手軽にURL監視を開始できます。
また、アラートルールはアクションルールの設定のみですぐに利用できるため、とても便利だと思いました。

スポンサーリンク