メインコンテンツまでスキップ
Sumo Logic Japanese

Azure Web Apps のログの収集

このページでは、Azure Web Apps 用 Sumo Logic アプリケーションのログを収集する手順について説明します。

要件

  • 汎用 v2 (GPv2) および Blob ストレージ アカウントのみがサポートされています。この統合では、汎用 v1 (GPv1) アカウントはサポートされません。  
  • Azure WebApp サービスと同じ場所でストレージ アカウントを設定します。

ステップ 1.Azure ストレージ アカウントを設定する

このステップでは、Azure WebApp サービスのモニタリング データをエクスポートするストレージ アカウント (汎用 v2 または Blob ストレージ) を設定します。

この目的で使用するストレージ アカウントがある場合は、その接続文字列を書き留めてステップ 2 に進みます。ない場合は、新しいストレージ アカウントを作成します。手順については、Azure ヘルプの「ストレージ アカウントの作成」を参照してください。

ストレージ アカウントの接続文字列を取得するには、次の手順を実行します。

  1. Azure ポータルの左側のペインで [Storage accounts (ストレージ アカウント)] を選択します。 
  2. ログのエクスポート用に作成したストレージ アカウントを選択します。
  3. [Settings (設定)][Access keys (アクセス キー)] を選択し、[key1] セクションの [Connection String (接続文字列)] の値を書き留めます。

ステップ 2.Azure ポータルで診断を有効にする

このステップでは、Azure Web アプリの Blob ログ ストレージを有効にします。関連情報については、Azure ヘルプの「Azure App Service でのアプリの診断ログの有効化」を参照してください。

  1. Https://portal.azure.com/ にログインします。
  2. Azure Web アプリに移動して、[Monitoring (モニタリング)] > [Diagnostics logs (診断ログ)] をクリックします。
  3. [Application Logging (Blob) (アプリケーションのロギング (Blob))][On (オン)] をクリックします。
  4. [Level (レベル)][Information (情報)] を選択します。
  5. [Storage Settings (ストレージ設定)] をクリックし、Web アプリケーションのログの格納に使用するストレージ アカウント (ステップ 1 で作成したまたは使用するように指定したストレージ アカウント) を選択します。
  6. [Add Container (コンテナの追加)] をクリックします。
  7. [Web server logging (Web サーバのロギング)][Storage (ストレージ)] を選択します。
  8. [Storage Settings (ストレージ設定)] をクリックし、ステップ 5 と同じ設定を選択します。

ステップ 3.HTTP ソースを設定する

このステップでは、Azure 関数からログを受信するための HTTP ソースを設定します。

  1. HTTP ソースを設定するホスト型コレクタを選択します。必要に応じて、「ホスト型コレクタを設定する」の説明に従ってホスト型コレクタを新規作成します。
  2. 「HTTP ログとメトリクス ソース」の説明に従って HTTP ソースを設定します。次のステップで必要になるため、ソースの URL を書き留めます。

ステップ 4.ARM テンプレートを使用して Azure リソースを設定する

このステップでは、Sumo 提供の Azure Resource Manager (ARM) テンプレートを使用して、Event Hub、3 つの Azure 関数、Service Bus キュー、ストレージ アカウントを作成します。

  1. blobreaderdeploy.json ARM テンプレートをダウンロードします。
  2. Azure ポータルの [Template deployment (テンプレートのデプロイ)] にアクセスします。
    template-deployment.png
  3. [Create (作成)] をクリックします。
  4. [Custom deployment (カスタム デプロイ)] ブレードで、[Build your own template in the editor (エディタで独自のテンプレートを作成)] をクリックします。
  5. テンプレートの内容をコピーして、エディタ ウィンドウに貼り付けます。
    edit-template.png
  6. [Save (保存)] をクリックします。
  7. [Custom deployment (カスタム デプロイ)] ブレードに戻ります。
    1. リソース グループを新規作成する (推奨) か、既存のリソース グループを選択します。
    2. [Location (ロケーション)] を選択します。
    3. SumoEndpointURL パラメータの値をステップ 3 で設定した HTTP ソースの URL に設定します。
    4. StorageAcccountConnectionString パラメータの値をステップ 1 で書き留めた接続文字列の値に設定します。
    5. 利用規約に同意します。
    6. [Purchase (購入)] をクリックします。
      customized-deployment.png
  8. Azure ポータルの右上にある [Notifications (通知)] でデプロイに成功したことを確認します。
    notification-success.png
  9. (省略可能) 同じウィンドウで、[Go to resource group (リソース グループに移動)] をクリックすれば、すべてのリソースが正常に作成されたことを確認できます。次のような画面が表示されます。
    all-resources.png
  10. [Storage accounts (ストレージ アカウント)] に移動して「sumobrlogs」を検索します。「sumobrlogs<random-string>」をクリックします。
    storage-accounts.png
  11. [Table Service (テーブル サービス)] で、以下を実行します。
    1. [Tables (テーブル)] をクリックします。
    2. [+ Table (+ テーブル)] をクリックします。
    3. [Name (名前)] に「FileOffsetMap」と入力します。
  12. [OK] をクリックします。
    create-table.png

