我想知道在服务结构应用程序已发布到Azure服务器上时是否有办法查看对我的服务结构应用程序所做的所有请求,或者至少捕获所有请求并将其保存在一些地方,我需要信息来源和身体。如何查看请求日志服务结构应用程序
在此先感谢!
我想知道在服务结构应用程序已发布到Azure服务器上时是否有办法查看对我的服务结构应用程序所做的所有请求,或者至少捕获所有请求并将其保存在一些地方,我需要信息来源和身体。如何查看请求日志服务结构应用程序
在此先感谢!
要查看所有请求和响应,首先需要将它们记录在某处。以下是可用的方法:
你可以使用ServiceEventSource记录有价值的信息和 ,那么你就可以通过连接到你的SF看看吧在VS.中通过 CloudExplorer集群。这里你可以找到更多的信息 - Debug your Service Fabric application by using Visual Studio。
WAD扩展,你可以在你的VM-S上传日志安装到Azure存储,也有将日志发送到Azure应用程序见解或事件的选项集线器。退房Event aggregation and collection using Windows Azure Diagnostics。
使用EventFlow可以让你有服务直接发送自己的日志分析和可视化平台,和/或存储。其他库(ILogger,Serilog等)也可用于同一目的,但EventFlow的优点是专门为进行中日志收集而设计,并支持Service Fabric服务。
当OMS配置,你将有访问特定OMS工作空间,从那里数据可被查询或在仪表板可视化。 Log Analytics接收到数据后,OMS拥有多个管理解决方案,这些管理解决方案是预先打包的解决方案,用于监控针对多种情况定制的传入数据。其中包括Service Fabric Analytics解决方案和Containers解决方案,这两个解决方案是使用Service Fabric集群时两个最相关的诊断和监控解决方案。查找更多关于Event analysis and visualization with OMS和Assess Service Fabric applications and micro-services with the Azure portal的信息。
还有很多方法可以捕获源和身体,或者你需要的任何东西。下面你可以找到一些:
应用ActionFilterAttribute你的控制器类,如果你不这样做 有一个,然后登录你需要OnActionExecuted方法
内添加了中间件,启动类的所有信息 -
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);
}
你创造什么样的服务?它是ASP.NET核心服务吗?还是Web-Api? –
@KirylZ它是一个无状态的ASP.NET Core Web-API。 –
您可以使用Application Insights集成,请参阅https://stackoverflow.com/questions/45386898/azure-application-insights-for-service-fabric –