1.整体架构
整个架构,分成上、下、左、右四部分:
- 上部分 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 :负责提供控台,查看链路等等。
2.搭建 SkyWalking 单机环境
搭建一个 SkyWalking 单机环境,步骤如下:
- 搭建一个 elasticsearch 服务;
- 下载 skywalking 软件包;
- 搭建一个 skywalking OAP 服务;
- 启动一个 Spring Boot 应用,并配置 SkyWalking Agent;
- 搭建一个 SkyWalking UI 服务。
2.1 拉取镜像
docker pull elasticsearch:7.5.1
docker pull apache/skywalking-oap-server:6.6.0-es7
docker pull apache/skywalking-ui:6.6.0
下载源代码包,下面会使用 agent
wget https://archive.apache.org/dist/skywalking/6.6.0/apache-skywalking-apm-6.6.0.tar.gz
2.2 Elasticsearch搭建
2.2.1 修改系统参数
cat << 'EOF' >> /etc/sysctl.conf
vm.max_map_count=262144
EOF
sysctl -p
2.2.2 启动 es
docker run -d --name=es7 \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node&#