真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ASP.NETCore之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

應(yīng)用程序的8個(gè)關(guān)鍵性能指標(biāo)以及測(cè)量方法

最后賣了個(gè)小關(guān)子,是關(guān)于如何監(jiān)控ASP.NET Core的.

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、虛擬主機(jī)、營(yíng)銷軟件、網(wǎng)站建設(shè)、茫崖網(wǎng)站維護(hù)、網(wǎng)站推廣。

今天我們就來(lái)講講如何監(jiān)控它,下面上效果圖:

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

 

閱讀本文需要了解的相關(guān)技術(shù)與內(nèi)容:

InfluxDb(分布式時(shí)序數(shù)據(jù)庫(kù),開(kāi)源)(注:分布式部分已商業(yè)化最新的分布式版本已不在開(kāi)源,單例的繼續(xù)開(kāi)源)

Grafana(開(kāi)源的,功能齊全的度量?jī)x表盤(pán)和圖形編輯器)

App Metrics(主角,開(kāi)源的支持.NET Core的監(jiān)控插件,采用管道注入的方式,對(duì)代碼的***性極小)

本文測(cè)試環(huán)境為Windows64位,當(dāng)然 這個(gè)方案全部都可以在linux上實(shí)現(xiàn)(甚至windows才應(yīng)該是備用方案 - -,尷尬.)

 

所以本文分為3個(gè)步驟

1.安裝InfluxDb,并創(chuàng)建數(shù)據(jù)庫(kù)

2.安裝Grafana,并添加相關(guān)配置

3.在ASP.NET Core中使用App Metrics

下面我們正式開(kāi)始

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

 

 

正文

 

1.安裝InfluxDb,并創(chuàng)建數(shù)據(jù)庫(kù)

App.Metrics支持的庫(kù)很多,有InfluxDB、Graphite 、Prometheus.

今天我們主要已InfluxDb為例子.

首先下載,InfluxDb

知道你們懶得找..地址如下:https://portal.influxdata.com/downloads#influxdb

下載你需要的對(duì)應(yīng)的系統(tǒng)的版本.這里我就直接下載Windows Binaries (64-bit)

linux的安裝步驟我就不多說(shuō)了,網(wǎng)上一大把..講一下windows安裝InfluxDb的注意事項(xiàng)(..這玩意對(duì)liunx的支持比windows好的多)..

解壓后打開(kāi)influxdb.conf,因?yàn)閕nfluxdb的默認(rèn)配置全是針對(duì)linux配置的..所以我們要修改一下配置文件.

修改下面3個(gè)liunx的路徑,改為winodws路徑如下:

[meta]
  # Where the metadata/raft database is stored
  dir = "D:/influxdb/meta"
[data]
  # The directory where the TSM storage engine stores TSM files.
  dir = "D:/influxdb/data"
  # The directory where the TSM storage engine stores WAL files.
  wal-dir = "D:/influxdb/wal"

然后修改網(wǎng)頁(yè)圖形化管理界面配置,端口如下:

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

[admin]
  # Determines whether the admin service is enabled.
   enabled = true

  # The default bind address used by the admin service.
   bind-address = ":8083"

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

最后cmd運(yùn)行,進(jìn)入到你的解壓目錄,執(zhí)行命令:

influxd -config influxdb.conf

得到如圖效果:

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

我們就安裝完成了.

我們進(jìn)入管理界面的監(jiān)聽(tīng)端口:http://localhost:8083/,會(huì)看到如下界面:

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

然后我們輸入SQL語(yǔ)句  CREATE DATABASE "你的庫(kù)名"

看到下圖,就是執(zhí)行成功了.

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

我們查一下看是不是真的,輸入SQL語(yǔ)句:SHOW DATABASES

如圖:

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

除了默認(rèn)的第一個(gè)庫(kù)以外,還有你自己添加的庫(kù)名,就說(shuō)明是加成功了,好了,安裝就到此結(jié)束

  

