2017-07-31 125 views
1

我想知道在服務結構應用程序已發佈到Azure服務器上時是否有辦法查看對我的服務結構應用程序所做的所有請求,或者至少捕獲所有請求並將其保存在一些地方,我需要信息來源和身體。如何查看請求日誌服務結構應用程序

在此先感謝!

+0

你創造什麼樣的服務?它是ASP.NET核心服務嗎?還是Web-Api? –

+0

@KirylZ它是一個無狀態的ASP.NET Core Web-API。 –

+0

您可以使用Application Insights集成,請參閱https://stackoverflow.com/questions/45386898/azure-application-insights-for-service-fabric –

回答

2

要查看所有請求和響應,首先需要將它們記錄在某處。以下是可用的方法:

  • 灑進VS雲瀏覽器

你可以使用ServiceEventSource記錄有價值的信息和 ,那麼你就可以通過連接到你的SF看看吧在VS.中通過 CloudExplorer集羣。這裏你可以找到更多的信息 - Debug your Service Fabric application by using Visual Studio

  • 的Windows Azure診斷

WAD擴展,你可以在你的VM-S上傳日誌安裝到Azure存儲,也有將日誌發送到Azure應用程序見解或事件的選項集線器。退房Event aggregation and collection using Windows Azure Diagnostics

  • EventFlow

使用EventFlow可以讓你有服務直接發送自己的日誌分析和可視化平臺,和/或存儲。其他庫(ILogger,Serilog等)也可用於同一目的,但EventFlow的優點是專門爲進行中日誌收集而設計,並支持Service Fabric服務。

  • 事件分析和可視化用OMS

當OMS配置,你將有訪問特定OMS工作空間,從那裏數據可被查詢或在儀表板可視化。 Log Analytics接收到數據後,OMS擁有多個管理解決方案,這些管理解決方案是預先打包的解決方案,用於監控針對多種情況定製的傳入數據。其中包括Service Fabric Analytics解決方案和Containers解決方案,這兩個解決方案是使用Service Fabric集羣時兩個最相關的診斷和監控解決方案。查找更多關於Event analysis and visualization with OMSAssess Service Fabric applications and micro-services with the Azure portal的信息。

還有很多方法可以捕獲源和身體,或者你需要的任何東西。下面你可以找到一些:

  1. 應用ActionFilterAttribute你的控制器類,如果你不這樣做 有一個,然後登錄你需要OnActionExecuted方法

  2. 內添加了中間件,啓動類的所有信息 -

    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); 
    } 
    
相關問題