當前位置:
首頁 > 最新 > Apache SkyWalking 為.NET Core帶來開箱即用的分散式追蹤和應用性能監控

Apache SkyWalking 為.NET Core帶來開箱即用的分散式追蹤和應用性能監控

在大型網站系統設計中,隨著分散式架構,特別是微服務架構的流行,我們將系統解耦成更小的單元,通過不斷的添加新的、小的模塊或者重用已經有的模塊來構建複雜的系統。隨著模塊的不斷增多,一次請求可能會涉及到十幾個甚至幾十個服務的協同處理,那麼如何準確快速的定位到線上故障和性能瓶頸,便成為我們不得不面對的棘手問題。

為解決分散式架構中複雜的服務定位和性能問題,Google在論文《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》中提出了分散式跟蹤系統的設計和構建思路。在這樣的背景下,Apache SkyWalking創建於2015年,參考Dapper論文實現分散式追蹤功能,並逐漸進化為一個完整功能的Application Performance Management系統,用於追蹤、監控和診斷大型分散式系統,尤其是容器和雲原生下的微服務系統。

今年初我在嘗試使用.NET Core構建分散式追蹤系統Butterfly時接觸到SkyWalking團隊,開始和SkyWalking團隊合作探索SkyWalking對.NET Core的支持,並於4月發布SkyWalking .NET Core探針的第一個版本,同時我也有幸加入SkyWalking團隊共同進行SkyWalking在多語言生態的推動。在.NET Core探針v0.1版本發布之後,得到了一些同學的嘗鮮使用,也得到諸多改進的建議。經過幾周的迭代,SkyWalking .NET Core探針於今天發布v0.2 release,在v0.1的基礎上增加了穩定性和HttpClient及資料庫驅動的追蹤支持。

在使用SkyWalking對.NET Core應用追蹤之前,我們需要先部署SkyWalking Collector收集分析Trace和Elasticsearch作為Trace數據存儲。SkyWalking支持5.x的ES,所以我們需要下載安裝對應版本的ES,並配置ES的為。然後部署SkyWalking 5.0 beta或更高版本(下載地址:http://skywalking.apache.org/downloads/)。更詳細的Collector部署文檔,請參考Deploy-backend-in-standalone-mode和Deploy-backend-in-cluster-mode。

最後我們使用示例項目來演示在.NET Core應用中使用SkyWalking進行追蹤和監控,克隆SkyWalking-NetCore項目到本地

進入skywalking-netcore目錄

還原nuget package:

啟動示例項目:

訪問示例應用 http://localhost:5001/api/values

打開SkyWalking WebUI即可看到我們的應用監控面板 http://localhost:8080

Dashboard視圖

TopologyMap視圖

Application視圖

Trace視圖

TraceDetails視圖

SkyWalking Github Repo: https://github.com/apache/incubator-skywalking

SkyWalking-NetCore Github Repo: https://github.com/OpenSkywalking/skywalking-netcore


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 dotNET跨平台 的精彩文章:

開源服務容錯處理庫Polly使用文檔
使用CoreRT將.NET Core發布為Native應用程序

TAG:dotNET跨平台 |