日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AspNet Core下利用 app-metrics+Grafana + InfluxDB实现高大上的性能监控界面

發布時間:2023/12/4 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AspNet Core下利用 app-metrics+Grafana + InfluxDB实现高大上的性能监控界面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在日常系統工作中,我們為了洞察系統的問題和運作情況通常會記錄日志的方式來進行分析,但是在很多情況下都是被動的在出問題后才會去查日志。在很多時候,我們可能更需要相對實時的了解整個系統或者某一時段的運行的情況,諸如系統出錯的頻率以及響應時間等等指標。這些動態的準實時信息對于監控整個系統的運行和健康狀況非常重要,而本文的主角們能通過很好的配合幫助你實現這個目標,而且是一種高大上的實現方式。想想泡杯茶翹著二郎腿看著偌大的屏幕上有著一堆華麗的儀表和曲線圖,即使看不懂也很牛B的樣子啊!(誰知道我看得懂看不懂呢,是不是?)

Q: 那什么是App-Metrics?
A: App Metrics是一個開源和跨平臺的.NET庫,用于記錄應用程序中各項指標。可以在.NET Core上運行,也可以在支持.NET 4.5.2的完整.NET框架上運行。
App Metrics對底層數據源做了很好的抽象以支持很多類型的數據庫,例如:
InfluxDb、Prometheus、ElasticSearch等等。。
同時他又提供了很多Measurements比如Apdex, Gauges, Counters, Meters, Histograms 等等一大堆


1. 安裝Grafana

Q: 什么是Grafana?
A: 一個類似Kibana的可視化數據開源程序,一般配合時間序列數據庫進行配合來展示數據

這里為了方便使用docker來運行Grafana


docker run -d --name=grafana -p 3000:3000 grafana/grafana

  

接著我們確認下是否正常運行了


docker?ps?-a

  


2. 安裝 InfluxDB

InfluxDb是比較流行的時序數據庫,可以根據需要替換成Prometheus同上為了方便我們還是使用docker來運行
如果你希望每次都能保持之前docker運行收集的數據可以用docker 的-v選項把目錄映射到本機的目錄以便持久化數據

==注意influxdb有2個端口一個是admin一個database==

docker run -d -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 tutum/influxdb

  

如圖另外開一個控制臺我們看到后臺已經運行了2個容器

輸入http://127.0.0.1:8083/?訪問InfluxDb的控制界面以便創建數據庫





3. 配置AspNet Core2.x

先照常新建一個MVC項目

安裝所需的第三方庫


dotnet add package App.Metrics.Extensions.Mvcdotnet add package App.Metrics.Formatters.Jsondotnet add package App.Metrics.Extensions.Reporting.InfluxDB

  

控制臺顯示安裝成功!

  • 修改Startup.cs



