.NetCore 中使用AppMetrics向InfluxDB中新增監控資料並通過Grafana影象分析
阿新 • • 發佈:2018-11-05
考慮到分散式部署監控環境是所有的請求情況,所以這一塊一般在閘道器GateWay裡面加比較省事,聚合在一起的,如果放在api服務中,如果只有1個還好,一旦部署Node多是很痛苦的事情
這天需要新增的Nuget包如下:
在配置新增
{ "Logging": { "LogLevel": { "Default": "Warning" } }, //AppMetrics配置 "AppMetrics": { "DataBaseName": "lymtest", "ConnectionString": "http://192.168.0.212:8086", "UserName": "liyouming", "Password": "[email protected]#", "App": "體檢服務", "Env": "測試環境" }, "AllowedHosts": "*" }
注意使用中文一定要指定U8,不然文字會亂碼,設定好連線地址 、資料庫名稱、使用者名稱、密碼、應用名稱、應用環境
下面看下程式碼中的處理
配置ConfigServices服務
AppMetricsConfig appMetricsConfig = Configuration.GetSection("AppMetrics").Get<AppMetricsConfig>(); var uri = new Uri(appMetricsConfig.ConnectionString); var metrics = AppMetrics.CreateDefaultBuilder() .Configuration.Configure( options => { options.AddAppTag(appMetricsConfig.App); options.AddEnvTag(appMetricsConfig.Env); }) .Report.ToInfluxDb( options=> { options.InfluxDb.BaseUri = uri; options.InfluxDb.Database = appMetricsConfig.DataBaseName; options.InfluxDb.UserName = appMetricsConfig.UserName; options.InfluxDb.Password = appMetricsConfig.Password; 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();
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重新整理資料
這裡可以輸入Dashboard的地址,也可以直接輸入ID 2125
Import匯入可以看到Dashboard
我們也可以看下Dashboard管理中去看現有的所有Dashboard
這裡,我程式還沒有執行起來,下面我執行好程式,迅速重新整理幾十次可以看到下面的資料統計情況
然後這塊節本就搞定了