SkyWalking學習筆記(Window環境 本地環境)

  • 2020 年 2 月 16 日
  • 筆記

基於 Windows 環境使用 SkyAPM-dotnet 來介紹一下 SkyWalking, SkyAPM-dotnet 是 SkyWalking 的 .NET Agent

環境要求

  1. JDK8+
  2. Elasticsearch
  3. 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

  1. 新建一個 .net core api項目 ,安裝Nuget包
Install-Package SkyAPM.Agent.AspNetCore
  1. 添加環境變數(參考) 參考鏈接: https://github.com/SkyAPM/SkyAPM-dotnet#examples set ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore
  2. 項目根目錄下添加 skyapm.json 文件,添加 SkyWalking 的配置資訊(更多默認配置參考) 更多默認配置參考鏈接: https://github.com/SkyAPM/SkyAPM-dotnet/blob/master/src/SkyApm.Utilities.Configuration/ConfigurationBuilderExtensions.cs 也可以直接在appsettings.json中添加以及cs程式碼添加
  3. 啟動程式,請求的追蹤結果就會被記錄下來,通過 SkyWalking UI 查看

以上部分配置文件可參考快速入門 https://github.com/apache/skywalking/blob/5.x/docs/cn/Deploy-backend-in-cluster-mode-CN.md

轉載是一種動力 分享是一種美德

作者:心萊科技陳浪林

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

文檔官網:docs.xin-lai.com