SkyWalking是什么?
SkyWalking是一个可观测性分析平台和应用性能管理系统,提供分布式跟踪、服务网格遥测分析、度量聚合和可视化一体化解决方案,并支持多种开发语言。
SkyWalking支持单机与集群部署(默认standalone),并支持多种数据存储(默认H2),如mysql,Elasticsearch,Elasticsearch7等。
本文以SkyWalking8.1.0并使用Elasticsearch来存储数据进行讲解,ElasticSearch搭建请参考我的其他文章,
SkyWalking下载地址:
http://skywalking.apache.org/downloads/
节点规划
主机名 | 节点ip | 安装软件 |
---|---|---|
yfm12 | 192.168.199.112 | skywalking-agent,后端java包服务 |
yfm05 | 192.168.199.105 | skywalking |
端口
- 11800(gRPC 数据收集和内网节点间通信)
- 12800(SkyWalking UI 查询和 HTTP 数据收集)
- 18080(SkyWalking UI 端口)
mkdir -p /data/skywalking
wget https://mirrors.bfsu.edu.cn/apache/skywalking/8.2.0/apache-skywalking-apm-es7-8.2.0.tar.gz
tar -xvf apache-skywalking-apm-es7-8.2.0.tar.gz
cd /data/skywalking/apache-skywalking-apm-bin-es7
修改端口号
vi webapp/webapp.yml
server:
port: 18080
修改使用Elasticsearch(默认使用h2)
storage:
selector: ${SW_STORAGE:elasticsearch7}
elasticsearch7:
nameSpace: ${SW_NAMESPACE:"es-cluster"}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
注意:nameSpace要和Elasticsearch集群的cluster_name一致
http://192.168.199.105:9200/
{
"name" : "node-1",
"cluster_name" : "es-cluster",
"cluster_uuid" : "F0AinTvgQcqBjZO_c7V2CQ",
"version" : {
"number" : "7.10.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "747e1cc71def077253878a59143c1f785afa92b9",
"build_date" : "2021-01-13T00:42:12.435326Z",
"build_snapshot" : false,
"lucene_version" : "8.7.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
启动,须确保es已经启动,关闭脚本都没有
./bin/startup.sh
注意服务器时间需要保持同步
访问http://192.168.199.105:18080/, 一开始是没数据的,待项目集成后再刷新页面就可以看到数据了。
在yfm12上执行
mkdir -p /data/skywalking-agent
cd /data/skywalking-agent
scp -r root@192.168.199.105:/data/skywalking/apache-skywalking-apm-bin-es7/agent .
vi agent/config/agent.config
SkyWalking 采样率配置
agent.sample_n_per_3_secs=${SW_AGENT_SAMPLE:1}
SkyWalking OAP 服务地址和端口配置
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.199.105:11800}
将agent目录拷贝到target目录
nohup java -javaagent:agent/skywalking-agent.jar -Dskywalking.agent.service_name=demo-register -Xms2024m -Xmx2024m -Dspring.profiles.active=dev -jar demo-register.jar > demo-register.log 2>&1 &
nohup java -javaagent:agent/skywalking-agent.jar -Dskywalking.agent.service_name=demo-config -Xms2024m -Xmx2024m -Dspring.profiles.active=dev -jar demo-config.jar > demo-config.log 2>&1 &
nohup java -javaagent:agent/skywalking-agent.jar -Dskywalking.agent.service_name=demo-admin -Xms2024m -Xmx2024m -Dspring.profiles.active=dev -jar demo-admin.jar > demo-admin.log 2>&1 &