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

Azure Monitor からログを収集する

このページでは、使用可能なログを Azure Monitor から Event Hub に、Azure 関数に、そして最終的に Sumo Logic の Hosted Collector 上にある HTTP Source に転送するためのパイプラインを設定する手順を紹介します。Azure Monitor はログだけでなくメトリクスも収集します。下記のパイプラインは、メトリクスではなくログを収集するためのものです。

ソリューションの適合性は次のとおりです。

  • Azure Monitor はほとんどの Microsoft Azure サービスのログを収集し、データを Azure Event Hub にストリーミングします。 
  • Azure Event Hubs はデータ ストリーミング プラットフォームおよびイベント取り込みサービスです。このパイプラインでは、Event Hub は Azure Monitor によって収集されたログを Azure 関数にストリーミングします。 
  • Azure 関数は、ログを Sumo HTTP Source に、関数ログを 1 つのストレージ アカウントに、フェイルオーバー データをもう 1 つのストレージ アカウントに送信するために Event Hub によってトリガされる小規模なコードです。

ソリューション ストラテジの詳細については、「Azure のモニタリング」を参照してください。

Azure-logs.png

ログの収集を設定する

このセクションでは、Azure Monitor から Sumo Logic への取り込みパイプラインをセットアップするための手順を紹介します。  

ステップ 1.HTTP Source を設定する

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

  1. HTTP Source を設定する Hosted Collector を選択します。必要に応じて、「Hosted Collector を設定する」の説明に従って Hosted Collector を新規作成します。
  2. 「HTTP ログとメトリクス Source」の説明に従って HTTP Source を設定します。 

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

このステップでは、Sumo 提供の Azure Resource Manager (ARM) テンプレートを使用して、Event Hub、Azure 関数、2 つのストレージ アカウントを作成します。Azure 関数は Event Hub によってトリガされます。2 つのストレージ アカウントは、Azure 関数からのログ メッセージと Event Hub からのフェイルオーバー データを保存するために使用されます。

  1. azuredeploy_logs.json ARM テンプレートをダウンロードします。
  2. Azure ポータルの [Template deployment (テンプレートのデプロイ)] にアクセスします。after step2.3.png
  3. [Create (作成)] をクリックします。
  4. [Custom deployment (カスタム デプロイ)] ブレードで、[Build your own template in the editor (エディタで独自のテンプレートを作成)] をクリックします。
  5. azuredeploy_logs.json の内容をコピーして、エディタ ウィンドウに貼り付けます。after step2.6.png
  6. [Save (保存)] をクリックします。
  7. [Custom deployment (カスタム デプロイ)] ブレードに戻ります。
    1. リソース グループを新規作成する (推奨) か、既存のリソース グループを選択します。
    2. [Location (ロケーション)] を選択します。
    3. [Sumo Endpoint URL (Sumo エンドポイント URL)] フィールドで、ステップ 1 で設定した HTTP Source の URL を入力します。
    4. 利用規約に同意します。
    5. [Purchase (購入)] をクリックします。
      pipeline-custom-deployment.png
  8. Azure ポータルの右上にある [Notifications (通知)] でデプロイに成功したことを確認します。
    go-to-resource-group.png
  9. (省略可能) 同じウィンドウで、[Go to resource group (リソース グループに移動)] をクリックすれば、すべてのリソースが正常に作成されたことを確認できます。次のような画面が表示されます。
    step2.11.png
  10. [Storage accounts (ストレージ アカウント)] に移動して「sumofailmsg」を検索します[sumofailmsg<random-string>] をクリックします。
    step2.12.png
  11. [Blob Service] で、[Containers (コンテナ)] をクリックしてから [+ Container (+ コンテナ)] をクリックし、名前 azureaudit-failover を入力して、[Public Access Level (パブリック アクセス レベル)][Private (プライベート)] を選択します。[OK] をクリックします。
    step2.13.png

ステップ 3.ログを Azure Monitor から Event Hub に転送する

さまざまな Azure サービスが Azure Monitor に接続し、モニタリング データを Event Hub に送信します。詳細については、Azure ヘルプの「Azure Monitor: Send monitoring data to an event hub (Azure Monitor: モニタリング データをイベント ハブに送信する)「Azure platform monitoring data to be streamed to an event hub? (外部ツールで使用する Azure モニタリング データのイベント ハブへのストリーミング)」を参照してください。

