郑州建设招标办网站,网站建设公司官方网站,深圳网络推广推荐,软件开发公司企业网关的作用之一#xff0c;就是有统一的数据出入口#xff0c;基于这个功能#xff0c;我们可以在网关上配置监控#xff0c;从而把所有web服务的请求应答基本数据捕获并展显出来。 关于web的监控#xff0c;一般的做法是采集数据并保存#xff0c;然后通过图表的方式展示… 网关的作用之一就是有统一的数据出入口基于这个功能我们可以在网关上配置监控从而把所有web服务的请求应答基本数据捕获并展显出来。 关于web的监控一般的做法是采集数据并保存然后通过图表的方式展示出来所使用的数据库一般是时序数据库GraphiteInfluxDBhttps://portal.influxdata.com/downloadsOpenDSDB等本文使用的是InfluxDB展示数据一般采用一个图形化框架本文用的是Grafana(https://grafana.com/get) 首先按上面链接下载InfluxDB和Grafana InfluxDB下载后如下图 关于InfluxDB的操作有相应的命令可以参考官方文档这里不赘述我们只在这里创建一个数据库MetricsDB即可 Grafana下载后在Bin目录下grafana-server.exe为启动程序启动即可 在浏览器里输入http://localhost:3000用户名和密码都是admin进入后可修改 添加DataSource 添加Dashboards可以使用导入https://grafana.com/dashboards/2125 点击Import即可进行图形视图面板 我们使用的是App.Metricshttps://www.app-metrics.io的包来实现监控 在OcelotGateway项目中添加引用下面五个Nuget包 App.Metrics主包 App.Metrics.AspNetCore.Endpoints App.Metrics.AspNetCore.Reporting App.Metrics.AspNetCore.Tracking App.Metrics.Reporting.InfluxDB Startup.cs using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Ocelot.DependencyInjection; using Ocelot.Middleware; using Ocelot.JWTAuthorizePolicy; using App.Metrics; using System; namespace OcelotGateway { public class Startup { public Startup(IConfiguration configuration) { Configuration configuration; } public IConfiguration Configuration { get; } public void ConfigureServices(IServiceCollection services) { #region 注放Metrics var metrics AppMetrics.CreateDefaultBuilder() .Configuration.Configure( options { options.AddAppTag(RepairApp); options.AddEnvTag(stage); }) .Report.ToInfluxDb( options { options.InfluxDb.BaseUri new Uri(http://127.0.0.1:8086); options.InfluxDb.Database AppMetricsDemo; options.InfluxDb.UserName admin; options.InfluxDb.Password 123456; options.HttpPolicy.BackoffPeriod TimeSpan.FromSeconds(30); options.HttpPolicy.FailuresBeforeBackoff 5; options.HttpPolicy.Timeout TimeSpan.FromSeconds(10); options.FlushInterval TimeSpan.FromSeconds(5); }) .Build(); services.AddMetrics(metrics); services.AddMetricsReportScheduler(); services.AddMetricsTrackingMiddleware(); services.AddMetricsEndpoints(); #endregion #region 注放JWT var audienceConfig Configuration.GetSection(Audience); //注入OcelotJwtBearer services.AddOcelotJwtBearer(audienceConfig[Issuer], audienceConfig[Issuer], audienceConfig[Secret], GSWBearer); #endregion //注入配置文件AddOcelot要求参数是IConfigurationRoot类型所以要作个转换 services.AddOcelot(Configuration as ConfigurationRoot); } public void Configure(IApplicationBuilder app, IHostingEnvironment env) { #region Metrics中间件 app.UseMetricsAllMiddleware(); app.UseMetricsAllEndpoints(); #endregion app.UseOcelot().Wait(); } } } 接下来启动AuthenticationAPIDemoAAPIDemoBAPIOcelotGatewayTestClient请求几次后查看localhost:3000的监控页面如下 相关文章 Ocelot——初识基于.Net Core的API网关 Ocelot API网关的实现剖析 微服务网关Ocelot API网关Ocelot 使用Polly 处理部分失败问题 谈谈微服务中的 API 网关API Gateway Ocelot网关 Ocelot统一权限验证 应用监控怎么做 ASP.NET Core之跨平台的实时性能监控 .Net Core 2.0 InfluxDBGrafanaApp Metrics 实现跨平台的实时性能监控 应用程序的8个关键性能指标以及测量方法 使用Metrics监控应用程序的性能 下一个计划 : .NET/.NET Core应用性能管理 原文http://www.cnblogs.com/axzxs2001/p/8005101.html .NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com