2017-07-31 2 views
1

サービスファブリックアプリケーションがすでにアジールサーバーに公開されている間に、または少なくともすべてのリクエストをキャプチャして保存している間に、そのリクエストがすべて表示されるかどうかを知りたいのですがいくつかの場所、私はソースとボディのような情報が必要です。リクエストログを見る方法サービスファブリックアプリケーション

ありがとうございます!

+0

あなたはどのようなサービスを作成するのですか?それはASP.NETコアサービスですか?またはWeb-Api? –

+0

@KirylZステートレスASP.NETコアWeb-APIです。 –

+0

Application Insightsインテグレーションを使用できます。https://stackoverflow.com/questions/45386898/azure-application-insights-for-service-fabricを参照してください。 –

答えて

2

すべてのリクエストとレスポンスを確認するには、まずそれらをどこかに記録する必要があります。ここで利用可能なアプローチは、以下のとおりです。

  • はVSクラウドExplorerにストリーミング

あなたは、あなたがあなたのSFに取り付けることによって、それを見ることができるようになります貴重な情報と をログに記録するServiceEventSourceを使用することができますVSのCloudExplorer 経由でクラスタここであなたは詳細情報 - Debug your Service Fabric application by using Visual Studioを見つけることができます。

  • のWindows Azureの診断

あなたはAzureストレージにあなたのVM-sのアップロードログにインストールし、またAzureのアプリケーションの洞察やイベントにログを送信するためのオプションを持っている可能性がWAD拡張ハブチェックアウト:Event aggregation and collection using Windows Azure Diagnostics

  • EventFlow

EventFlowを使用して、あなたはサービスが解析や可視化プラットフォームへの、および/またはストレージに直接自分のログを送信持つことができます。他のライブラリ(ILogger、Serilogなど)も同じ目的で使用できますが、EventFlowはインプロセスログ収集とService Fabricサービスをサポートするために特別に設計されているという利点があります。 OMSが設定されている場合はOMS

  • イベント解析と可視化は、あなたがデータをダッシュ​​ボードで照会または可視化することができるところから、特定のOMSのワークスペースにアクセスできるようになります。 ログ・アナリティクスでデータを受信した後、OMSには、いくつかのシナリオに合わせてカスタマイズされた、受信データを監視するためのパッケージ化されたソリューションである管理ソリューションがいくつかあります。これには、サービスファブリッククラスタを使用する場合の診断と監視の最も重要な2つのサービスファブリック分析ソリューションとコンテナソリューションが含まれます。 Event analysis and visualization with OMSAssess Service Fabric applications and micro-services with the Azure portalの詳細については、こちらをご覧ください。

    また、ソースとボディー、または必要なものをキャプチャする方法はいくつかあります。以下は、いくつか見つけることができる:あなたは 、1つを持っている、とあなたがスタートアップクラスでミドルウェアを追加OnActionExecutedメソッド内

  • を必要とするすべての情報を記録していない場合は、あなたのコントローラクラスにActionFilterAttributeを適用

    1. を -

      public static void ConfigureApp(IAppBuilder appBuilder) 
      { 
          // Configure Web API for self-host. 
          HttpConfiguration config = new HttpConfiguration(); 
      
          config.Routes.MapHttpRoute(
           name: "DefaultApi", 
           routeTemplate: "api/{controller}/{id}", 
           defaults: new { id = RouteParameter.Optional } 
          ); 
      
      
          appBuilder.Use(async (IOwinContext context, Func<Task> next) => 
          { 
           await next.Invoke(); 
           // log anything you want here 
           ServiceEventSource.Current.Message($"Response status code = {context.Response.StatusCode}"); 
          }); 
      
          appBuilder.UseWebApi(config); 
      } 
      
関連する問題