如何查看请求日志 Service Fabric 应用程序
How to see request logs Service Fabric Application
我想知道是否有办法在我的服务结构应用程序已经发布在 Azure 服务器上时查看对它发出的所有请求,或者至少捕获所有请求并将它们保存在某个地方,我需要信息像源和正文。
提前致谢!
要查看所有请求和响应,您首先需要将它们登录到某处。以下是可用的方法:
- 流式传输到 VS Cloud Explorer
您可以使用 ServiceEventSource 来记录有价值的信息和
然后您将能够通过以下方式连接到您的 SF 集群来查看它
VS 中的 CloudExplorer。您可以在此处找到更多信息 - 调试您的
使用 Visual 的 Service Fabric 应用程序
工作室.
- Windows Azure 诊断
您可以在 VM 上安装的 WAD 扩展将日志上传到 Azure 存储,并且还可以选择将日志发送到 Azure Application Insights 或事件中心。查看 Event aggregation and collection using Windows Azure Diagnostics.
- EventFlow
使用 EventFlow 可以让服务将它们的日志直接发送到分析和可视化平台,and/or 到存储。其他库(ILogger、Serilog 等)可能用于相同目的,但 EventFlow 的优势在于专为进程内日志收集和支持 Service Fabric 服务而设计。
- 使用 OMS 进行事件分析和可视化
配置 OMS 后,您将有权访问特定的 OMS 工作区,从中可以在仪表板中查询或可视化数据。
Log Analytics 收到数据后,OMS 有多个管理解决方案,这些管理解决方案是预先打包的解决方案,用于监控传入数据,并针对多个场景进行定制。其中包括 Service Fabric Analytics 解决方案和 Containers 解决方案,它们是使用 Service Fabric 群集时与诊断和监视最相关的两个解决方案。在 Event analysis and visualization with OMS and Assess Service Fabric applications and micro-services with the Azure portal.
上查找更多信息
您可以通过多种方式捕获源代码和正文,或者您需要的任何内容。您可以在下面找到一些:
在你的控制器上应用 ActionFilterAttribute class 如果你不这样做
有一个,并在 OnActionExecuted 方法中记录您需要的所有信息
在启动中添加中间件class -
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 服务器上时查看对它发出的所有请求,或者至少捕获所有请求并将它们保存在某个地方,我需要信息像源和正文。
提前致谢!
要查看所有请求和响应,您首先需要将它们登录到某处。以下是可用的方法:
- 流式传输到 VS Cloud Explorer
您可以使用 ServiceEventSource 来记录有价值的信息和 然后您将能够通过以下方式连接到您的 SF 集群来查看它 VS 中的 CloudExplorer。您可以在此处找到更多信息 - 调试您的 使用 Visual 的 Service Fabric 应用程序 工作室.
- Windows Azure 诊断
您可以在 VM 上安装的 WAD 扩展将日志上传到 Azure 存储,并且还可以选择将日志发送到 Azure Application Insights 或事件中心。查看 Event aggregation and collection using Windows Azure Diagnostics.
- EventFlow
使用 EventFlow 可以让服务将它们的日志直接发送到分析和可视化平台,and/or 到存储。其他库(ILogger、Serilog 等)可能用于相同目的,但 EventFlow 的优势在于专为进程内日志收集和支持 Service Fabric 服务而设计。
- 使用 OMS 进行事件分析和可视化
配置 OMS 后,您将有权访问特定的 OMS 工作区,从中可以在仪表板中查询或可视化数据。 Log Analytics 收到数据后,OMS 有多个管理解决方案,这些管理解决方案是预先打包的解决方案,用于监控传入数据,并针对多个场景进行定制。其中包括 Service Fabric Analytics 解决方案和 Containers 解决方案,它们是使用 Service Fabric 群集时与诊断和监视最相关的两个解决方案。在 Event analysis and visualization with OMS and Assess Service Fabric applications and micro-services with the Azure portal.
上查找更多信息您可以通过多种方式捕获源代码和正文,或者您需要的任何内容。您可以在下面找到一些:
在你的控制器上应用 ActionFilterAttribute class 如果你不这样做 有一个,并在 OnActionExecuted 方法中记录您需要的所有信息
在启动中添加中间件class -
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); }