Loading

SkyWalking部署

 

 

 

 

 

 

SkyWalking部署

 

 

 

 

 

 

 

 

 

作者

刘畅

时间

2021-07-12

 

 

 

 

环境: centos7.5

主机名

IP

安装软件

es01

192.168.30.47

elasticsearch 7.8.1

es02

192.168.30.48

elasticsearch 7.8.1

es03

192.168.30.49

elasticsearch 7.8.1

skywalking

192.168.30.51

skywalking 8.6.0jdk1.8.0_291

 

 

 

 

 

 

目录

1 部署elasticsearch服务

2 部署SkyWalking

2.1 部署jdk1.8

2.2 下载SkyWaking

2.3 配置skywalking连接es7

2.4 启动skywalking

2.5 访问skywalking UI

3 部署skywalkingagent追踪java应用

3.1 修改agent配置文件并将agent目录打包

3.2 将打包的skywalking agent部署到jar应用上

4 访问skywalkingUI

4.1 仪表板

4.2 拓扑图

4.3 查看java应用的堆栈信息

 


1 部署elasticsearch服务

192.168.30.47-192.168.30.49节点上操作,并安装elasticsearch-head,这里省略安装步骤,详细
安装步骤可以参考: https://www.cnblogs.com/LiuChang-blog/p/14702941.html文档。
elasticsearch集群名称为: elk-cluster

# skywalking官网推荐将以下配置添加到elasticsearch.yml
thread_pool.write.queue_size: 1000
# Suitable for ElasticSearch 6 and 7

# 访问elasticsearch集群
http://192.168.30.47:9100/
wps4EF0.tmp

2 部署SkyWalking

192.168.30.51节点上操作

官方文档: https://skywalking.apache.org/docs/main/v8.6.0/readme/

wps4EF1.tmp 

2.1 部署jdk1.8

# tar -xzf jdk-8u291-linux-x64.tar.gz -C /home/
# cd /home/
# mv jdk-8u291-linux-x64/ jdk/

# vim /etc/profile
export JAVA_HOME=/home/jdk
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$JAVA_HOME/bin:$PATH

#
source /etc/profile

2.2 下载SkyWaking

https://www.apache.org/dyn/closer.cgi/skywalking/8.6.0/apache-skywalking-apm-es7-8.6.0.tar.gz
# tar -xzf apache-skywalking-apm-es7-8.6.0.tar.gz -C /home/
# cd /home/
# mv apache-skywalking-apm-es7-8.6.0/ skywalking-es7/

# ls -l /home/skywalking-es7/
wps4EF2.tmp

2.3 配置skywalking连接es7

# vim /home/skywalking-es7/config/application.yml
wps4EF3.tmp

可选优化:
(1) 修改skywalking日志存储个数
#
vim /home/skywalking-es7/config/log4j2.xml
<DefaultRolloverStrategy max="30"/>
# 默认30个,单个日志大小102400KB
# 
建议值5

(2) 关于存储清理的配置
# vim /home/skywalking-es7/config/application.yml
core:
recordDataTTL: ${SW_CORE_RECORD_DATA_TTL:3}
# Unit is day
# 记录: 影响记录数据,包括跟踪和报警。
# 建议3
metricsDataTTL: ${SW_CORE_METRICS_DATA_TTL:7}
# Unit is day
# 指标: 影响所有指标,包括服务、实例、端点指标和拓扑图指标。
# 
建议3

(3) 优化skywalking存储elasticsearch配置
#
vim /home/skywalking-es7/config/application.yml
elasticsearch7:
indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:1}
# Shard number of new indexes
# es存储分片数,因为是3es节点,这里设置为3
indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:1}
# Replicas number of new indexes
# es存储分片副本数
# 建议1
bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:1000}
# Execute the async bulk record data every ${SW_STORAGE_ES_BULK_ACTIONS} requests
# 批量提交的大小,通过增加该值,减少skwalking服务端和es之间交互,增加吞吐量
# 建议4000
flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10}
# flush the bulk every 10 seconds whatever the number of requests
# 每间隔多少秒提交请求,建议值30
concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2}
# the number of concurrent requests
# 增加现有请求数,建议值4
metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:5000}
# 查询最大数量,建议值8
000