Azure Monitor を使用して Event Hub に監査ログを転送する例として、Azure Active Directory サービスを使用しています。  

  1. Azure ポータルにログインします。
  2. [Azure Active Directory] > [Activity (アクティビティ)] > [Audit (監査)] ログをクリックします。
  3. [Export Settings (設定のエクスポート)] をクリックします。
  4. [Diagnostic Settings (診断設定)] ブレードが表示され、すでにあれば既存の設定がすべて表示されます。既存の設定を変更するには [Edit Setting (設定の編集)] をクリックし、新規の設定を追加するには [Add diagnostic setting (診断設定の追加)] をクリックします。最大 3 つの設定まで追加できます。
  5. [Stream to an event hub box (イベント ハブ ボックスにストリーミング)] をオンにして [Event hub / Configure (イベント ハブ/設定)] をクリックします。
  6. Azure サブスクリプションを選択します。
  7. ステップ 2 で作成した Event Hubs 名前空間を選択します。この名前空間は「SumoAzureLogsNamespace<UniqueSuffix>」で始まります。 
  8. [Select event hub name (イベント ハブ名の選択)] ドロップダウンから insights-operational-logs を選択します。
  9. [Select event hub policy name (イベント ハブ ポリシー名の選択)] ドロップダウンから RootManageSharedAccessKey を選択します。
  10. [OK] をクリックしてイベント ハブ設定を終了します。
  11. [Audit (監査)] というラベルが付いた [Logs (ログ)] の下のボックスをオンにします。 
  12. [Save (保存)] をクリックします。
    3.11.png

ログの収集をトラブルシューティングする

ログが Sumo Logic に取り込まれない場合、以下の手順に従って問題を調査してください。

設定を確認する

最初に、上で作成したリソースが正常に作成されていることを確認します。

  1. [Resource groups (リソース グループ)] に移動し、「ステップ 2. ARM テンプレートを使用して Azure リソースを設定する」で作成または選択したリソース グループを選択します。作成した 5 つのリソース (App Service プラン、App Service、Event Hubs 名前空間、2 つのストレージ アカウント) が表示されます。 
    step2.11.png
  2. Azure ポータルの左側のペインで、[AppServices] をクリックして「SumoAzureLogsFunctionApp」を検索します。「SumoAzureLogsFunctionApp<random-string>」 Function App が見つかります。これをクリックします。 
  3. [Function Apps] ブレードで、[Integrate (取り込み)] をクリックします。[Triggers (トリガ)] フィールドの値が「Azure Event Hubs」、[Outputs (出力)] フィールドの値が「Azure Blob Storage」であることを確認します。 
    triggers.png
  4. 同じウィンドウで、[function app settings (Function App 設定)] リンクをクリックします。[SumoLogsEndpoint] フィールドの値が HTTP Source URL に一致することを確認します。 
    application-settings.png

Event Hub がログ メッセージを受信していることを確認する

イベントがイベント ハブに表示されることを確認するには、次の手順を実行します。

  1. Azure ポータルのイベント ハブにアクセスします。
  2. [Messages (メッセージ)] リンクをクリックします。
  3. メッセージのサマリー情報がグラフの下に表示されます。[Incoming Messages (受信メッセージ)] の数が 0 より大きいことを確認します。
    event-hub-messages.png

関数を手動で実行する

以下の手順を実行して、Azure 関数がメッセージを Sumo に送信していることを確認します。

  1. [Function (関数)] ブレードで [EventHubs_Logs] をクリックします。
  2. サンプル ペイロード[Request Body (リクエスト本文)] ウィンドウにコピー & ペーストします。 
  3. [Run (実行)] をクリックします。これにより、テスト ペイロードが設定した HTTP Source の URL に送信されます。
  4. 出力を確認し、「Successfully sent to Sumo (正常に Sumo に送信されました)」ログ メッセージが表示されることを確認します。
    2018-04-17T20:30:09.681 [Info] Successfully sent to Sumo
    2018-04-17T20:30:09.681 [Info] Sent all data to Sumo. Exit now.
    2018-04-17T20:30:09.681 [Info] Function completed (Success, Id=b6ee4119-dd3e-4ba6-9cbd-484a57f822a0, Duration=90ms)
  5. Sumo で [Live Tail] タブを開き、イベントを受信することを確認します。たとえば次のような、ログ データを受信する HTTP Source に割り当てた Source Category で検索を行います。
    _sourceCategory="azure/ad"
    livetail.png

Azure の統合の FAQ

ARM (Advanced RISC Machine) アーキテクチャを使用した Azure のエンタープライズ環境への統合に関するよくある質問 (FAQ) への答えについては、「ARM を使用した Azure の統合」を参照してください。

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