安装skwalking
- 参考资料
https://blog.youkuaiyun.com/mafei6827/article/details/80689628
https://blog.youkuaiyun.com/jilo88/article/details/81355265
https://blog.youkuaiyun.com/qq_32792363/article/details/79501167
http://www.iocoder.cn/categories/SkyWalking/
https://www.jianshu.com/p/6f3e3e989959
- 简介
Zipkin是Twitter开源的调用链分析工具,目前基于springcloud sleuth得到了广泛的使用,特点是轻量,使用部署简单。
Pinpoint是韩国人开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能强大,接入端无代码侵入。
SkyWalking是本土开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能较强,接入端无代码侵入。目前已加入Apache孵化器。
CAT是大众点评开源的基于编码和配置的调用链分析,应用监控分析,日志采集,监控报警等一系列的监控平台工具。
性能分析
摘自:https://juejin.im/post/5a7a9e0af265da4e914b46f1
从上表可以看出,在三种链路监控组件中,skywalking的探针对吞吐量的影响最小,zipkin的吞吐量居中。pinpoint的探针对吞吐量的影响较为明显,在500并发用户时,测试服务的吞吐量从1385降低到774,影响很大。然后再看下CPU和memory的影响,在内部服务器进行的压测,对CPU和memory的影响都差不多在10%之内。
- 部署:
综上:1.选择一个0 侵入式代码的插件,排除zipkin,cat
2.pinpoint 虽然ui强大,但依赖较多,安装繁琐,性能损耗较skywalking大。选择skywalking
3.目前skywalking 为5.0.0GA 正式版本。基本上和pinpoint相差无几。 6.0.0 也进入开发阶段,旨在打造一个大数据量系统分析的服务,届时功能方面将会超过pinpoint。
. 单机部署
- 单机部署组件需求:
- H2或ElasticSearch单机,以下仅示例ElasticSearch安装及配置,便于拓展集群部署
- 官方说明:
- 单机模式默认使用本地H2数据库,不支持集群部署。主要用于:预览、功能测试、演示和低压力系统。
- 如果使用单机collector用于非演示环境,你可选择使用Elasticsearch作为存储实现。
- 版本需求:
ElasticSearch: 5.x(建议使用5.x最高版本5.6.10) - 第三方软件需求:
JDK8+
步骤:
1、下载安装包:(百度网盘)
链接:https://pan.baidu.com/s/1HqQoUZlPxFFyGYwBXKYEAQ 密码:uuhj
- 安装elastic-search:(禁用root用户)
创建skywalking文件夹
创建es 文件夹
解压
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.8.tar.gz
tar zxvf elasticsearch-5.6.8.tar.gz
cd elasticsearch-5.6.8/
修改配置文件,主要修改cluster.name 要与后面skywalking中的配置一致,
vim config/elasticsearch.yml
cluster.name: CollectorDBCluster
network.host: 0.0.0.0
thread_pool.bulk.queue_size: 1000
elasticsearch启动时会有几个坑:
- 一个是不能使用root账户,可以新建elasticsearch用户专门用于elasticsearch。(这里我采用dcdy用户)
- 对dcdy用户打开的文件数量有限制
>2.1. vim /etc/security/limits.conf
>2.2. vim /etc/sysctl.conf
执行:
sysctl -p
关掉当前shell,否则配置不生效
如果想要更改elasticsearch的jvm参数,可以修改./config/jvm.options文件
安装完城后执行 ./bin/elasticsearch -d 即可,可以使用jps命令查看是否正常启动。
- 安装skywalking
在我本机使用默认配置的127.0.0.1地址总是执行失败,因此改成了局域网ip,需要改的地方有./bin下的.sh文件中的ip,./config/application.yml里面的所有ip,配置文件中还需要配置elasticsearch信息:
启动:执行./bin/startup.sh即可。
4、 监控远程应用
将skywalking解压文件夹中的agent文件夹拷贝到需要监控的应用所在的服务器,更改./agent/config下的配置文件,重点添加如下配置:
collector.servers=192.168.10.4:10800
其中192.168.10.4是skywalking主程序中配置的地址。
正常启动java应用,带上如下参数:
-javaagent:/usr/local/dcdy/call-chain/skywalking/server/skywalking-5.0.0/agent/skywalking-agent.jar
5、测试:(spring-boot 和tomcat)
- 效果展示