README.md 9.2 KB
Newer Older
wu-sheng's avatar
wu-sheng 已提交
1 2 3
Sky Walking
==========

wu-sheng's avatar
wu-sheng 已提交
4
<img src="http://wu-sheng.github.io/sky-walking/images/skywalking.png" alt="Sky Walking logo" height="90px" align="right" />
wu-sheng's avatar
wu-sheng 已提交
5

wu-sheng's avatar
wu-sheng 已提交
6
SkyWalking: Large-Scale Distributed Systems Tracing Infrastructure, also known Distributed Tracer。
wu-sheng's avatar
wu-sheng 已提交
7

wu-sheng's avatar
wu-sheng 已提交
8
[![Join the chat at https://gitter.im/sky-walking/Lobby](https://badges.gitter.im/sky-walking/Lobby.svg)](https://gitter.im/sky-walking/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
wu-sheng's avatar
wu-sheng 已提交
9
[![Build Status](https://travis-ci.org/wu-sheng/sky-walking.svg?branch=master)](https://travis-ci.org/wu-sheng/sky-walking)
10
![license](https://img.shields.io/aur/license/yaourt.svg)
wu-sheng's avatar
wu-sheng 已提交
11

wu-sheng's avatar
wu-sheng 已提交
12 13 14 15 16
# Abstract
* An open source Large-Scale Distributed Systems Tracing Infrastructure, also known a ditributed tracer.
* Based on [Google Dapper Paper: Dapper, a Large-Scale Distributed Systems Tracing Infrastructure](http://research.google.com/pubs/pub36356.html), [Simplified Chines](http://duanple.blog.163.com/blog/static/70971767201329113141336/)
* Supports popular rpc frameworks, such as [dubbo](https://github.com/alibaba/dubbo), [dubbox](https://github.com/dangdangdotcom/dubbox), [motan](https://github.com/weibocom/motan) etc., supports email-alert when application occurs unexpected exception。
* Execution time of creating span than 100μs.
wu-sheng's avatar
wu-sheng 已提交
17
* Easy to deploy, **even in product mode** ( since 2.x ) . No need of Hadoop, HBase, or Cassandra Cluster.
wu-sheng's avatar
wu-sheng 已提交
18

wu-sheng's avatar
wu-sheng 已提交
19 20 21 22 23 24 25 26 27 28 29 30 31
# 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
wu-sheng's avatar
wu-sheng 已提交
32
  * motan (tested 0.1.2)
wu-sheng's avatar
wu-sheng 已提交
33 34
* cache
  * jedix 2.x
wu-sheng's avatar
wu-sheng 已提交
35

wu-sheng's avatar
wu-sheng 已提交
36

wu-sheng's avatar
wu-sheng 已提交
37
# Contributors
38 39
* 吴晟 [wusheng](https://github.com/wu-sheng) &nbsp;&nbsp;wu.sheng@foxmail.com
* 张鑫 [zhangxin](https://github.com/ascrutae) &nbsp;&nbsp;
wu-sheng's avatar
wu-sheng 已提交
40

wu-sheng's avatar
wu-sheng 已提交
41 42 43 44 45 46 47 48

___

<a href="https://github.com/wu-sheng/sky-walking">
<img src="http://wu-sheng.github.io/sky-walking/sample-code/award/oneapm-award.png" alt="OneAPM Open Source Achievement Award" height="110px" align="left" />
</a>

In October 2016, Sky Walking won `OneAPM Open Source Achievement Award`. The award appreciates sky walking for its "*contribution to popularization of APM technology*". <br/>
wu-sheng's avatar
wu-sheng 已提交
49
[OneAPM](http://www.oneapm.com/) will provide financial support for the project in 2016-2017.<br/><br/> 
wu-sheng's avatar
wu-sheng 已提交
50 51 52
Thanks all users of sky walking project.
___

wu-sheng's avatar
wu-sheng 已提交
53
# Discussion
wu-sheng's avatar
wu-sheng 已提交
54
<img src="http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/chatapp/toutiao.JPG" alt="Sky Walking TouTiao" height="280px" align="left" />
wu-sheng's avatar
wu-sheng 已提交
55
* Mail to:wu.sheng@foxmail.com
wu-sheng's avatar
wu-sheng 已提交
56 57 58
* QQ Group:392443393
* If you are using SkyWalking,[Report to us](https://github.com/wu-sheng/sky-walking/issues/34) please.
* **Developer Org of sky-walking** is https://github.com/skywalking-developer
wu-sheng's avatar
wu-sheng 已提交
59 60 61 62 63 64 65
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
wu-sheng's avatar
wu-sheng 已提交
66
<br/>
wu-sheng's avatar
wu-sheng 已提交
67

wu-sheng's avatar
wu-sheng 已提交
68
# 整体架构图
wu-sheng's avatar
wu-sheng 已提交
69
![2.0 架构图](http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/2.0-2016/SkyWalkingArch.jpg)
wu-sheng's avatar
wu-sheng 已提交
70

71
# 典型页面展现 / Typical UI show
72
* 支持浏览器:Firefox/Chrome
wu-sheng's avatar
wu-sheng 已提交
73

wu-sheng's avatar
wu-sheng 已提交
74 75
## 实时调用链路
* 实时链路追踪展现
wu-sheng's avatar
wu-sheng 已提交
76
![追踪连路图1](http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/1.0b/callChain.png)
wu-sheng's avatar
wu-sheng 已提交
77
* 实时链路追踪详细信息查看
wu-sheng's avatar
wu-sheng 已提交
78
![追踪连路图2](http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/1.0b/callChainDetail.png)
wu-sheng's avatar
wu-sheng 已提交
79
* 实时链路追踪日志查看
wu-sheng's avatar
wu-sheng 已提交
80
![追踪连路图3](http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/1.0b/callChainLog.png)
wu-sheng's avatar
wu-sheng 已提交
81
* 实时链路异常告警邮件
wu-sheng's avatar
wu-sheng 已提交
82
![告警邮件](http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/1.0b/alarmMail.png)
wu-sheng's avatar
wu-sheng 已提交
83 84 85 86
* 添加应用
![添加应用](http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/1.0b/addApp.png)
* 应用列表展现
![应用列表展现](http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/1.0b/appList.png)
wu-sheng's avatar
wu-sheng 已提交
87 88

## 分析汇总
wu-sheng's avatar
wu-sheng 已提交
89
* 分析结果查询,根据viewpoint模糊匹配查询。查询方式为viewpoint: + 关键字
wu-sheng's avatar
wu-sheng 已提交
90
![应用列表展现](http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/1.0b/searchAnalysisResult.png)
wu-sheng's avatar
wu-sheng 已提交
91
* 分析结果展现,通过分析结果查询页面点击进入
wu-sheng's avatar
wu-sheng 已提交
92 93 94
![应用列表展现](http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/1.0b/analysisResult.png)
* 分析典型调用链展现
![应用列表展现](http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/1.0b/typicalAnalysisResult.png)
wu-sheng's avatar
wu-sheng 已提交
95

96
# v2.0-2016 Quick Start
97

wu-sheng's avatar
wu-sheng 已提交
98 99
## Required of third party softwares
- JDK 1.8
100 101 102 103
- zookeeper 3.4.6
- mysql
- redis-3.0.5

wu-sheng's avatar
wu-sheng 已提交
104 105
## instrument javaagent jdk version
- support 1.6+ , instruments applications can run in jdk6
106

wu-sheng's avatar
wu-sheng 已提交
107
## 编译与部署 / Build and deploy
wu-sheng's avatar
wu-sheng 已提交
108 109
- 服务端发布版本[下载](https://github.com/wu-sheng/sky-walking/releases)  (.tar.gz)
- Download Server release version. [Download](https://github.com/wu-sheng/sky-walking/releases)  (.tar.gz)
110 111 112 113
- [配置应用服务器](CONFIG_DOC.md)
- [config servers](CONFIG_DOC.md)
- 如果您想自己编译最新版本,可参考《[代码编译说明](BUILD_DOC.md)
- [Code compilation instructions](BUILD_DOC.md)
wu-sheng's avatar
wu-sheng 已提交
114

wu-sheng's avatar
wu-sheng 已提交
115

wu-sheng's avatar
wu-sheng 已提交
116
## Download offical agent
wu-sheng's avatar
wu-sheng 已提交
117
[ ![Download](https://api.bintray.com/packages/wu-sheng/skywalking/com.a.eye.skywalking-agent/images/download.svg) ](https://bintray.com/wu-sheng/skywalking/com.a.eye.skywalking-agent/_latestVersion)
wu-sheng's avatar
wu-sheng 已提交
118

wu-sheng's avatar
wu-sheng 已提交
119 120
- 通过github-release[下载](https://github.com/wu-sheng/sky-walking/releases)
- 通过[skywalking bintray官网](https://bintray.com/wu-sheng/skywalking/)托管,可使用公网仓库[https://jcenter.bintray.com/](https://jcenter.bintray.com/)下载。
wu-sheng's avatar
wu-sheng 已提交
121
- use public repository  [https://jcenter.bintray.com/](https://jcenter.bintray.com/) to download sdk
wu-sheng's avatar
wu-sheng 已提交
122

123

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

130
## 在运行时环境中设置环境变量 / set environment variables 
wu-sheng's avatar
wu-sheng 已提交
131
```
wu-sheng's avatar
wu-sheng 已提交
132
export SKYWALKING_RUN=true
wu-sheng's avatar
wu-sheng 已提交
133
```
wu-sheng's avatar
wu-sheng 已提交
134 135 136
- 设置完成后,SkyWalking将随应用启动运行
- After set env, SkyWalking will be working, when application startup.

wu-sheng's avatar
wu-sheng 已提交
137 138 139 140 141 142 143 144

## 使用-javaagent 并启动应用程序 / start application with -javaagent
- 为应用程序添加启动参数
```shell
java -jar ...  -javaagent:/..ospath../skywalking-agent-x.x-Final.jar
```
- Tomcat可以使用修改启动文件,配置-javaagent参数

wu-sheng's avatar
wu-sheng 已提交
145
# 在应用程序中显示traceid / How to find tid
wu-sheng's avatar
wu-sheng 已提交
146
- 通过web应用的http调用入口,通过返回的header信息,找到此次调用的traceid。前提:此web应用的url,已经使用skywalking进行监控。
wu-sheng's avatar
wu-sheng 已提交
147

wu-sheng's avatar
wu-sheng 已提交
148 149 150
# Development Documents
- [Development Guide of Plugin](https://github.com/wu-sheng/sky-walking/wiki/Development-Guide-of-Plugin)

wu-sheng's avatar
wu-sheng 已提交
151 152
# QA
- [SkyWalking SDK是否已经工作? Is SkyWalking SDK Running?](QA/IS_RUNNING.md)
wu-sheng's avatar
wu-sheng 已提交
153
- [tid在web-ui上无法查询. tid can't be search on web-ui](QA/TID_CANNOT_BE_SEARCH.md)
154
- [SkyWalking Server的运行情况. The status of SkyWalking Server](QA/SERVER_RUNNING_STAUTS.md)
wu-sheng's avatar
wu-sheng 已提交
155
- [SkyWalking Analysis部署运行常见问题. The FAQ of SkyWalking Analysis deployment](QA/deploy-sw_analysis-problem.md)
wu-sheng's avatar
wu-sheng 已提交
156

wu-sheng's avatar
wu-sheng 已提交
157
# 源代码说明
158
* [网络传输协议、缓存文件协议说明. the protocols of transform between agent and collector, collector buffer file](doc/protocol.md)
159

160
# Recent RoadMap
wu-sheng's avatar
wu-sheng 已提交
161 162 163
* [In the schedule] v2.1-2017
	* release a version following OpenTracing.io
	* provide bridge mode lib to integrate data of system and tracer
wu-sheng's avatar
wu-sheng 已提交
164
	* provide English doc as default. Also provide Chinese version on Gitbook or Wiki
wu-sheng's avatar
wu-sheng 已提交
165 166
	* support log framework(log4j, log4j2, logback) to output traceid in system log.
	
167 168 169 170 171 172
* [Dev] v2.0-2016
	* 移除对于Hadoop,HBase的依赖,降低部署和运维难度
	* 使用内嵌式数据库,和分布式集群
	* 移除副本发送机制
	* 支持数据文件的时间分片,支持集群TB级别日志文件存储
	* 支持统计和高效的准实时统计汇总
wu-sheng's avatar
wu-sheng 已提交
173 174
	* 更多插件的支持
		* motan rpc framework (provided)
175 176
	
* [Release] v1.0-Final
wu-sheng's avatar
wu-sheng 已提交
177 178 179
	* 客户端与服务端间使用扩展后的网络协议,前置的测试版本无法兼容,以提高服务端的稳定性和健壮性。(在内部使用过程中,发生因为安全扫描,导致服务端宕机)
	* 引入javaagent模式,<b>无需修改任何代码</b>,完成监控。
	* 所有插件将基于字节码技术实现,原有的配置文件模式将被移除。
180 181 182 183 184 185 186 187 188 189
	
* [Release] v1.0 beta
	* 修复大量前置版本的BUG
	* 提供基于MR的分析能力,能够对调用链进行分析汇总,并形成调用链统计视图

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

wu-sheng's avatar
wu-sheng 已提交
190
 [More...](https://github.com/wu-sheng/sky-walking/releases)