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文件夹中,命名为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的启动按钮,可以看到如下日志:
curl http://localhost:8081/foo?p=a
当然也可以手动访问浏览器.多刷新几次,产生多条记录.
skywalking默认安装部署启动的端口在8080.访问http://localhost:8080/即可.
点击页面顶部的"追踪"或者"trace",当然也可以直接访问http://localhost:8080/trace直达.
选择我们demo工程注册上来的服务foo-service
这里有几个注意点:
点击搜索可以查看到链路
点击链路上具体的Span,可以看到其具体信息:
例如可以看到 服务名/端点/Span类型/组件/状态/url/HTTP请求方法 等,不同的Span的信息会不同,也可以支持自定义增强字段.
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/a17816876003/article/details/113683305
内容来源于网络,如有侵权,请联系作者删除!