skywalking03 - skywalking入门使用

简介: skywalking03 - skywalking入门使用

skywalking03 - skywalking入门使用

  • 在部署好skywalking的后端(oap),以及界面(UI),我们就要尝试进行简单的使用了.
  • 本章所涉及的代码,以及skywalking官方的可运行安装包均提供在了github的demo工程里,可供阅后实践.skywalking-plugin-example

准备一个DEMO工程

skywalking会收集工程中Controller的信息,作为他的端点(endpoint),所以我们准备一个Controller.

skywalking03 - skywalking入门使用

@RestController
@Configuration
@SpringBootApplication
public class FooApplication {
    /**
     * @param args
     */
    public static void main(String[] args) {
        SpringApplication.run(FooApplication.class);
    }
    @Autowired
    JdbcTemplate jdbc;
    @RequestMapping("foo")
    public String foo(@RequestParam("p") String s) {
        jdbc.execute("select 1");
        return new Base64().encodeToString(s.getBytes(StandardCharsets.UTF_8));
    }
    @Bean
    public DataSource dataSource() {
        return new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseType.H2).build();
    }
}

准备好探针Agent

这探针在官方的agent文件夹中,命名为skywalking-agent.jar

启动工程

准备启动命令

在idea中启动工程时,需要加上JVM参数,将探针作为代理.如上图展示,agent的包的绝对路径为: /home/wanglh/IdeaProjects/skywalking-plugin-example/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar ,那么启动参数添加如下:(windows下也相似,替换不同的路径即可,不熟悉可参照demo工程中的readme.md操作)

-javaagent:/home/wanglh/IdeaProjects/skywalking-plugin-example/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar
-DSW_AGENT_NAME=foo-service
  • -javaagent指定了代理jar包的位置,即skywalking的探针
  • -DSW_AGENT_NAME指定了SW_AGENT_NAME变量的值,这个值会被探针的读取,具体可以看其在config/agent.config文件中的配置,会读取变量SW_AGENT_NAME,否则默认为"Your_ApplicationName":
agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}

在idea里面添加的效果图如下:

启动

点击idea的启动按钮,可以看到如下日志:

  • 最顶上会打印出探针包加载的jar包本身,以及配置文件agent.config的路径,这样表示我们的探针成功代理了我们的工程.
  • 同时demo工程在8081端口启动

访问URL产生链路

curl http://localhost:8081/foo?p=a

当然也可以手动访问浏览器.多刷新几次,产生多条记录.

查看skywalking链路

skywalking默认安装部署启动的端口在8080.访问http://localhost:8080/即可.

点击页面顶部的"追踪"或者"trace",当然也可以直接访问http://localhost:8080/trace直达.

选择服务

选择我们demo工程注册上来的服务foo-service

选择时间范围

这里有几个注意点:

  1. 探针收集链路再传送到服务端是有延迟的,不是立马就能显示.
  2. 点击搜索前时间范围一定要注意,如果时间范围的截止时间在产生链路之前,那肯定搜不到了.
  3. skywalking也不知道是不是时区差,还是什么时间参数的配置,即便是几分钟内产生的,选"最近15分钟"可能还是看不到记录的,尝试过两个不同版本,选"最近1天"/“最近1周”,应该就能看到记录了,看不到请再延长试试…不一定是没收集到.具体原因后续再探究,这里不做深入.

点击搜索

点击搜索可以查看到链路

链路概览

  • TraceId: 链路ID往往用来追踪整条链路,用来去搜索日志.
  • 右侧可以切换不同的试图
  • 数状图展示了一条链路的信息,使用的时长\开始结束时间\跨度(Span)

具体Span

点击链路上具体的Span,可以看到其具体信息:

例如可以看到 服务名/端点/Span类型/组件/状态/url/HTTP请求方法 等,不同的Span的信息会不同,也可以支持自定义增强字段.

目录
相关文章
|
SQL 监控 测试技术
搭建Jaeger
搭建Jaeger
102 0
|
SQL Java Apache
skywalking 搭建(apache-skywalking-apm-es7-7.0.0)
skywalking 搭建(apache-skywalking-apm-es7-7.0.0)
462 0
|
4月前
|
Prometheus 监控 Cloud Native
性能监控神器Prometheus、Grafana、ELK 在springboot中的运用
【6月更文挑战第27天】在 Spring Boot 应用中,监控和日志管理是确保系统稳定性和性能的重要手段。
159 4
|
5月前
|
消息中间件 Java Kafka
skywalking日志收集
skywalking日志收集
skywalking日志收集
|
前端开发 Java 开发工具
skywalking07 - skywalking如何收集Controller的链路
skywalking07 - skywalking如何收集Controller的链路
97 1
|
关系型数据库 MySQL 数据库
skywalking02 - skywalking安装
skywalking02 - skywalking安装
141 0
|
存储 JavaScript Cloud Native
skywalking01 - skywalking介绍
skywalking01 - skywalking介绍
132 0
|
Java 数据库
skywalking05 - skywalking探针插件开发
skywalking05 - skywalking探针插件开发
210 0
|
SQL 监控 Java
Skywalking的不足
Skywalking的不足 全链路压测监控工具
483 0
|
存储 数据采集 Ubuntu
Skywalking实战
Skywalking实战
623 0
下一篇
无影云桌面