ステップ 5.Event Grid サブスクリプションを作成する

  1. Azure ポータルの左側のペインで、[All Services (すべてのサービス)] をクリックします。「Event Grid サブスクリプション」を検索してクリックします。
    event-grid-subscription.png
  2. [Event subscriptions (イベント サブスクリプション)] ページで、[+Event Subscription (+イベント サブスクリプション)] をクリックします。
    event-subscriptions.png
  3. [Create Event Subscription (イベント サブスクリプションの作成)] ペインが表示されます。
    create-event-subscription.png
    1. Topic Type (トピック タイプ): ストレージ アカウントを選択します。
    2. Subscription (サブスクリプション): サブスクリプションを選択します。
    3. Resource Group (リソース グループ): Azure サービスがログをエクスポートするストレージ アカウント (ステップ 1 で作成) のリソース グループを選択します。 
    4. Resource (リソース): ステップ 1 で設定したストレージ アカウントを選択します。 
    5. [Event Types (イベント タイプ)] セクションで、以下を実行します。
      1. [Subscribe to all event types (すべてのイベント タイプにサブスクライブ)] ボックスをオフにします。
      2. [Define Event Types (イベント タイプの定義)] ドロップダウンから [Blob Created (Blob 作成済み)] を選択します。
    6. [Endpoint Type (エンドポイント タイプ)]: ドロップダウンから [Event Hubs] を選択します。 
    7. Endpoint (エンドポイント):  [Select an endpoint (エンドポイントの選択)] をクリックします。 
    8. [Select Event Hub (Event Hub の選択)] ポップアップが表示されます。
      select-event-hub.png
      1. Resource Group (リソース グループ)ステップ 4 で作成したリソース グループを選択します。 
      2. Event Hub Namespace (Event Hub 名前空間): SUMOBREventHubNamespace<unique string> を選択します。
      3. Event Hub: ドロップダウンから blobreadereventhub を選択します。
      4. [Confirm Selection (選択の確認)] をクリックします。
    9. [Event Subscription Details (イベント サブスクリプションの詳細)] セクションで、以下を実行します。
      1. Name (名前)。サブスクリプション名を入力します。
      2. Event Schema (イベント スキーマ): ドロップダウンから [Event Grid Schema (Event Grid スキーマ)] を選択します。
    10. [Filters (フィルタ)] セクションで、コンテナ名でイベントを絞り込むには、[Subject Begins With (次で開始する件名)] フィールドに以下を入力し、<container_name>ステップ 2 で作成したコンテナの名前に置換します。
      /blobServices/default/containers/<container_name>/
    11. [Create (作成)] をクリックします。
  4. Azure ポータルの右上にある [Notifications (通知)] でデプロイに成功したことを確認します。

トラブルシューティング 

上記の設定を実行した後にログが Sumo Logic に取り込まれない場合、「Azure Blob Storage のログ収集をトラブルシューティングする」を参照してください。

ログ メッセージのサンプル

2017-09-25 23:27:36 eShopCart GET / X-ARR-LOG-ID=9b3056e8-21d5-43f7-8fd7-4aec6b29525e 80 - 60.4.192.44 Mozilla/5.0+(Macintosh+NT+6.3;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/60.4.192.44+Safari/537.36 PHPSESSID=tv2iv6tn8c9su542l464ibaro5;+ARRAffinity=d6c6606b1a249bd37139b09d6c2cb4dd61f6b5cd607f934012aca86bd59515444 - eShopCart.azurewebsites.net 200 0 0 3098 1008 1000

クエリのサンプル

トラフィックの経時的な外れ値

_sourceCategory=Azure/Web-app
| parse regex "\d+-\d+-\d+ \d+:\d+:\d+ (?<s_sitename>\S+) (?<cs_method>\S+) (?<cs_uri_stem>\S+) (?<cs_uri_query>\S+) (?<src_port>\S+) (?<src_user>\S+) (?<client_ip>\S+) (?<cs_user_agent>\S+) (?<cs_cookie>\S+) (?<cs_referrer>\S+) (?<cs_host>\S+) (?<sc_status>\S+) (?<sc_substatus>\S+) (?<sc_win32_status>\S+) (?<sc_bytes>\S+) (?<cs_bytes>\S+) (?<time_taken>\S+)"
| timeslice 5m
| count by _timeslice
| outlier _count

  • この記事は役に立ちましたか?