6、SkyWalking高级特性

SkyWalking高级特性

文件状态:

[ ] 草稿

[√] 正在修改

当前版本

1.0

历史修订版本

1.0;

作    者

杜有龙

完成日期

2019-01-22

 

  1. agent插件使用

插件全部放置在 /agent/plugins目录中。新的插件只需要在启动阶段放在目录中就自动生效,删除则失效。

 

2、agent日志位置

\agent\logs

3、自定义配置过滤路径

3.1参考文献

-- from

https://github.com/apache/incubator-skywalking/blob/5.x/apm-sniffer/optional-plugins/trace-ignore-plugin/README_CN.md

即个性化服务过滤。

SkyWalking提供了一个可选插件 apm-trace-ignore-plugin。

3.2介绍

  • 这个插件的作用是对追踪的个性化服务过滤。
  • 可以设置多个需要忽略的URL路径, 意味着包含这些路径的追踪信息不会被agent发送到 collector。
  • 当前的路径匹配规则是Ant Path匹配风格 , 例如 /path/*, /path/**, /path/?。
  • 将apm-trace-ignore-plugin-x.jar拷贝到agent/plugins后,重启探针即可生效。
  • Skywalking-使用可选插件 apm-trace-ignore-plugin 有详细使用介绍

请访问https://blog.csdn.net/u013095337/article/details/80452088

3.3如何配置路径

有两种配置方式,可使用任意一种,配置生效的优先级从高到低:

1、在系统环境变量中配置,需要在系统变量中添加skywalking.trace.ignore_path, 值是需要忽略的路径,多个以,号分隔

如:在启动参数设置,添加-Dskywalking.trace.ignore_path=/your/path/**

2、将

/agent/optional-plugins/apm-trace-ignore-plugin/apm-trace-ignore-plugin.config 复制或剪切到 /agent/config/ 目录下,

加上配置

trace.ignore_path=/your/path/1/**,/your/path/2/**

https://oscimg.oschina.net/oscnet/4dfcf7d21c201ab59ac53cf1a4308cdae9e.jpg

4、使用SkyWalking手动追踪API

使用 maven 和 gradle 依赖相应的工具包,该工具包通过mavne有可能无法下载,可手动下载jar导入到maven

   <dependency>

      <groupId>org.apache.skywalking</groupId>

      <artifactId>apm-toolkit-trace</artifactId>

      <version>${skywalking.version}</version>

   </dependency>

 

可使用 TraceContext.traceId() API,在应用程序的任何地方获取traceId.

import org.apache.skywalking.apm.toolkit.trace.TraceContext;

...

modelAndView.addObject("traceId", TraceContext.traceId());

示例代码,仅供参考:

import org.apache.skywalking.apm.toolkit.trace.Trace;

对任何需要追踪的方法,使用 @Trace 标注,则此方法会被加入到追踪链中。

 

在被追踪的方法中自定义 tag。

ActiveSpan.tag("my_tag", "my_value");

    /**

     * 对任何需要追踪的方法,使用 @Trace 标注,则此方法会被加入到追踪链中。

     * 在被追踪的方法中自定义 tag.

     */

    @RequestMapping("/login")

    @Trace

    public String login(@RequestParam("userName") String userName, @RequestParam("passwrod") String passwrod){

        logger.info("login to system1, user: " + userName);

        //TraceContext.traceId() API,在应用程序的任何地方获取traceId.

        System.out.println(userName + "======" + passwrod + "========"+ TraceContext.traceId());

        ActiveSpan.tag("login_tag", "login to system, user: " + userName);

        return userService.login(userName,passwrod);

    }

5、增加log4j2日志组件集成

使用 maven 和 gradle 依赖相应的工具包

<dependency>
      <groupId>org.apache.skywalking</groupId>
      <artifactId>apm-toolkit-log4j-2.x</artifactId>
      <version>{project.release.version}</version>
   </dependency>

 

在log4j2.xml中的pattern 配置节,配置[%traceId]

 <Appenders>
      <Console name="Console" target="SYSTEM_OUT">
         <PatternLayout pattern="%d [%traceId] %-5p %c{1}:%L - %m%n"/>
      </Console>
   </Appenders>

当使用-javaagent参数激活sky-walking的探针, 如果当前上下文中存在traceid,log4j2将在输出traceId。如果探针没有被激活,将输出TID: N/A。

 

6、agent config非官方解释

--from https://juejin.im/post/5ab5b0e26fb9a028e25d7fcb
 

配置conf文件 /config/agent.config

 

# 当前的应用编码,最终会显示在webui上。

# 建议一个应用的多个实例,使用有相同的application_code。请使用英文

agent.application_code=Your_ApplicationName

 

# 每三秒采样的Trace数量

# 默认为负数,代表在保证不超过内存Buffer区的前提下,采集所有的Trace

# agent.sample_n_per_3_secs=-1

 

# 设置需要忽略的请求地址

# 默认配置如下

# agent.ignore_suffix=.jpg,.jpeg,.js,.css,.png,.bmp,.gif,.ico,.mp3,.mp4,.html,.svg

 

# 探针调试开关,如果设置为true,探针会将所有操作字节码的类输出到/debugging目录下

# skywalking团队可能在调试,需要此文件

# agent.is_open_debugging_class = true

 

# 对应Collector的config/application.yml配置文件中 agent_server/jetty/port 配置内容

# 例如:

# 单节点配置:SERVERS="127.0.0.1:8080"

# 集群配置:SERVERS="10.2.45.126:8080,10.2.45.127:7600"

collector.servers=127.0.0.1:10800

 

# 日志文件名称前缀

logging.file_name=skywalking-agent.log

 

# 日志文件最大大小

# 如果超过此大小,则会生成新文件。

# 默认为300M

logging.max_file_size=314572800

 

# 日志级别,默认为DEBUG。

logging.level=DEBUG

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清云逸仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值