Go to file
ascrutae dcf859dfc1 完成按照TraceID读取数据的逻辑 2016-11-06 19:32:19 +08:00
QA 修改大量文档说明 2016-05-26 14:24:31 +08:00
ci-dependencies 修复oracle的编译问题 2016-06-14 18:28:39 +08:00
doc Merge branch 'master' of https://github.com/wu-sheng/sky-walking 2016-08-04 16:10:28 +08:00
samples 增加新的版本号 2.0-2016,准备下一版本迭代 2016-08-18 11:37:59 +08:00
skywalking-alarm 1.修改工程结构,2. 完成部分Storage功能 2016-10-31 16:35:13 +08:00
skywalking-network 1.修改工程结构,2. 完成部分Storage功能 2016-10-31 16:35:13 +08:00
skywalking-sniffer 1.修改工程结构,2. 完成部分Storage功能 2016-10-31 16:35:13 +08:00
skywalking-storage-center 完成按照TraceID读取数据的逻辑 2016-11-06 19:32:19 +08:00
skywalking-webui 1.修改工程结构,2. 完成部分Storage功能 2016-10-31 16:35:13 +08:00
test 1.修改工程结构,2. 完成部分Storage功能 2016-10-31 16:35:13 +08:00
.travis.yml 修复CI编译出错 2016-08-10 18:30:12 +08:00
BUILD_DOC.md 增加新的版本号 2.0-2016,准备下一版本迭代 2016-08-18 11:37:59 +08:00
CONFIG_DOC.md 原有的编译文档,被分解为编译和配置两个文档。 2016-06-09 22:28:53 +08:00
LICENSE Update LICENSE 2016-05-26 17:03:11 +08:00
README.md 增加对于DataCarrier项目的关联 2016-10-31 14:49:33 +08:00
pom.xml 1.修改工程结构,2. 完成部分Storage功能 2016-10-31 16:35:13 +08:00

README.md

Sky Walking

Sky Walking logo

SkyWalking: Large-Scale Distributed Systems Tracing Infrastructure, 是一个对JAVA分布式应用程序集群的业务运行情况进行追踪、告警和分析的系统。

Build Status license

简介 / abstract

  • 核心理论为Google Dapper论文Dapper, a Large-Scale Distributed Systems Tracing Infrastructure,英语有困难的同学可参考国内翻译
  • 本分析系统能通过动态字节码技术对现有的JAVA应用或J2EE应用进行监控和数据收集并针对应用进场进行准实时告警。此外提供大量的调用性能分析功能解决目前的监控系统主要监控进程、端口而非应用实际性能的问题。
  • 支持国内常用的dubbo、dubbox、motan、httpclient等常见RPC框架支持应用异常的邮件告警
  • skywalking-sdk层面提供的埋点API同步阻塞访问时间小于100μs
  • 通过byte-buddy插件将通过动态字节码机制避免代码侵入性完成监控。动态代码模式埋点同步阻塞访问时间应在200-300μs
  • 通过DataCarrier,提供高效的并行处理能力
  • 提供一定的日志数据分析和展现能力,减少或者避免使用团队的二次开发
  • SkyWalking is an open source Large-Scale Distributed Systems Tracing Infrastructure, also been known as APM(Application Performance Management) tool. SkyWalking provides a solution to help monitor and analysis a Large-Scale Distributed Systems.
  • SkyWalking supports popular rpc frameworks, such as dubbo, dubbox, motan etc., supports email-alert when application occurs unexpected exception。
  • SkyWalking's basic API, execution time of blocking saving span must less than 100μs.
  • By using byte-buddy (Thanks to raphw), plugins use dynamic byte code generation to avoid invasive codes. plugins API, execution time of blocking saving span must between 200μs and 300μs, including execution time of dynamic byte code.
  • By using DataCarrier, provide parallel high-throughput processing capability.
  • Provide trace log analysis and presentation capabilities, Reduce or avoid add-on functions development.

Supported components

  • web container
    • Tomcat7
    • Tomcat8
  • database
    • mysql
    • oracle
    • h2
    • easily extend to support sybase, sqlserver, jtds, db2, informix
  • rpc framework
    • dubbo (tested 2.5.3)
    • dubbox (tested 2.8.4-dubbo protocol, 2.8.4-rest protocol)
    • httpClient 4.x
    • motan (tested 0.1.2)
  • cache
    • jedix 2.x
  • java local method
    • config package name or class name (Recommend to use in dev or test enviroment. Will cost too many in product enviroment.)

