SkyWalking Liunx 环境搭建NetCore接入
背景
前兩天看見有小哥介紹windows下安裝skywalking的介紹地址。
正好最近也在搭建linux環(huán)境的SkyWalking,順便把linux環(huán)境搭建的經(jīng)驗分享下,幫助下使用linux部署DotNetCore項目的同學(xué)。
介紹
SkyWalking是開源的apm工具,服務(wù)器端使用java編寫,客服端支持java,?DotNetCore,?NodeJs,?Php接入。
詳細(xì)點擊進(jìn)入官方介紹:SkyWalking
服務(wù)部署環(huán)境
Linux Centos7 3.10.0-862.11.6.el7.x86_64
說明
SkyWalking 6x版本可以選擇h2,es,mysql等存儲。這里選擇es進(jìn)行搭建。為了減少下載各個環(huán)境依賴的麻煩,使用docker安裝存儲。
Es可以使用集群方式搭建,可以不與Skywalking主程序放在一塊
端口開放訪問問題
我是使用itpables進(jìn)行端口管理,編輯iptables文件加入想要的開放端口配置
編輯文件
vi /etc/sysconfig/iptables加入如下配置
# Web端口-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
# es地址,可以查詢es,如果建立
-A INPUT -p tcp -m tcp --dport 9200 -j ACCEPT
#grpc端口
-A INPUT -p tcp -m tcp --dport 11800 -j ACCEPT
docker安裝
centos安裝官網(wǎng)地址:點這里
按照步驟即可安裝完成docker環(huán)境
拉取es
SkyWalking 6x版本依賴的es是6.6.2
# 拉取es,版本:6.6.2docker pull docker.elastic.co/elasticsearch/elasticsearch:6.6.2
# 運行 docker ,映射http端口及tcp端口,可以使用-v參數(shù)進(jìn)行目錄掛載
docker run --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.6.2
如果需要修改es配置文件,比如修改跨域問題,可以進(jìn)行如下操作
docker exec -it es /bin/bashcd /config
vi elasticsearch.yum
加入如下參數(shù)
http.cors.enabled: true?
http.cors.allow-origin: "*"
然后重啟docker服務(wù)
sudo docker restart es如果需對es進(jìn)行管理,可以安裝head插件,參照上方端口開放說明開放端口說明
head安裝
docker pull mobz/elasticsearch-head:5## 運行head
docker run -d --name es_head -p 9100:9100 mobz/elasticsearch-head:5
如果對docker容器進(jìn)行可視化管理的話,拉取dockerui
docker run -d -p 5000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-dockerSkyWalking 安裝
skywalking 是java編寫,所以運行以來java,可以參照如下安裝java
java安裝
項目獲取
地址:github
以最新6.0.0-GA為例
# 下載文件wget -O SkyWalking6.0.0 https://github.com/apache/incubator-skywalking/archive/v6.0.0-GA.tar.gz
# 進(jìn)行配置
tar -zxvf SkyWalking6.0.0
cd ./SkyWalking6.0.0/config
# 編輯配置文件,將es配置開放
vim application.yum
默認(rèn)是使用h2,將h2注釋掉,將es配置開放出來。ES使用集群的話,可以將clusterNodes配置進(jìn)行替換
storage:# h2:
# driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}
# url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db}
# user: ${SW_STORAGE_H2_USER:sa}
elasticsearch:
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:127.0.0.1:9200}
indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:2000} # Execute the bulk every 2000 requests
bulkSize: ${SW_STORAGE_ES_BULK_SIZE:20} # flush the bulk every 20mb
flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10} # flush the bulk every 10 seconds whatever the number of requests
concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2} # the number of concurrent requests
保存后啟動服務(wù)
../bin/startup.sh服務(wù)啟動后,如下地址進(jìn)行訪問
ui地址
http://{ip}:8080
grp地址
{ip}:11800
ui默認(rèn)啟動賬號密碼:admin,admin
這個可以在webapp目錄下webapp.yum進(jìn)行設(shè)置
DotNetCore 接入
說了半天,終于到正文了
6x版本已經(jīng)實現(xiàn)無代碼侵入接入,可以使用SkyAPM.CLI進(jìn)行生成配置文件。
假如DotNetCore項目名稱是SWTest, grpc地址是127.0.0.1:11800
執(zhí)行如下命令
dotnet tool install -g SkyAPM.DotNet.CLI
# 生成配置文件
dotnet skyapm config SWTest 127.0.0.1:11800
生成文件skyapm.json,配置如下
{"SkyWalking": {
"ServiceName": "WSTest",
"Namespace": "",
"HeaderVersions": [
"sw6"
],
"Sampling": {
"SamplePer3Secs": -1,
"Percentage": -1.0
},
"Logging": {
"Level": "Information",
"FilePath": "logs\\skyapm-{Date}.log"
},
"Transport": {
"Interval": 3000,
"ProtocolVersion": "v6",
"QueueSize": 30000,
"BatchSize": 3000,
"gRPC": {
"Servers": "12.0.0.1:11800",
"Timeout": 10000,
"ConnectTimeout": 10000,
"ReportTimeout": 600000
}
}
}
}
添加如下環(huán)境變量
ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCoreSKYWALKING__SERVICENAME=WSTest
將文件設(shè)置為始終復(fù)制,啟動項目即可
git官網(wǎng)接入說明地址:Git介紹
福利
如下服務(wù)可以進(jìn)行測試
139.219.12.5:11800:11800
查看數(shù)據(jù)私信發(fā)管理后臺賬號密碼,嘿嘿
原文地址:https://www.cnblogs.com/cgyqu/p/10622114.html
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結(jié)
以上是生活随笔為你收集整理的SkyWalking Liunx 环境搭建NetCore接入的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET 机器学习生态调查
- 下一篇: .NET 基金会完成第一次全面改选