SkyWalking學習筆記(Window環境 本地環境)
- 2020 年 2 月 16 日
- 筆記
基於 Windows 環境使用 SkyAPM-dotnet 來介紹一下 SkyWalking, SkyAPM-dotnet 是 SkyWalking 的 .NET Agent
環境要求
- JDK8+
- Elasticsearch
- 8080,9200,10800,11800,12800 埠不被佔用
Elasticsearch安裝
Elasticsearch下載安裝 參考官方教程.
Elasticsearch下載安裝官方教程鏈接:
https://www.elastic.co/cn/downloads/elasticsearch/
修改配置
安裝完成後需要對 config/elasticsearch.yml 做如下修改
# 修改 # 如果 cluster.name 不設置為 CollectorDBCluster ,則需要修改 SkyWalking 的配置文件 cluster.name: CollectorDBCluster # IP埠 http.host: 0.0.0.0 http.port: 9200
更多配置參考官方文檔 https://www.elastic.co/guide/en/elasticsearch/reference/7.5/settings.html
Elasticsearch 的埠默認綁定到 127.0.0.1 上,對外開放 http 埠就配置 http.host,對外開放 tcp 埠就配置 network.host 關於網路配置參考官方: https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html
啟動
Elasticsearch的Window版本安裝之後再Window服務裡面,查看是否啟動成功就行
你可以通過發送一個HTTP請求到本地主機埠9200來測試你的Elasticsearch節點是否正在運行
http://localhost:9200/
應該會顯示如下消息
{ "name": "XXXX", "cluster_name": "CollectorDBCluster", "cluster_uuid": "a6O1e0ptTuW4t2nNTB6JxQ", "version": { "number": "7.5.1", "build_flavor": "unknown", "build_type": "unknown", "build_hash": "3ae9ac9a93c95bd0cdc054951cf95d88e1e18d96", "build_date": "2019-12-16T22:57:37.835892Z", "build_snapshot": false, "lucene_version": "8.3.0", "minimum_wire_compatibility_version": "6.8.0", "minimum_index_compatibility_version": "6.0.0-beta1" }, "tagline": "You Know, for Search" }
SkyWalking安裝
SkyWalking 建議直接下載官方編譯好的,
下載地址:
http://skywalking.apache.org/downloads/
(window可以下載Binary Distribution for ElasticSearch 7 (Windows))
解壓之後重命名為SkyWalking-ES7(看個人愛好)
修改配置
文件位於SkyWalking-ES7/config/application.yml
默認數據存儲開啟是的 h2,這裡我們需要修改數據存儲為 Elasticsearch7(在啟動 SkyWalking 之前,確保 Elasticsearch 已啟動)
啟動
SkyWalking (bin目錄)的啟動包括兩部分,一個是 SkyWalking Collector(oapService) ,一個是 SkyWalking UI(webappService).
bat 為 windows 環境使用,sh 為 linux 環境使用,我們可以分別啟動 oapService 和 webappService,也可以通過 startup 一次性全部啟動,從 startup 中的命令可以知道其實就是分別啟動 oapService 和 webappService。
如果啟動成功訪問(如果失敗參考快速入門) 可以打開鏈接http://localhost:8080
查看SkyWalking UI
快速入門地址:
https://github.com/apache/skywalking/blob/5.x/docs/cn/Quick-start-CN.md
配置SkyWalking UI(可選)
文件位於SkyWalking-ES7/webapp/webapp.yml
|
Config |
Description |
|---|---|
|
server.port |
默認監聽8080埠 |
|
collector.ribbon.listOfServers |
collector的訪問服務名稱(與config/application.yml中naming.jetty配置保持相同) 且若是多個 collector 服務名稱用』,』分隔 |
|
collector.path |
Collector 查詢uri地址. 默認是/graphql |
|
collector.ribbon.ReadTimeout |
查詢超時時間,默認是10秒 |
.NET 項目接入
參考官方鏈接SkyAPM-dotnet sample目錄下的Demo
SkyAPM-dotnet鏈接:
https://github.com/apache/skywalking/blob/5.x/docs/cn/Quick-start-CN.md
- 新建一個 .net core api項目 ,安裝Nuget包
Install-Package SkyAPM.Agent.AspNetCore
- 添加環境變數(參考) 參考鏈接: https://github.com/SkyAPM/SkyAPM-dotnet#examples
set ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore - 項目根目錄下添加 skyapm.json 文件,添加 SkyWalking 的配置資訊(更多默認配置參考) 更多默認配置參考鏈接: https://github.com/SkyAPM/SkyAPM-dotnet/blob/master/src/SkyApm.Utilities.Configuration/ConfigurationBuilderExtensions.cs 也可以直接在appsettings.json中添加以及cs程式碼添加
- 啟動程式,請求的追蹤結果就會被記錄下來,通過 SkyWalking UI 查看
以上部分配置文件可參考快速入門 https://github.com/apache/skywalking/blob/5.x/docs/cn/Deploy-backend-in-cluster-mode-CN.md
轉載是一種動力 分享是一種美德

作者:心萊科技陳浪林
如果喜歡作者的文章,請關注【麥扣聊技術】訂閱號以便第一時間獲得最新內容。本文版權歸作者和湖南心萊資訊科技有限公司共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
文檔官網:docs.xin-lai.com