主要贡献者 / Contributors


OneAPM Open Source Achievement Award

In October 2016, Sky Walking won OneAPM Open Source Achievement Award. The award appreciates sky walking for its "contribution to popularization of APM technology".
OneAPM will provide financial support for the project in 2016-2017.

Thanks all users of sky walking project.


交流

Sky Walking TouTiao * Mail towu.sheng@foxmail.com * QQ群392443393请注明“Sky Walking交流” * 谁在使用Sky Walking?[点击进入](https://github.com/wu-sheng/sky-walking/issues/34)。同时请各位使用者反馈下,都在哪些项目中使用。 * if you are using SkyWalking[Report to us](https://github.com/wu-sheng/sky-walking/issues/34) please.







整体架构图

2.0 架构图

典型页面展现 / Typical UI show

  • 支持浏览器Firefox/Chrome

实时调用链路

  • 实时链路追踪展现 追踪连路图1
  • 实时链路追踪详细信息查看 追踪连路图2
  • 实时链路追踪日志查看 追踪连路图3
  • 实时链路异常告警邮件 告警邮件
  • 添加应用 添加应用
  • 应用列表展现 应用列表展现

分析汇总

  • 分析结果查询根据viewpoint模糊匹配查询。查询方式为viewpoint: + 关键字 应用列表展现
  • 分析结果展现,通过分析结果查询页面点击进入 应用列表展现
  • 分析典型调用链展现 应用列表展现

v2.0-2016 Quick Start

部署第三方软件 / Required of third party softwares

  • JDK 1.7
  • zookeeper 3.4.6
  • mysql
  • redis-3.0.5

插件支持的JDK / Supported jdk version

  • 1.7以上版本 / support 1.7+

编译与部署 / Build and deploy

下载官方的agent / Download offical agent

Download

下载并设置授权文件 / Download auth file

  • 注册并登陆过skywalking-webui创建应用。一个用户代表一个逻辑集群一个应用代表一个服务集群。如前后端应用应该设置两个应用但归属一个用户
  • Sign up and login in skywalking-webui. Create application as needed.
  • 下载授权文件放在在agent jar所在目录中
  • download auth file(*.auth), and copy the auth file to directory of the agent jar

在运行时环境中设置环境变量 / set environment variables

export SKYWALKING_RUN=true
  • 设置完成后SkyWalking将随应用启动运行
  • After set env, SkyWalking will be working, when application startup.

使用-javaagent 并启动应用程序 / start application with -javaagent

  • 为应用程序添加启动参数
java -jar ...  -javaagent:/..ospath../skywalking-agent-x.x-Final.jar
  • Tomcat可以使用修改启动文件配置-javaagent参数

在应用程序中显示traceid / How to find tid

  • 通过web应用的http调用入口通过返回的header信息找到此次调用的traceid。前提此web应用的url已经使用skywalking进行监控。

Development Documents

QA

源代码说明

Recent RoadMap

  • [Dev] v2.0-2016

    • 移除对于HadoopHBase的依赖降低部署和运维难度
    • 使用内嵌式数据库,和分布式集群
    • 移除副本发送机制
    • 支持数据文件的时间分片支持集群TB级别日志文件存储
    • 支持统计和高效的准实时统计汇总
    • 更多插件的支持
      • motan rpc framework (provided)
  • [Release] v1.0-Final

    • 客户端与服务端间使用扩展后的网络协议,前置的测试版本无法兼容,以提高服务端的稳定性和健壮性。(在内部使用过程中,发生因为安全扫描,导致服务端宕机)
    • 引入javaagent模式无需修改任何代码,完成监控。
    • 所有插件将基于字节码技术实现,原有的配置文件模式将被移除。
  • [Release] v1.0 beta

    • 修复大量前置版本的BUG
    • 提供基于MR的分析能力能够对调用链进行分析汇总并形成调用链统计视图
  • [Release] v1.0 alpha2

    • 基于v1.0-alpha1的较稳定版本在内部环境进行数月运行修复大量影响服务端运行稳定性的问题。
    • v1.0-beta将提供定时分析任务部分分析页面展现功能。
    • 预计后续版本将在插件模式上有较大改变计划针对java api的拦截和第三方拦截提供更小侵入性的方法。配置和拦截模式会发生相应变化。具体模式参考v1.0-beta发布时的说明。

More...