Linux下安装 SkyWalking 分布式追踪系统
https://skywalking.apache.org/downloads/ 官网地址
1、SkyWalking简介
1.1 SkyWalking介绍
SkyWalking项目是由华为大牛吴晟开源的个人项目,目前已经加入Apache孵化器。 SkyWalking项目的核心目标是针对微服务、Cloud Native、容器化架构提供应用性能监控和分布式调用链追踪功能,目前链路追踪和监控应用支持的组件包括主流框架和容器,如dubbo、motan、spring boot、spring cloud等。 Skywalking分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计,它是一款优秀的APM(Application Performance Management)工具,包括了分布式追踪,性能指标分析和服务依赖分析等。

整个架构,分成上、下、左、右四部分:
- 上部分 Agent :负责从应用中,收集链路信息,发送给 SkyWalking OAP 服务器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 数据信息。而我们目前采用的是,SkyWalking Agent 收集 SkyWalking Tracing 数据,传递给服务器。
- 下部分 SkyWalking OAP :负责接收 Agent 发送的 Tracing 数据信息,然后进行分析(Analysis Core) ,存储到外部存储器( Storage ),最终提供查询( Query )功能。
- 右部分 Storage :Tracing 数据存储。目前支持 ES、MySQL、Sharding Sphere、TiDB、H2 多种存储器。而我们目前采用的是 ES ,主要考虑是 SkyWalking 开发团队自己的生产环境采用 ES 为主。
- 左部分 SkyWalking UI :负责提供控台,查看链路等等。
1.3 SkyWalking主要功能
- 多种监控手段。可以通过语言探针和 service mesh 获得监控是数据。
- 多个语言自动探针。包括 Java,.NET Core 和 Node.JS。
- 轻量高效。无需大数据平台,和大量的服务器资源。
- 模块化。UI、存储、集群管理都有多种机制可选。
- 支持告警。
- 优秀的可视化解决方案。

- Skywalking agent和业务端绑定在一起,负责收集各种监控数据
- Skywalking oapservice是负责处理监控数据,接受agent的数据并存储在数据库中,接受来自UI的请求,查询监控数据。
- Skywalking UI提供给用户,展现各种监控数据和告警。
2、部署SkyWalking
2.1 部署前准备工作
1.关闭selinux
[root@skywalking ~]#sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
2.2 部署elasticsearch
1.解压
[root@skywalking /usr/local/src]#tar -zxf elasticsearch-6.6.2.tar.gz
2.修改配置文件
[root@skywalking ~]#vim /usr/local/src/elasticsearch/config/elasticsearch.yml ...
只需要修改这个 network.host: 0.0.0.0

2.3 部署skywarking
1.解压
[root@skywalking /usr/local/src]#tar -xzf apache-skywalking-apm-6.4.0.tar.gz
2.修改配置文件

3.启动
[root@skywalking /usr/local/src]#cd skywalking/bin/
[root@skywalking /usr/local/src/skywalking/bin]#./startup.sh
4.验证是否安装成功

安装完毕后,应用采集上报数据操作
应用采集并且上报数据,直接使用agent探针方式。分为以下3步:
agent在安装包内存在.

添加启动参数,应用如果是jar命令启动,则直接添加启动参数即可
java -javaagent:/自定义path/skywalking-agent.jar -Dskywalking.collector.backend_service={{agentUrl}} -jar xxxxxx.jar
自定义path:为安装包的绝对路径
agentURL:是SkyWalking服务端安装的地址,再加上11800端口。比如:10.20.0.55:11800
应用如果是Docker镜像的部署方式,则需要将skywalking-agent.jar打到镜像里,类似下图:

3、启动项目后,即可看到监控数据,如下图:


总结
本文主要从3个方面入手:原理、搭建、使用,介绍如何快速集成使用SkyWalking。核心重点:
- SkyWalking其实就4部分组成:探针采集上报、数据分析和逻辑处理、数据存储、数据展示。安装使用简单、易上手。
- 探针技术是SkyWalking的基石,说白了就是:在类加载时进行字节码转换增强,然后去拦截请求,采集上报数据。
- UI页面的使用,多用用就熟悉了

浙公网安备 33010602011771号