skywalking 安装部署

664 阅读2分钟

官网:archive.apache.org/dist/skywal…

image.png

skywalking服务端部署

一、下载解压

二、修改配置端口

默认是8080,可以改一下避免冲突

修改webapp/application配置文件的port,我这里改成 9001(注意防火墙入站规则记得改)

image.png

三、启动

image.png

image.png

启动后skywalking-oap-server会暴露1180012800两个端口,分别为收集监控数据的端口11800和接收前端请求的端口12800

四、访问

浏览器访问 http://localhost:9001/

image.png

下面绑定客户端

skywalking跨多个微服务跟踪,只需每个微服务启动时添加javaagent参数即可。

启动微服务,配置skywalking的jvm参数:
    -javaagent:D:\apache-skywalking-apm-bin-es7\agent\skywalking-agent.jar
    -DSW_AGENT_NAME=nacos-stock
    -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800
注:javaagent:的值为skywalking中agent下skywalking-agent.jar的目录,最好不要中文,防止出问题。
    DSW_AGENT_NAME:项目名
    DSW_AGENT_COLLECTOR_BACKEND_SERVICES:绑定端口

一、修改配置

我这里有两个服务,所以改两个,如果有多个,就改多个,改完启动项目即可。

image.png

image.png

image.png

再次访问 http://localhost:9001/ ,可以看到skywalking已经有对应实例了。

image.png

项目部署,可以添加对应参数达到效果。

skywalking持久化

默认h2内存中,重启后数据会丢失、内存爆满等问题。

一、修改配置

修改 ~\apache-skywalking-apm-bin-es7\config\application.yml配置文件

image.png

image.png

因为上面数据库名没改,所以得创建一个数据库名为swtest的数据库,不需要创建表,启动skywalking后会自动建表。

image.png

二、重新启动skywalking

image.png

这时候有一个窗口自动关闭了,通过日志发现是缺少mysql驱动,只需要把mysql驱动放到oap-libs目录下即可,注意版本和驱动的关系,有的cj.jdbc,有的没有,对应的版本不一样。

重新启动后,数据库表也自动建成

image.png

自定义链路

skywalking 不会自动追踪业务层方法,可以自定义。

一、添加依赖

<!-- skywalking 工具类,跟版本一致 -->
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-trace</artifactId>
    <version>8.5.0</version>
</dependency>

二、方法添加注解

@Trace
@Tag(key="",value="returnedObj") // 指定返回值,key一般写方法名,value必须写死
@Tags({@Tag(key="",value="returnedObj"),@Tag(key="",value="returnedObj")}) // 指定参数