Skywalking初体验

1.tomcat整合skywalking的使用

先修改apache-skywalking-apm-bin/agent/config下的agent.config,给tomcat一个名字

image-20200805094251018

在tomcat的catalina.sh中首行添加

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/wgr/apache-skywalking-apm-bin/agent/skywalking-agent.jar"; export CATALINA_OPTS

然后在把war包丢进tomcat,进行调用

接口的代码如下:

image-20200805094512318

效果图如下:

image-20200805090518714

image-20200805090605956

2.springboot整合skywalking使用

复制一份agent,修改名字

[root@cicd apache-skywalking-apm-bin]# cp -r agent agent_boot
[root@cicd apache-skywalking-apm-bin]# vim agent_boot/config/agent.config

启动jar包

[root@cicd wgr]# java -javaagent:/wgr/apache-skywalking-apm-bin/agent_boot/skywalking-agent.jar -Dserver.port=8082 -jar skywalking_springboot.jar &
[1] 28360
[root@cicd wgr]# DEBUG 2020-08-04 21:23:40:465 main AgentPackagePath : The beacon class location is jar:file:/wgr/apache-skywalking-apm-bin/agent_boot/skywalking-agent.jar!/org/apache/skywalking/apm/agent/core/boot/AgentPackagePath.class.
INFO 2020-08-04 21:23:40:469 main SnifferConfigInitializer : Config file found in /wgr/apache-skywalking-apm-bin/agent_boot/config/agent.config.

  .   ____          _            __ _ _
 /\ / ___'_ __ _ _(_)_ __  __ _    
( ( )\___ | '_ | '_| | '_ / _` |    
 \/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::       (v2.1.10.RELEASE)

2020-08-04 21:23:57.564  INFO 28360 --- [           main] c.i.s.SkywalkingSpringbootApplication    : Starting SkywalkingSpringbootApplication v0.0.1-SNAPSHOT on cicd with PID 28360 (/wgr/skywalking_springboot.jar started by root in /wgr)
2020-08-04 21:23:57.585  INFO 28360 --- [           main] c.i.s.SkywalkingSpringbootApplication    : No active profile set, falling back to default profiles: default
2020-08-04 21:24:01.650  INFO 28360 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8082 (http)
2020-08-04 21:24:01.762  INFO 28360 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-08-04 21:24:01.762  INFO 28360 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.27]
2020-08-04 21:24:01.935  INFO 28360 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-08-04 21:24:01.935  INFO 28360 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 4091 ms
2020-08-04 21:24:02.505  INFO 28360 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-08-04 21:24:02.943  INFO 28360 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8082 (http) with context path ''
2020-08-04 21:24:02.951  INFO 28360 --- [           main] c.i.s.SkywalkingSpringbootApplication    : Started SkywalkingSpringbootApplication in 8.399 seconds (JVM running for 22.94)
2020-08-04 21:24:37.924  INFO 28360 --- [nio-8082-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-08-04 21:24:37.933  INFO 28360 --- [nio-8082-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2020-08-04 21:24:38.041  INFO 28360 --- [nio-8082-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 107 ms

image-20200805094918709

3.页面简单介绍

1 仪表盘
打开RocketBot默认会出现仪表盘页面:

image-20200805095017884

仪表盘页面分为两大块:
1. 服务仪表盘,展示服务的调用情况
2.数据库仪表盘,展示数据库的响应时间等数据
选中服务仪表盘,有四个维度的统计数据可以进行查看:
1. 全局,查看全局接口的调用,包括全局响应时长的百分比,最慢的端点,服务的吞吐量等
2.服务,显示服务的响应时长、 SLA、吞吐量等信息
3.端点,显示端点的响应时长、 SLA、吞吐量等信息
4.实例,显示实例的响应时长、 SLA、吞吐量等信息,还可以查看实例的JVM的GC信息、CPU信息、内存信息

2 拓扑图
Skywalking提供拓扑图,直观的查看服务之间的调用关系:

image-20200805095047794

User 代表用户应用,目前案例中其实是浏览器
图中Skywalking_boot应用被User调用,同时显示它是一个Spring MVC的应用。后续案例中会出现多个
应用调用,使用拓扑图就能清楚的分析其调用关系了。

3 追踪
在Skywalking中,每一次用户发起一条请求,就可以视为一条追踪数据,每条追踪数据携带有一个ID值。追踪数据在追踪页面中可以进行查询:

image-20200805095223825

左侧是追踪列表,也可以通过上方的追踪 ID来进行查询。点击追踪列表某一条记录之后,右侧会显示出
此条追踪的详细信息。有三种显示效果:
1.列表
2.树结构
3.表格
可以很好的展现此条追踪的调用链情况而链路上每个节点,可以通过左键点击节点查看详细信息:

image-20200805095303036

当前的接口是 HTTP的GET请求,相对比较简单,后续的示例中出现异常情况或者数据库访问,可以打印出异常信息、堆栈甚至详细的SQL语句。

4 告警
Skywalking中的告警功能相对比较简单,在达到告警阈值之后会生成一条告警记录,在告警页面上进行
展示。后面在详细的研究一下。

原文地址:https://www.cnblogs.com/dalianpai/p/13437995.html