安装
https://skywalking.apache.org/downloads/
这两个包,一个支持es,一个不支持es存储,看个人需要,我先用上面那个作为演示,后面换成es作为存储介质。
下载速度还算是挺快的,因为apache额外提供了国内镜像站。
tar -zxvf apache-skywalking-apm-8.2.0.tar.gz
cd apache-skywalking-apm-bin
##默认情况下,使用h2数据库存储,无需修改相关配置,也能启动
cd bin
./startup.sh
启动成功:进入192.168.1.47:8080(webUI端口8080)
启动日志文件:在安装目录的logs目录下。
如果无法进入web页面,报错信息主要可以观察skywalking-oap-server.log和webapp.log这两个日志文件。
整合微服务(jar包启动)
在启动项目的shell脚本上,通过-javaagent参数进行配置Skywalking agent。
准备一个springboot程序,打成可执行jar包,写一个shell脚本。(重点)
vi bootShell.sh
#!/bin/sh
# SkyWalking Agent配置
export SW_AGENT_NAME=boot-micrometer #Agent名字,一般使用`spring.application.name`
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800 #配置 Collector 地址。
export SW_AGENT_SPAN_LIMIT=2000 #配置链路的最大Span数量,默认为 300。
export JAVA_AGENT=-javaagent:/opt/apache-skywalking-apm-bin/agent/skywalking-agent.jar
java $JAVA_AGENT -jar boot-micrometer-0.0.1-SNAPSHOT.jar #jar启动
执行:
chmod 777 bootShell.sh
nohup ./bootShell.sh &
执行完成后,我们可以看到多出来一个服务实例。
点击右下角,切换时间为最近三十分钟(如果你访问服务的端口,就可以看到数据啦)
页面也是十分炫酷的,比zipkin要好看一点。
服务详细信息:
拓扑图:
链路追踪:
还有一堆功能,自己多点点,页面上功能应该也都能发现出来。
tomcat部署
修改:apache-tomcat-xxxx/bin/catalina.sh文件
在#!/bin/sh下一行加上:
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/opt/apache-skywalking-apm-bin/agent/skywalking-agent.jar";
export CATALINA_OPTS;
然后启动tomcat,注意tomcat可能会和skywalking ui端口冲突,二者改其一。
idea中开发使用Skywalking
在运行的程序配置jvm参数和环境变量参数,如下图所示:
-javaagent:E:/devSoft/apache-skywalking-apm-bin/agent/skywalking-agent.jar
SW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.1.47:11800;SW_AGENT_NAME=gulimall-product
配置好后,然后启动服务。刚才注册的gulimall-product服务也被发现了,包括redis,mysql。