.NetCore 中使用AppMetrics向InfluxDB中添加监控数据并通过Grafana图像分析

考虑到分布式部署监控环境是所有的请求情况,所以这一块一般在网关GateWay里面加比较省事,聚合在一起的,如果放在api服务中,如果只有1个还好,一旦部署Node多是很痛苦的事情

这天需要添加的Nuget包如下:

.NetCore 中使用AppMetrics向InfluxDB中添加监控数据并通过Grafana图像分析

在配置添加

{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
//AppMetrics配置
"AppMetrics": {
"DataBaseName": "lymtest",
"ConnectionString": "http://192.168.0.212:8086",
"UserName": "liyouming",
"Password": "lym123!@#",
"App": "体检服务",
"Env": "测试环境"
},
"AllowedHosts": "*"
}

注意使用中文一定要指定U8,不然文字会乱码,设置好连接地址 、数据库名称、用户名、密码、应用名称、应用环境

下面看下代码中的处理

配置ConfigServices服务

 AppMetricsConfig config = Configuration.GetSection("AppMetrics").Get<AppMetricsConfig>();
services.AddMetrics(AppMetrics.CreateDefaultBuilder()
.Configuration.Configure(
options =>
{
options.AddAppTag(config.App);
options.AddEnvTag(config.Env);
})
.Report.ToInfluxDb(
options =>
{
options.InfluxDb.BaseUri = new Uri(config.ConnectionString);
options.InfluxDb.Database = config.DataBaseName;
options.InfluxDb.UserName = config.UserName;
options.InfluxDb.Password = config.Password;
options.HttpPolicy.BackoffPeriod = TimeSpan.FromSeconds();
options.HttpPolicy.FailuresBeforeBackoff = ;
options.HttpPolicy.Timeout = TimeSpan.FromSeconds();
options.FlushInterval = TimeSpan.FromSeconds();
})
.Build());
services.AddMetricsReportScheduler();
services.AddMetricsTrackingMiddleware();
services.AddMetricsEndpoints();

Configure中添加需要跟踪的中间件

            app.UseMetricsAllMiddleware();
app.UseMetricsActiveRequestMiddleware();
app.UseMetricsErrorTrackingMiddleware();
app.UseMetricsPostAndPutSizeTrackingMiddleware();
app.UseMetricsRequestTrackingMiddleware();
app.UseMetricsOAuth2TrackingMiddleware();
app.UseMetricsApdexTrackingMiddleware();
app.UseMetricsAllEndpoints();
app.UseMetricsEndpoint();
app.UseMetricsTextEndpoint();
app.UseEnvInfoEndpoint();

然后运行下程序访问下一些功能,监控需要的数据已经加到InfluxDB中去了

接下来就需要把InfluxDB中的数据导入到Grafana中,下面就进入到Grafana中去Import,这里根据配置的5s从InfluxDB刷新数据

.NetCore 中使用AppMetrics向InfluxDB中添加监控数据并通过Grafana图像分析

这里可以输入Dashboard的地址,也可以直接输入ID 2125

.NetCore 中使用AppMetrics向InfluxDB中添加监控数据并通过Grafana图像分析

.NetCore 中使用AppMetrics向InfluxDB中添加监控数据并通过Grafana图像分析

Import导入可以看到Dashboard

我们也可以看下Dashboard管理中去看现有的所有Dashboard

.NetCore 中使用AppMetrics向InfluxDB中添加监控数据并通过Grafana图像分析

.NetCore 中使用AppMetrics向InfluxDB中添加监控数据并通过Grafana图像分析

这里,我程序还没有运行起来,下面我运行好程序,迅速刷新几十次可以看到下面的数据统计情况

.NetCore 中使用AppMetrics向InfluxDB中添加监控数据并通过Grafana图像分析

然后这块节本就搞定了

上一篇:Docker 镜像加速器


下一篇:poj2063 Investment