Skip to content

SkyWalking

查资料时整理下来的。东西比较多,有点乱。

  • 参考文档

  • ElasticSearch

    当前 SkyWalking 的最新 Release 版本 5.0.0-GA 仅支持 Elasticsearch 5.x,不支持最新的 Elasticsearch 6.x

    properties
    cluster.name: CollectorDBCluster
    node.name: node-liujj
    # ES 监听的 ip 地址
    network.host: 0.0.0.0
    thread_pool.bulk.queue_size: 1000

    开启 ElasticSearch 的 CORS

    properties
    http.cors.enabled: true     # elasticsearch 中启用 CORS
    http.cors.allow-origin: "*" # 允许访问的 IP 地址段,* 为所有 IP 都可以访问
  • Java

    batch
    java -javaagent:D:/middleware/log/apache-skywalking-apm-incubating/agent/skywalking-agent.jar -jar D:\middleware\octmiddleware\OctMidApi\target\OctMidApi-1.0-SNAPSHOT.jar
  • .NET Core Agent

    两种方式,第一种是通过安装包的方式到项目,最新版本为 0.3.0

    1. SkyWalking 分布式追踪系统

      batch
      Install-Package SkyWalking.AspNetCore
    2. skywalking-netcore

      batch
      dotnet tool install -g SkyWalking.DotNet.CLI
      batch
      dotnet skywalking install

      generate config file

      batch
      dotnet skywalking config sample_app 192.168.0.1:11800

      start on windows

      batch
      dotnet new mvc -n sampleapp
      cd sampleapp
      
      // enable SkyWalking.Agent.AspNetCore
      set ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyWalking.Agent.AspNetCore
      set DOTNET_ADDITIONAL_DEPS=%PROGRAMFILES%\dotnet\x64\additionalDeps\skywalking.agent.aspnetcore
      
      // set Application_Code
      set SKYWALKING__APPLICATIONCODE=sample_app
      
      dotnet run
  • Java Agent

    java
    public enum LogLevel {
        DEBUG, INFO, WARN, ERROR, OFF
    }
  • Logback 组件

    • Application-toolkit-logback-1.x-CN.md

      pom.xml

      xml
      <dependency>
          <groupId>org.apache.skywalking</groupId>
          <artifactId>apm-toolkit-logback-1.x</artifactId>
          <version>{project.release.version}</version>
      </dependency>

      logback.xml

      xml
      <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
          <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
              <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
                  <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{36} -%msg%n</Pattern>
              </layout>
          </encoder>
      </appender>
  • 使用 SkyWalking 手动追踪 API

    pom.xml

    xml
    <dependency>
        <groupId>org.apache.skywalking</groupId>
        <artifactId>apm-toolkit-trace</artifactId>
        <version>${skywalking.version}</version>
    </dependency>

    java

    java
    import TraceContext;
    String traceId = TraceContext.traceId();

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

    java
    // 自定义 tag.
    ActiveSpan.tag("my_tag", "my_value");
  • 可选插件

    可选插件可以由源代码或者 agent 下的 optional-plugins 文件夹中提供。

    为了使用这些插件,你需要自己编译源代码,或将某些插件复制到/plugins。

    • Spring bean 插件
    • 个性化服务过滤
      • 介绍
        • 这个插件的作用是对追踪的个性化服务过滤。
        • 你可以设置多个需要忽略的 URL 路径,意味着包含这些路径的追踪信息不会被 agent 发送到 collector.
        • 当前的路径匹配规则是 Ant Path 匹配风格 , 例如 /path/*, /path/**, /path/?.
        • 将 apm-trace-ignore-plugin-x.jar 拷贝到 agent/plugins 后,重启探针即可生效
        • Skywalking-使用可选插件 apm-trace-ignore-plugin 有详细使用介绍
      • 如何配置路径
        有两种配置方式,可使用任意一种,配置生效的优先级从高到低
        • 在系统环境变量中配置,你需要在系统变量中添加 skywalking.trace.ignore_path, 值是你需要忽略的路径,多个以,号分隔
        • /agent/optional-plugins/apm-trace-ignore-plugin/apm-trace-ignore-plugin.config 复制或剪切到 /agent/config/ 目录下,加上配置 trace.ignore_path=/your/path/1/**,/your/path/2/**
  • Zipkin 接收器