SkyWalking開源項目由吳晟于2015年創(chuàng)建,同年10月在GitHub上作為個人項目開源。
創(chuàng)新互聯(lián)是一家集網站建設,安新企業(yè)網站建設,安新品牌網站建設,網站定制,安新網站建設報價,網絡營銷,網絡優(yōu)化,安新網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。SkyWalking項目的核心目標,是針對微服務、Cloud Native、容器化架構,提供應用性能監(jiān)控(APM)和分布式調用鏈追蹤能力。
2017年11月,SkyWalking社區(qū)正式決定,尋求加入Apache基金會,希望能使項目成為更為開放、全球化和強大的APM開源產品,并加強來自社區(qū)的合作和交流。最終實現(xiàn)構建一款功能強大、簡單易用的開源APM產品。
2017年12月8日,Apache軟件基金會孵化器項目管理委員會 ASF IPMC宣布“SkyWalking全票通過,進入Apache孵化器”。
官方版:https://github.com/apache/incubator-skywalking
.Net core Agent + Skywalking
當我們用很多服務時,各個服務間的調用關系是怎么樣的?各個服務單調用的順序時間性能怎么樣?服務出錯了,到底是哪個服務引起的?這些問題我們用什么方案解決呢,以前的方式是各個系統(tǒng)自己單獨做日志,
出了問題從暴出問題的服務開始一個一個服務的排查,耗時耗力,有些日志不全的,還不一定查得出來。好在現(xiàn)在有Skywalking鏈路追蹤系統(tǒng),可以不用寫任何代碼,就追蹤到各個服務間的調用關系和性能狀態(tài)等。
APM = Application Performance Management,即應用性能管理,主要是針對企業(yè)級應用軟件市場,對企業(yè)系統(tǒng)實施即時監(jiān)控,以實現(xiàn)對應用程序性能管理和故障管理的系統(tǒng)化的解決方案。
APM的覆蓋范圍包括五個層次的實現(xiàn):終端用戶體驗,應用架構映射,應用事務的分析,深度應用診斷,和數(shù)據(jù)分析。
過去,企業(yè)的IT部門在收集系統(tǒng)性能參數(shù)時,一般重點關注為最終用戶提供服務的硬件組件的利用率,如CPU利用率、內存占用、網絡吞吐量。雖然這種方法也提供了一些寶貴的信息,但卻忽視了最重要的因素:最終用戶的響應時間。
現(xiàn)在,通過事務處理過程監(jiān)測、模擬等手段,可以真實測量用戶響應時間,此外還可以報告誰正在使用某一應用、該應用的使用頻率以及用戶所進行的事務處理過程是否成功完成、發(fā)生錯誤時的參數(shù)與堆棧調用信息、數(shù)據(jù)庫查詢語句跟蹤等。
本文將從0開始搭建兩個webapi項目,使用Skywalking來追蹤他們之間的調用關系及響應時間。開發(fā)環(huán)境為VisualStudio2019
1:安裝Skywalking,可參考:https://www.cnblogs.com/sunyuliang/p/11422576.html,本列中搭建好后的Skywalking服務器地址為:192.168.150.134
2:打開VS創(chuàng)建一個demo1的webapi項目。 2.1:為項目添加NuGet程序包SkyAPM.Agent.AspNetCore的引用{
"SkyWalking": {
"ServiceName": "Demo01",
"Namespace": "",
"HeaderVersions": [
"sw6"
],
"Sampling": {
"SamplePer3Secs": -1,
"Percentage": -1.0
},
"Logging": {
"Level": "Debug",
"FilePath": "logs/skyapm-{Date}.log"
},
"Transport": {
"Interval": 3000,
"ProtocolVersion": "v6",
"QueueSize": 30000,
"BatchSize": 3000,
"gRPC": {
"Servers": "192.168.150.134:11800",
"Timeout": 10000,
"ConnectTimeout": 10000,
"ReportTimeout": 600000
}
}
}
}
2.3: 將skyapm.json文件的屬性”復制到輸出目錄“ 修改為 ”如果較新則復制”
2.4:展開項目的Properties,打開launchSettings.json文件,在其中的環(huán)境變量中加入 "SKYWALKING__SERVICENAME": "asp-net-core-frontend"
2.5:到目前skywalking就已經成功引入到系統(tǒng)中了。接下來我們來驗證一下是否正常,直接Ctrl+F5啟動項目,訪問https://localhost:44313/api/values
2.6:訪問Skywalking管理后臺(記得替換一下IP)http://192.168.150.134:8080/trace 。手動選一下時間范圍,結束時間選明天(選當時時間會搜索不到數(shù)據(jù),不知道是時區(qū)還是skywalking的bug),點擊搜索??梢钥吹奖敬卧L問的追蹤信息已經同步到了Skywalking中。
以上單個系統(tǒng)的追蹤就完成了,接下來我們再創(chuàng)建一個項目,步驟和第2步基本一樣,看看多系統(tǒng)的追蹤,這個才是Skywalking的價值所在。
3:另外再打開一個VS創(chuàng)建一個demo02的webapi項目。 3.1:為項目添加NuGet程序包SkyAPM.Agent.AspNetCore的引用{
"SkyWalking": {
"ServiceName": "Demo02",
"Namespace": "",
"HeaderVersions": [
"sw6"
],
"Sampling": {
"SamplePer3Secs": -1,
"Percentage": -1.0
},
"Logging": {
"Level": "Debug",
"FilePath": "logs/skyapm-{Date}.log"
},
"Transport": {
"Interval": 3000,
"ProtocolVersion": "v6",
"QueueSize": 30000,
"BatchSize": 3000,
"gRPC": {
"Servers": "192.168.150.134:11800",
"Timeout": 10000,
"ConnectTimeout": 10000,
"ReportTimeout": 600000
}
}
}
}
3.3: 將skyapm.json文件的屬性”復制到輸出目錄“ 修改為 ”如果較新則復制”
3.4:展開項目的Properties,打開launchSettings.json文件,在其中的環(huán)境變量中加入 "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore"
3.5:在ValuesController.cs中添加引用: System.Net.Http ,通過HttpClient依次調用Demo01的兩個方法,里面的https://localhost:44313對應為我們的Demo01項目。具體Get方法代碼如下:
// GET api/values [HttpGet]
public async Task<string> Get()
{
var client = new HttpClient();
await client.GetStringAsync("https://localhost:44313/api/values/1");
returnawait client.GetStringAsync("https://localhost:44313/api/values");
}
3.6:Ctrl+F5啟動項目,訪問http://localhost:21143/api/values
3.7:訪問Skywalking管理后臺(記得替換一下IP)http://192.168.150.134:8080/trace 。手動選一下時間范圍,結束時間選明天(選當時時間會搜索不到數(shù)據(jù),不知道是時區(qū)還是skywalking的bug),點擊搜索??梢钥吹奖敬卧L問兩系統(tǒng)單的調用關系圖已經同步到了Skywalking中
以上多個系統(tǒng)間的追蹤也就都完成了,完全不用寫代碼,配置一下就好了。
文章參考地址:
https://www.jianshu.com/p/3ddd986c7581
https://www.bbsmax.com/A/kvJ3YoQpdg/
分享題目:微服務-Skywalking監(jiān)控應用性能-創(chuàng)新互聯(lián)
文章分享:http://chinadenli.net/article22/cepjcc.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供商城網站、網站內鏈、建站公司、Google、微信小程序、全網營銷推廣
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)