2.安裝Grafana,并添加相關(guān)配置

然后我們安裝Grafana,

下載地址:https://grafana.com/get

我們解壓后進(jìn)入bin目錄,如圖:ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

直接運(yùn)行g(shù)rafana-server.exe即可.

Grafana默認(rèn)會(huì)監(jiān)聽(tīng)3000的端口,所以我們進(jìn)入http://localhost:3000,

會(huì)讓你登陸,直接輸入本地的管理員帳戶即可,帳戶:admin  密碼:admin,進(jìn)入后如圖:

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

安裝完成之后,我們下載相關(guān)的儀表模版.

地址如下:ht t p s: / / g r a f a n a . c om / d a s h b oa r d s / 2 140   (是個(gè)json文件)

然后我們導(dǎo)入我們的儀表:如圖操作即可:

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

然后,添加我們上面的數(shù)據(jù)源.

如圖:

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

選擇Add DataSource,然后操作如下:

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

這樣,我們就完成了Grafana的安裝配置和添加數(shù)據(jù)源

 

3.在ASP.NET Core中使用App Metrics

接下來(lái)就是我們的重頭戲了,在ASP.NET Core中使用AppMetrics.

我們隨便創(chuàng)建一個(gè)ASP.NET Core MVC項(xiàng)目,如圖:

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

 

 用nuget包添加引用:

核心程序:ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

管道注入的擴(kuò)展:ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

ASP.NET Core MVC的擴(kuò)展:ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

其他相關(guān)要用到的庫(kù):ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控(注:我們這里的數(shù)據(jù)源是influxDB所以用的這個(gè)庫(kù),其他的庫(kù)請(qǐng)搜索其他庫(kù)的后綴)

我們回到我們熟悉的C#代碼,在Startup中我們編寫(xiě)注入代碼如下:

首先修改ConfigureServices方法,如下:

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

 public void ConfigureServices(IServiceCollection services)
        {            var database = "TestData";            var uri = new Uri("http://127.0.0.1:8086");

            services.AddMetrics(options =>
            {
                options.GlobalTags.Add("app", "sample app");
                options.GlobalTags.Add("env", "stage");
            })
               .AddHealthChecks()
               .AddJsonSerialization()
               .AddReporting(
                  factory =>
                  {
                      factory.AddInfluxDb(                new InfluxDBReporterSettings
                        {
                            InfluxDbSettings = new InfluxDBSettings(database, uri),
                            ReportInterval = TimeSpan.FromSeconds(5)
                        });
                  })
               .AddMetricsMiddleware(options => options.IgnoredHttpStatusCodes = new[] { 404 });            // Add framework services.            services.AddMvc();
        }

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

加入我們influxDB相關(guān)配置,其中database就是你自己輸入的數(shù)據(jù)庫(kù)名. uri就是你數(shù)據(jù)庫(kù)的地址.

然后我們需要在程序啟動(dòng)的時(shí)候就注入我們的Metrics監(jiān)控,所以修改Configure代碼如下:

 

 

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime lifetime)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            app.UseMetrics();
            app.UseMetricsReporting(lifetime);            //loggerFactory.AddDebug();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseBrowserLink();
            }            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });
        }

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

其中app.UseMetrics();  app.UseMetricsReporting(lifetime) ,是我們的注入代碼..

其他的地方.不用動(dòng)一絲一毫..怎么樣 是不是幾乎沒(méi)有什么***性~.

 最后,我們跑起來(lái).

隨便在home中點(diǎn)擊幾下頁(yè)面,或者調(diào)用一下..

然后進(jìn)入到Grafana的監(jiān)控頁(yè)面中,就可以看到如下信息:

ASP.NET Core之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控

 


當(dāng)前文章:ASP.NETCore之跨平臺(tái)的實(shí)時(shí)性能監(jiān)控
本文鏈接:http://weahome.cn/article/ghppec.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部