SkyWalking學習筆記(CentOS環境)
- 2020 年 2 月 16 日
- 筆記
基於 CentOS 環境使用 SkyAPM-dotnet 來介紹一下 SkyWalking, SkyAPM-dotnet 是 SkyWalking 的 .NET Agent
環境要求
- JDK8+
- Elasticsearch
- 8080,9200,10800,11800,12800 埠不被佔用
Elasticsearch安裝
Elasticsearch下載安裝(CentOS為例) 參考官方教程.
- 下載並安裝公共簽名密鑰
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
- yum添加安裝源倉庫 修改/etc/yum.conf文件,添加源
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md
- 安裝Elasticsearch
sudo yum install --enablerepo=elasticsearch elasticsearch
修改配置
安裝完成後需要對 /etc/elasticsearch.yml 做如下修改
# 修改 # 如果 cluster.name 不設置為 CollectorDBCluster ,則需要修改 SkyWalking 的配置文件 cluster.name: CollectorDBCluster # IP埠 network.host: 0.0.0.0 http.host: 0.0.0.0 http.port: 9200 # 節點 node.name: node-1 cluster.initial_master_nodes: ["node-1"]
更多配置參考官方文檔
Elasticsearch 的埠默認綁定到 127.0.0.1 上,對外開放 http 埠就配置 http.host,對外開放 tcp 埠就配置 network.host 關於網路配置參考官方
啟動
要將Elasticsearch配置為在系統啟動時自動啟動
sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable elasticsearch.service
啟動和停止可以使用以下命令
sudo systemctl start elasticsearch.service sudo systemctl stop elasticsearch.service
你可以通過發送一個HTTP請求到本地主機埠9200來測試你的Elasticsearch節點是否正在運行
curl "http://localhost:9200/"
應該會顯示如下消息
{ "name" : "XXXX", "cluster_name" : "CollectorDBCluster", "cluster_uuid" : "JVNBpkf1TjeFJUjiPdD5dQ", "version" : { "number" : "7.5.1", "build_flavor" : "default", "build_type" : "rpm", "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/)
(Linux可以下載Binary Distribution for ElasticSearch 7 (Linux))
解壓之後重命名為SkyWalking-ES7(看個人愛好)
修改配置
文件位於/home/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。
# cd /home/SkyWalking-ES7/bin --SkyWalking解壓的bin目錄 # ./startup.sh
出現如下消息 表示成功
SkyWalking OAP started successfully! SkyWalking Web Application started successfully!
如果啟動成功訪問(如果失敗參考快速入門) 可以打開鏈接http://localhost:8080 查看SkyWalking UI
配置SkyWalking UI(可選)
文件位於/home/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
- 新建一個 .net core api項目 ,安裝Nuget包
Install-Package SkyAPM.Agent.AspNetCore
- 添加環境變數(參考)
set ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore
- 項目根目錄下添加 skyapm.json 文件,添加 SkyWalking 的配置資訊(更多默認配置參考) 也可以直接在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