2.4 启动skywalking

# /home/skywalking-es7/bin/startup.sh
# skywalking的日志文件在skywalking安装目录下的logs目录下。

# netstat -tunlp | grep java
wps4F03.tmp
11800gRPC 服务agent连接端口
12800REST
服务agent连接端口

2.5 访问skywalking UI

http://172.16.1.123:8080/

3 部署skywalkingagent追踪java应用

3.1 修改agent配置文件并将agent目录打包

# ls -l /home/skywalking-es7/agent/
wps4F04.tmp

# egrep -v "^$|^#" /home/skywalking-es7/
agent/config/agent.config
agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}
# agent注册到skywalking的服务名,这里不配置,采用变量注入的方式进行覆盖
agent.is_cache_enhanced_class = ${SW_AGENT_CACHE_CLASS:true}
agent.class_cache_mode = ${SW_AGENT_CLASS_CACHE_MODE:MEMORY}
# 上面两行表示打开skywalking代理与其他Java代理字节码进程的兼容性
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.30.51:11800}
# agent连接到skywalking的地址
logging.file_name=${SW_LOGGING_FILE_NAME:skywalking-api.log}
# agent默认日志文件存放在agent目录下的logs目录下
logging.level=${SW_LOGGING_LEVEL:INFO}
logging.dir=${SW_LOGGING_DIR:/home/liuchan/log/agent}
# 自定义日志家目录,默认为空字符串(" ")
logging.max_history_files=${SW_LOGGING_MAX_HISTORY_FILES:5}
# agent历史文件个数限制,默认为-1,表示不限制,为防止agent日志爆盘,这里修改为5
plugin.mount=${SW_MOUNT_FOLDERS:plugins,activations}
# 
agent插件挂载的目录

# cd /home/skywalking-es7/
# tar -czf agent.tar.gz agent/

3.2 将打包的skywalking agent部署到jar应用上

1 部署agent

# tar -xzf agent.tar.gz -C /home/liuchan/
# mkdir -p /home/liuchan/log/agent/

 

2 修改docker-compose.yml文件[只修改以java进程启动容器的部分]

# vim /home/liuchan/compose/docker-compose.yml
(1) 挂载agent卷到容器
volumes:
  - /home/liuchan/agent:/home/liuchan/agent

(2) 修改java命令,在 -jar 之前加入如下参数
command:
-javaagent:/home/liuchan/agent/skywalking-agent.jar -Dskywalking.agent.service_name=<分组名称>::<容器名称> -Dskywalking.agent.instance_name=<容器名称>-${HOSTIP} -Dskywalking.logging.file_name=<容器名称>-${HOSTIP}.log

 

3 重启docker-compose

# docker-compose down
#
docker-compose up -d

4 访问skywalkingUI

4.1 仪表板

http://192.168.30.51:8080/
wps4F05.tmp
仪表板提供服务、服务实例和端点的指标,我们需要了解一些指标术语。
吞吐量CPM # 每分钟调用次数
Apdex # 应用程序性能指数,满意”、“容忍”和“沮丧”分别对应10.50
响应时间百分比 # 包括p99p95p90p75p50
SLA # 代表成功率。对于HTTP,它表示200响应代码的速率。
服务、实例和仪表板选择器可以手动重新加载而不是重新加载整个页面。

4.2 拓扑图

http://192.168.30.51:8080/topology
wps4F06.tmp

4.3 查看java应用的堆栈信息

http://192.168.30.51:8080/
wps4F07.tmp

posted @ 2021-10-17 00:10  云起时。  阅读(789)  评论(0编辑  收藏  举报