azure - 如何查看请求日志 Service Fabric 应用程序

标签 azure logging request azure-service-fabric

我想知道是否有办法查看对我的服务结构应用程序发出的所有请求,同时它已经发布在 azure 服务器上,或者至少捕获所有请求并将它们保存在某个地方,我需要诸如源之类的信息和 body 。

提前致谢!

最佳答案

要查看所有请求和响应,您首先需要将它们登录到某个地方。以下是可用的方法:

  • 流式传输到 VS Cloud Explorer

您可以使用 ServiceEventSource 来记录有值(value)的信息并 然后您将能够通过连接到您的 SF 集群来看到它 VS 中的 CloudExplorer。您可以在这里找到更多信息 - Debug your Service Fabric application by using Visual Studio .

  • Windows Azure 诊断

您可以在 VM 上安装的 WAD 扩展会将日志上传到 Azure 存储,并且还可以选择将日志发送到 Azure Application Insights 或事件中心。查看Event aggregation and collection using Windows Azure Diagnostics .

  • 事件流

使用 EventFlow允许您让服务将其日志直接发送到分析和可视化平台和/或存储。其他库(ILogger、Serilog 等)可能用于相同目的,但 EventFlow 的优点是专为进程内日志收集和支持 Service Fabric 服务而设计。

  • 使用 OMS 进行事件分析和可视化

配置 OMS 后,您将可以访问特定的 OMS 工作区,可以在仪表板中查询或可视化数据。 Log Analytics 收到数据后,OMS 拥有多个管理解决方案,这些解决方案是用于监控传入数据的预打包解决方案,并针对多种场景进行了定制。其中包括 Service Fabric 分析解决方案和容器解决方案,这是使用 Service Fabric 群集时与诊断和监控最相关的两个解决方案。查找更多信息 Event analysis and visualization with OMSAssess Service Fabric applications and micro-services with the Azure portal .

您可以通过多种方式捕获源代码和正文,或者您需要的任何内容。您可以在下面找到一些:

  1. 如果不这样做,请在 Controller 类上应用 ActionFilterAttribute 拥有一个,并在 OnActionExecuted 方法中记录您需要的所有信息

  2. 在 Startup 类中添加中间件 -

    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);
    }
    

关于azure - 如何查看请求日志 Service Fabric 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45424831/

相关文章:

sql-server - 维护为拆分成多个表的实体的审核日志

nginx - 当用户中止请求时,如何让 PHP-FPM 进程终止? (Nginx)

asp.net - 使用 ASP.Net 2.0 创建 SOAP 请求

azure - 为什么 Azure AD B2C 不接受 Office 365 电子邮件地址?

php - 如何在try/catch语句laravel中记录错误?

c# - Windows 服务到 Azure?

java - 如何使用log4j创建放置在网络路径中的日志文件?

javascript - Jquery ajax 请求完成但 Axios 失败

visual-studio - 如何启用 Azure MFA 来部署 Web 服务?

azure - API 连接失败,错误代码为 'Forbidden'