SkyWalking
查资料时整理下来的。东西比较多,有点乱。
参考文档
- 源码: Config.java
5.0.0-GA
快速启动是为了让终端用户在本地快速启动 SkyWalking.
- 从 Apache 官方网站下载发布版本。Link
- 本地部署后台。See collector 单机模式文档
- 部署 Java Agent. Doc
- 设置正确的系统时间(包括时区).
- 重新启动你的应用程序,然后打开 UI.
- 登录页面的默认用户名/密码是
admin/admin
.
如果您想将 SkyWalking 作为集群部署在服务器或云中,请参考如下两个文档:
ElasticSearch
当前 SkyWalking 的最新 Release 版本 5.0.0-GA 仅支持 Elasticsearch 5.x,不支持最新的 Elasticsearch 6.x
propertiescluster.name: CollectorDBCluster node.name: node-liujj # ES 监听的 ip 地址 network.host: 0.0.0.0 thread_pool.bulk.queue_size: 1000
开启 ElasticSearch 的 CORS
propertieshttp.cors.enabled: true # elasticsearch 中启用 CORS http.cors.allow-origin: "*" # 允许访问的 IP 地址段,* 为所有 IP 都可以访问
Java
batchjava -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
- batch
Install-Package SkyWalking.AspNetCore
- batch
dotnet tool install -g SkyWalking.DotNet.CLI
batchdotnet skywalking install
generate config file
batchdotnet skywalking config sample_app 192.168.0.1:11800
start on windows
batchdotnet 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
javapublic 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>
pom.xml
xml<dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm-toolkit-trace</artifactId> <version>${skywalking.version}</version> </dependency>
java
javaimport 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/**
- 介绍