01. SkyWalking 介绍与安装
1. 介绍
1. 基本信息
SkyWalking 创建于2015年,提供分布式追踪功能。从5.x开始,项目进化为一个完成功能的Application Performance Management系统。
他被用于追踪、监控和诊断分布式系统,特别是使用微服务架构,云原生或容积技术。提供以下主要功能:
- 分布式追踪和上下文传输
- 应用、实例、服务性能指标分析
- 根源分析
- 应用拓扑分析
- 应用和服务依赖分析
- 慢服务检测
- 性能优化
2. SkyWalking的主要部分及其功能
SkyWalking主要由三大部分组成:Agent,Collector,Web;
- Agent:作用是使用JavaAgent字节码增强技术将Agent的代码织入程序中,完成Agent无代码侵入地获取程序内方法的上下文并进行增强和收集信息并发送给Collector;与Collector进行心跳,表明Agent客户端的存活。
- Collector:作用是维护存活的Agent实例,并收集从Agent发送至Collector的数据,进行处理及持久化;
-
Web:作用是将Collector收集的参数进行不同维度的展示
链路追踪的主要流程.png
2. 如何安装SkyWalking(Java)(本机)
- 在安装SkyWalking之前,需要选择数据的存在方式并进行搭建环境,SkyWalking支持两种存储方式:H2和ES
如何安装ES? - 获取Apache的最新发布的稳定版本或者下载github上面的源码在稳定版本的tag上进行编译
完成之后会获取到如下图所示的文件结构
SkyWalking-图1 - 安装collector模块
修改collector的配置:找到config目录下的application.yml文件,找到以下的配置,
storage:
elasticsearch:
clusterName: CollectorDBCluster //修改集群名称为你的ES的集群名称
clusterNodes: localhost:9300 //修改集群节点为你的ES的集群节点地址
然后启动bin
目录下的startup.sh
就可以将collector和Web模块启动起来了。访问本地的8080端口即可登录页面,账号密码都为admin
- 激活Agent模块
- 修改Agent配置
#应用的唯一标示,以应用为粒度。
agent.application_code=Your_ApplicationName //改为你的项目名字
#collector的端口服务地址;
collector.servers=127.0.0.1:10800 //不用改变
- 启动Agent
1) 基于Tomcat的服务(SpringMvc
)
在tomcat的bin目录下的setenv.sh中增加如下命令行
JAVA_OPTS="$JAVA_OPTS -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar"
/usr/local/skywalking-agent/skywalking-agent.jar
这个代表的是skywalking-agent的jar的绝对路径
2)基于JAR file的服务(SpringBoot
)
在启动你的应用程序的命令行中添加 -javaagent 参数. 并确保在-jar参数之前添加它. 例如:
java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -jar yourApp.jar
然后重启服务,就可以看到页面上有数据了;如果发生了其他错误,请查看日志进行详细排查;collector的日志和Web的日志都是在SkyWalking-图1
根目录的log目录之中(会在collector启动之后创建);Agent的目录是在agent目录之下。
网友评论