README.md 8.3 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, 是一个对JAVA分布式应用程序集群的业务运行情况进行追踪、告警和分析的系统。
wu-sheng's avatar
wu-sheng 已提交
7

wu-sheng's avatar
wu-sheng 已提交
8
[![Build Status](https://travis-ci.org/wu-sheng/sky-walking.svg?branch=master)](https://travis-ci.org/wu-sheng/sky-walking)
9
![license](https://img.shields.io/aur/license/yaourt.svg)
wu-sheng's avatar
wu-sheng 已提交
10

wu-sheng's avatar
wu-sheng 已提交
11
# 简介 / abstract
wu-sheng's avatar
wu-sheng 已提交
12
* 核心理论为[Google Dapper论文:Dapper, a Large-Scale Distributed Systems Tracing Infrastructure](http://research.google.com/pubs/pub36356.html),英语有困难的同学可参考[国内翻译](http://duanple.blog.163.com/blog/static/70971767201329113141336/)
13
* 本分析系统能通过动态字节码技术,对现有的JAVA应用或J2EE应用进行监控和数据收集,并针对应用进场进行准实时告警。此外提供大量的调用性能分析功能,解决目前的监控系统主要监控进程、端口而非应用实际性能的问题。
wu-sheng's avatar
wu-sheng 已提交
14
* 支持国内常用的dubbo以及dubbox等常见RPC框架,支持应用异常的邮件告警
15
* skywalking-sdk层面提供的埋点API,同步阻塞访问时间小于100μs
16
* 通过[byte-buddy](https://github.com/raphw/byte-buddy),插件将通过动态字节码机制,避免代码侵入性,完成监控。动态代码模式埋点,同步阻塞访问时间应在200-300μs
wu-sheng's avatar
wu-sheng 已提交
17
* 提供一定的日志数据分析和展现能力,减少或者避免使用团队的二次开发
wu-sheng's avatar
wu-sheng 已提交
18 19 20
* 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](https://github.com/alibaba/dubbo), [dubbox](https://github.com/dangdangdotcom/dubbox), etc., supports email-alert when application occurs unexpected exception。
* SkyWalking's basic API, execution time of blocking saving span must less than 100μs.
21
* By using [byte-buddy](https://github.com/raphw/byte-buddy) (Thanks to [raphw](https://github.com/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.
wu-sheng's avatar
wu-sheng 已提交
22
* Provide trace log analysis and presentation capabilities, Reduce or avoid add-on functions development.
wu-sheng's avatar
wu-sheng 已提交
23

wu-sheng's avatar
wu-sheng 已提交
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
# 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
* cache
  * jedix 2.x
39 40
* java local method
	* config package name or class name (Recommend to use in dev or test enviroment. Will cost too many in product enviroment.)
wu-sheng's avatar
wu-sheng 已提交
41

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

wu-sheng's avatar
wu-sheng 已提交
43
# 主要贡献者 / Contributors
44 45
* 吴晟 [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 已提交
46

wu-sheng's avatar
wu-sheng 已提交
47
# 交流
wu-sheng's avatar
wu-sheng 已提交
48
<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 已提交
49
* Mail to:wu.sheng@foxmail.com
wu-sheng's avatar
wu-sheng 已提交
50
* QQ群:392443393,请注明“Sky Walking交流”
wu-sheng's avatar
wu-sheng 已提交
51
* 谁在使用Sky Walking?[点击进入](https://github.com/wu-sheng/sky-walking/issues/34)。同时请各位使用者反馈下,都在哪些项目中使用。
wu-sheng's avatar
wu-sheng 已提交
52
* if you are using SkyWalking,[Report to us](https://github.com/wu-sheng/sky-walking/issues/34) please.
wu-sheng's avatar
wu-sheng 已提交
53 54 55 56 57 58 59 60
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
wu-sheng's avatar
wu-sheng 已提交
61

wu-sheng's avatar
wu-sheng 已提交
62 63 64
# 整体架构图
![整体架构图](http://wu-sheng.github.io/sky-walking/sample-code/images/skywalkingClusterDeploy.jpeg)

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

wu-sheng's avatar
wu-sheng 已提交
68 69
## 实时调用链路
* 实时链路追踪展现
wu-sheng's avatar
wu-sheng 已提交
70
![追踪连路图1](http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/1.0b/callChain.png)
wu-sheng's avatar
wu-sheng 已提交
71
* 实时链路追踪详细信息查看
wu-sheng's avatar
wu-sheng 已提交
72
![追踪连路图2](http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/1.0b/callChainDetail.png)
wu-sheng's avatar
wu-sheng 已提交
73
* 实时链路追踪日志查看
wu-sheng's avatar
wu-sheng 已提交
74
![追踪连路图3](http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/1.0b/callChainLog.png)
wu-sheng's avatar
wu-sheng 已提交
75
* 实时链路异常告警邮件
wu-sheng's avatar
wu-sheng 已提交
76
![告警邮件](http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/1.0b/alarmMail.png)
wu-sheng's avatar
wu-sheng 已提交
77 78 79 80
* 添加应用
![添加应用](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 已提交
81 82

## 分析汇总
wu-sheng's avatar
wu-sheng 已提交
83
* 分析结果查询,根据viewpoint模糊匹配查询。查询方式为viewpoint: + 关键字
wu-sheng's avatar
wu-sheng 已提交
84
![应用列表展现](http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/1.0b/searchAnalysisResult.png)
wu-sheng's avatar
wu-sheng 已提交
85
* 分析结果展现,通过分析结果查询页面点击进入
wu-sheng's avatar
wu-sheng 已提交
86 87 88
![应用列表展现](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 已提交
89

wu-sheng's avatar
wu-sheng 已提交
90
# Quick Start
91

92 93 94 95 96 97 98 99
## 部署第三方软件 / Required of third party softwares
- JDK 1.7
- zookeeper 3.4.6
- apache hbase 1.1.2
- mysql
- tomcat 7
- redis-3.0.5

100
## 插件支持的JDK / Supported jdk version
wu-sheng's avatar
wu-sheng 已提交
101
- 1.7以上版本 / support 1.7+
102

wu-sheng's avatar
wu-sheng 已提交
103
## 编译与部署 / Build and deploy
wu-sheng's avatar
wu-sheng 已提交
104 105
- 服务端发布版本[下载](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)
106 107 108 109
- [配置应用服务器](CONFIG_DOC.md)
- [config servers](CONFIG_DOC.md)
- 如果您想自己编译最新版本,可参考《[代码编译说明](BUILD_DOC.md)
- [Code compilation instructions](BUILD_DOC.md)
wu-sheng's avatar
wu-sheng 已提交
110

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

wu-sheng's avatar
wu-sheng 已提交
112 113
## 下载官方的agent / Download offical agent
[ ![Download](https://api.bintray.com/packages/wu-sheng/skywalking/com.ai.cloud.skywalking-agent/images/download.svg) ](https://bintray.com/wu-sheng/skywalking/com.ai.cloud.skywalking-agent/_latestVersion)
wu-sheng's avatar
wu-sheng 已提交
114

wu-sheng's avatar
wu-sheng 已提交
115 116
- 通过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 已提交
117
- use public repository  [https://jcenter.bintray.com/](https://jcenter.bintray.com/) to download sdk
wu-sheng's avatar
wu-sheng 已提交
118

119

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

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

wu-sheng's avatar
wu-sheng 已提交
133 134 135 136 137 138 139 140

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

wu-sheng's avatar
wu-sheng 已提交
141 142
# 在应用程序中显示traceid / How to find tid
- [Find TID](HOW_TO_FIND_TID.md)
wu-sheng's avatar
wu-sheng 已提交
143

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

wu-sheng's avatar
wu-sheng 已提交
150
# 源代码说明
151
* [网络传输协议、缓存文件协议说明. the protocols of transform between agent and collector, collector buffer file](doc/protocol.md)
wu-sheng's avatar
wu-sheng 已提交
152
* [追踪日志明细存储结构说明. the storage structure of tracking logs](skywalking-server/doc/hbase_table_desc.md)
153 154 155

# RoadMap
* ref [Roadmap and Release notes](https://github.com/wu-sheng/sky-walking/releases)