前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >skywalking-1:skywalking3.2.6生产级部署(历史总结)

skywalking-1:skywalking3.2.6生产级部署(历史总结)

作者头像
千里行走
发布2020-07-31 16:34:46
1.2K0
发布2020-07-31 16:34:46
举报
文章被收录于专栏:千里行走

前情提要:

Skywalking3.2.6是很老的版本了,18年8月左右的最新stable版本,进行总结纯粹出于方法论和过程论的总结,以及历史沉淀。

目录:

(1).skywalking3.2.6部署拓扑图

(2).机器拓扑图

(3).版本与下载

(4).部署skywalking-collector

(5).部署skywalking-web

(6).部署skywalking-agent

(7).skywalking官方issue

(8).skywalking3.2.6重要缺陷

(9).其他注意事项

(10).相关文章

(1).skywalking3.2.6部署拓扑图

skywalking-agent:非侵入式agent,是应用服务的一部分。

skywalking-collector:trace收集器,可以部署多个。

skywalking-web:trace可视化页面。

elasticsearch:存储trace数据。

(2).机器拓扑图

综合成本和性能,主要原则:够用就好。

(3).版本与下载

skywalking与elasticsearch版本:skywalking-stable-3.2.6, elasticsearch5.6.8

wget https://github.com/apache/incubator-skywalking/releases/download/v3.2.6/skywalking-agent.tar.gz

wget https://github.com/apache/incubator-skywalking/releases/download/v3.2.6/skywalking-collector.tar.gz

wget https://github.com/apache/incubator-skywalking/releases/download/v3.2.6/skywalking-web.tar.gz

解压得到skywalking-agent, skywalking-web, skywalking-collector

(4).部署skywalking-collector

1.mv skywalking-collecotr /app/3rd

2.修改配置文件:

config/log4j2.xml

<Property name="log-path">/data/xxx/skywalking-collector/logs</Property>

application.yml:要和elasticsearch保持一致。

elasticsearch: cluster_name: my-application cluster_nodes: localhost:9300

所有localhost都要改成ip, 配置zk, es

3.启动:

bin/collectorService.sh start

(5).部署skywalking-web

1.mv skywalking-web /app/3rd

2.修改配置文件:

config/log4j2.xml

<Property name="log-path">/data/xxx/skywalking-web/logs</Property>

config/collector_config.properties:

collector.servers[0]=collecotr1:10800

(可以部署多个)

application.properties

默认端口:8080

3.启动:

./web-service.sh start

4.web界面

Trace:

Instance view

service tree

(6).部署skywalking-agent

业务同学需要关心和了解:

1.mv skywalking-agent /app/3rd/

2.修改配置文件:

conf/agent.confg:

agent.application_code=xxx (具体的业务名字)

collector.servers=collectorIP:10800 (可以部署多个)

logging.level=INFO

logging.dir=/data/xxx/skywalking-agent/logs

3.使用方式:

nohup java -javaagent:javaAgent -jar yourBiz.jar >/dev/null 2>&1 &

使用者需要替换:

$javaAgent 一般是:/app/3rd/skywalking-agent/skywalking-agent.jar

$yourBiz.jar,要启动的业务jar包。

PS:

这里省略了其他参数,如JVM参数,业务参数,看各自业务情况都要有。

(7).skywalking官方issue

1.skywalking 对motan的支持应该是从5.x开始;之前最近的一个稳定版本3.2.6-stable是否支持待确认(已经确认支持:作者&实际测试都确认),根据官方答复看代码应该是支持的,依据:https://github.com/apache/incubator-skywalking/issues/1545#issuecomment-412745201

因为我们使用的是motan,所以必须确认此点。

2.skywalking-stable-3.2.6只能对应elasticsearch-5.x,依据:https://github.com/apache/incubator-skywalking/issues/507#issuecomment-412748537, 这里使用elasticsearch5.6.8

这个事项也非常重要,却很容易忽略,导致整个流程不通。

(8).skywalking3.2.6重要缺陷

Huge memory is used when using skywalking-agent

https://github.com/apache/skywalking/issues/1666

上述这个问题发现的也非常偶然,独立ECS各种压测都没有问题。但是因为我们同时还在做容器化,测试环境的k8s资源都非常小,给每个pod分配的资源几乎都是刚刚够运行,在这个前提下使用skywalking-agent后内存飙涨无法启动,然后开始在github上找作者深究这个问题。大致原因skywalking3.2.6这个版本对bytecode使用存在效率问题,只有内存临界点上才会发生我们遇到的问题。详情可以看上述issue。

这也是我们最后否决skywalking3.2.6的原因,虽然后续版本解决了这个问题,但是全链路这个事情已经排除在重要事项之外了。在我们完成整个基础架构重构之后,才在k8s里的apollo服务上进行了运用(skywalking当时的最新版本)

(9).其他注意事项

Skywalking-agent一定不要使用100%的采样率,没有意义且徒耗性能,而且也做不到100%,会根据内存损耗对trace进行丢弃。

我们主要是看的全局拓扑,以及全局滞点/阻塞点。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 千里行走 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档