using?System;using?System.Collections.Generic;?using?System.Linq;?using?System.Threading.Tasks;?using?App.Metrics.Configuration;?using?App.Metrics.Extensions.Reporting.InfluxDB;?using?App.Metrics.Extensions.Reporting.InfluxDB.Client;?using?App.Metrics.Reporting.Interfaces;?using?Microsoft.AspNetCore.Builder;?using?Microsoft.AspNetCore.Hosting;?using?Microsoft.AspNetCore.Http;?using?Microsoft.AspNetCore.HttpsPolicy;?using?Microsoft.AspNetCore.Mvc;?using?Microsoft.Extensions.Configuration;?using?Microsoft.Extensions.DependencyInjection;?namespace?WebApplication1?{?????public?class?Startup?????{?????????public?Startup(IConfiguration configuration)????????{?????????????Configuration = configuration;?????????}????????public?IConfiguration Configuration {?get; }?????????public?void?ConfigureServices(IServiceCollection services)? ? ? ??{????????#region 注冊 App-Metrics & 配置輸出report到influxdb????????????var?database =?"MyMetrics";?????????????var?uri =?new?Uri(" http://127.0.0.1:8086 ");? //本地Docker中運行的influx實例,注意InfluxDb有2個端口別搞錯? ? ? ? ? ??services.AddMetrics(options =>?????????????????{????????????????????options.WithGlobalTags((globalTags, info) =>? ? ? ? ? ? ? ? ? ??{?????????????????????????globalTags.Add("app", info.EntryAssemblyName);? ? ? ? ? ? ? ? ? ? ? ??globalTags.Add("env",?"stage");? ? ? ? ? ? ? ? ? ??});?????????????????})?????????????????.AddHealthChecks()?????????????????.AddReporting(?????????????????????factory =>?????????????????????{?????????????????????????factory.AddInfluxDb(?????????????????????????????new?InfluxDBReporterSettings?????????????????????????????{?????????????????????????????????InfluxDbSettings =?new?InfluxDBSettings(database, uri),? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??ReportInterval = TimeSpan.FromSeconds(5)? ? ? ? ? ? ? ? ? ? ? ? ? ??});?????????????????????})?????????????????.AddMetricsMiddleware(options => options.IgnoredHttpStatusCodes =?new[] {404});? ? ? ??#endregion????????????services.Configure<CookiePolicyOptions>(options =>? ? ? ? ? ??{?????????????????options.CheckConsentNeeded = context =>?true;? ? ? ? ? ? ? ??options.MinimumSameSitePolicy = SameSiteMode.None;? ? ? ? ? ??});????????????//添加Metric Filter到mvc?????????????services.AddMvc(options => options.AddMetricsResourceFilter())? ? ? ? ? ? ? ??.SetCompatibilityVersion(CompatibilityVersion.Version_2_1);? ? ? ??}????????// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.????????public?void?Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime lifetime)? ? ? ??{?????????????if?(env.IsDevelopment())?????????????{? ? ? ? ? ? ? ??app.UseDeveloperExceptionPage();? ? ? ? ? ??}?????????????else?????????????{? ? ? ? ? ? ? ??app.UseExceptionHandler("/Home/Error");? ? ? ? ? ? ? ??app.UseHsts();? ? ? ? ? ??}?????????????app.UseHttpsRedirection();?????????????app.UseStaticFiles();?????????????app.UseCookiePolicy();????????????loggerFactory.AddConsole(Configuration.GetSection(" Logging "));? ? ? ??app.UseMetrics();?????????app.UseMetricsReporting(lifetime);?????????????app.UseMvc(routes =>?????????????{?????????????????routes.MapRoute(?????????????????????name:?"default",?????????????????????template:?"{controller=Home}/{action=Index}/{id?}");? ? ? ? ? ??});?????????}?????}}

  

  • 接下來就是配置豪華的Grafana了!
    打開瀏覽器試著訪問docker內運行的Grafana容器,默認的用戶名和密碼是admin/admin 不用擔心,第一次登錄成功后系統會要求你重新設置新的密碼,很貼心!!

    登錄成功后,配置Datasource當然是選擇我們之前運行的InfluxDb

按圖進行配置

提交后,如下圖顯示即配置成功

接著就是創建你的Dashboard,可以自己建立也可以自己配置json文件導入,網上有很多例子可以直接下載


  

最后啟動AspNetCore站點,再建立點post get put什么的控制器和Action隨便訪問幾次就可以了

源代碼下載處:https://github.com/linkanyway/appmetrics_Grafana_InfluxDB_demo

(grafana.json是文中導入的dashboard配置文件)

相關文章:

  • .NET Core微服務之基于App.Metrics+InfluxDB+Grafana實現統一性能監控

  • Metrics.net + influxdb + grafana 構建WebAPI的自動化監控和預警

  • 基于Grafana+SimpleJson的靈活報表解決方案

  • .Net Core 2.0+ InfluxDB+Grafana+App Metrics 實現跨平臺的實時性能監控

原文地址https://www.cnblogs.com/linkanyway/p/metrics-grafana-influxdb-dotnet-core.html

.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的AspNet Core下利用 app-metrics+Grafana + InfluxDB实现高大上的性能监控界面的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲高清久久 | 国产精品久久久久久久久免费软件 | 明星双性精跪趴灌满h | 91视频免费网址 | 黑人3p波多野结衣在线观看 | 天天狠狠操 | 老司机午夜福利视频 | 天堂а√在线最新版中文在线 | 日韩乱码人妻无码中文字幕 | 毛片网站在线看 | 日韩欧美一区二区在线 | 国产av一区二区三区 | 91麻豆产精品久久久久久 | jzz国产| 99国产精品国产免费观看 | 波多野结衣av无码 | 欧美男优| 国产又黄又猛又爽 | 亚洲va欧美va天堂v国产综合 | 日本啪啪网 | 精品aaa| 综合网中文字幕 | 成人免费看片在线观看 | 黄色大片在线播放 | 99久久99久久久精品棕色圆 | 国产欧美一区二区三区四区 | 国产精品自拍一区 | 新红楼梦2005锦江版高清在线观看 | 日韩欧美中文字幕一区二区 | 欧美暧暧视频 | 欧美激情亚洲色图 | 狠久久| 欧美风情第一页 | 欧美巨乳在线观看 | 色欧美日韩 | 国产精品成人自拍 | 午夜欧美精品 | 亚洲免费观看高清在线观看 | 亚洲视频第一页 | 国产妞干网 | 在线观看亚洲欧美 | 日韩av在线看免费观看 | 国产亚洲欧美精品久久久www | 免费中文字幕在线观看 | 久久黄色一级视频 | 成人综合激情网 | 青青草视频免费看 | 日本亚洲色大成网站www久久 | 久久视频热 | 青青青免费在线视频 | 久久综合一区二区 | 一区二区三区四区免费视频 | 麻豆午夜 | 韩国伦理电影免费在线 | 国产美女免费无遮挡 | 日本欧美成人 | a级黄色小视频 | 久久这里精品 | a级黄色一级片 | www.天天操.com | 97人妻精品一区二区三区软件 | 久操福利视频 | 三级精品视频 | 午夜福利123 | 91在线视频精品 | 国产精品666| 欧美αv| 国产精品免费看久久久无码 | 可以在线观看的av | 成人黄色免费网 | 成人小说亚洲一区二区三区 | 欧美一区影院 | 久久久国产精品黄毛片 | 欧美日韩一| 国产精品偷乱一区二区三区 | 伊人亚洲影院 | 狠狠爱婷婷 | 国产69精品久久久久久久久久 | 无码国模国产在线观看 | 亚洲图片欧美另类 | 成人片黄网站色大片免费毛片 | 一区二区三区激情视频 | 亚洲第一综合网站 | 日本wwwwww | 俄罗斯毛片| 上床视频在线观看 | 午夜性 | av不卡一区二区三区 | 最近中文字幕在线中文视频 | 精品人妻一区二区三区麻豆91 | 国产一区二区三区 | 超碰97人人在线 | 国产婷婷一区二区三区 | 日本护士体内she精2xxx | 极品白嫩的小少妇 | 插少妇视频 | xxxx日本高清 | 8x8ⅹ国产精品一区二区二区 | 欧美专区一区 |