3.【skywalking】从入门到放弃-项目简单集成

784 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 4 天,点击查看活动详情

文档参考: 2.Skywalking初体验 - 掘金 (juejin.cn)

juejin.cn/post/720258… 2.【skywalking】从入门到放弃-概念篇

skywalking在已有项目中集成-ieda版

由于之前项目以及成熟,需要在已有的项目结构基础上最小成本加入链路日志,由于skywalking 探针和 service mesh机制,支持dubbo,代码无侵入性以及较为全面的UI功能,暂定在项目中使用skywalking。

参考文档:

skywalking.apache.org/zh/2020-04-…

github.com/apache/skyw…

2.1 版本选择

skywalking9.0.0

2.2 版本下载

github.com/apache/skyw… Git或者官网

www.apache.org/dyn/closer.…

skywalking.apache.org/downloads/

#9.0.0版本下载
wget https://github.com/apache/skywalking/archive/refs/tags/v9.0.0.zip
wget https://github.com/apache/skywalking/archive/refs/tags/v9.0.0.tar.gz
或者
wget https://downloads.apache.org/skywalking/9.0.0/apache-skywalking-apm-9.0.0-src.tgz
​
# git需要编译,我们直接下载编译好的9.0.0 tar包
[anchu@localhost software]$ mkdir skywalking
[anchu@localhost software]$ cd skywalking/
[anchu@localhost skywalking]$ wget https://downloads.apache.org/skywalking/9.0.0/apache-skywalking-apm-9.0.0-src.tgz --no-check-certificate
​
[anchu@localhost skywalking]$ ls
apache-skywalking-apm-9.0.0  apache-skywalking-apm-9.0.0-src.tgz
[anchu@localhost skywalking]$ tar xzvf apache-skywalking-apm-9.0.0-src.tgz
​

由于9.0版本不支持es存储。skywalking.apache.org/downloads/ 下,我们下载操作系统对应的发布版。

这里,我们重新选择 8.7.0版本,并且支持Elasticsearch 7.X 版本作为存储。下载版本如下

image.png

linux环境 8.7版本下载,支持es7.0

[anchu@localhost software]$ cd skywalking/
[anchu@localhost skywalking]$ wget https://archive.apache.org/dist/skywalking/8.7.0/apache-skywalking-apm-es7-8.7.0.tar.gz
[anchu@localhost skywalking]$ tar xvf apache-skywalking-apm-es7-8.7.0.tar.gz
[anchu@localhost skywalking]$ cd apache-skywalking-apm-bin-es7
[anchu@localhost apache-skywalking-apm-bin-es7]$ ls
agent  bin  config  config-examples  LICENSE  licenses  NOTICE  oap-libs  README.txt  tools  webapp

2.3 已有es环境

centos虚拟机 :本地虚拟机192.168.120.110

单机版es版本 :es7.10.0

image.png

2.4 skywalking配置持久化

配置持久化:apache-skywalking-apm-bin-es7的config目录的application.yml文件,可以看到持久化有很多方案(es,数据库,时序库,zipkin等等)可以选择,默认是内嵌数据库h2,如下:

image.png

修改持久化为es,配置如下: image.png

apache-skywalking-apm-bin-es7的webapp目录webapp.yml文件,配置端口服务地址,端口,注册中心等等

image.png

2.5 skywalking启动

apache-skywalking-apm-bin-es7的bin目录启动脚本startup.bat;apache-skywalking-apm-bin-es7的logs目录查看日志,启动成功,日志中打印了0.0.0.0:11800,这个是agent代理服务要发送的地址及端口。

image.png

浏览器访问:SkyWalking](http://localhost:8080/)

image.png

2.6 单体项目工程集成skywalking-idea版

因为skywalking使用的是agent的方式,所以对我们的代码是令侵入。只要在启动的时候指定agent的路径即可。

agent目录 :D:\software\apache-skywalking-apm-es7-8.7.0\apache-skywalking-apm-bin-es7\agent

包名:skywalking-agent.jar

java -javaagent:D:\software\apache-skywalking-apm-es7-8.7.0\apache-skywalking-apm-bin-es7\agent\\skywalking-agent.jar  
-Dskywalking.agent.service_name=wsnb-goods-service
-Dskywalking.collector.backend_service=127.0.0.1:11800 
-jar wsnb-goods-1.0-SNAPSHOT.jar &

参数解释:

-javaagent:D:\software\apache-skywalking-apm-es7-8.7.0\apache-skywalking-apm-bin-es7\agent\skywalking-agent.jar   # 指定agent-jar的位置

-Dskywalking.agent.service_name=wsnb-goods-service  # 服务名称

-Dskywalking.collector.backend_service=127.0.0.1:11800 # 指定skywalking的地址

ieda中配置启动参数,vm options加入如下参数 image.png 服务启动后,开始的几行会打印如下日志:

image.png

浏览器查看

(注意只有调用一次接口,skyworking才能看到数据,之前调用了查看积分商品详情的接口backplat/pointgoods/detail)看到监控信息如下

image.png

查看服务拓扑图

image.png 点击追踪,可以查看整个服务链路,由于此次实验的是单体应用,暂不展示。