You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by GitBox <gi...@apache.org> on 2018/09/04 01:05:49 UTC

[GitHub] diecui1202 closed pull request #128: Add document about Dubbo framework tracing with Skywalking

diecui1202 closed pull request #128: Add document about Dubbo framework tracing with Skywalking
URL: https://github.com/apache/incubator-dubbo-website/pull/128
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/blog/en-us/tracing-with-skywalking.md b/blog/en-us/tracing-with-skywalking.md
new file mode 100644
index 00000000..c58cc602
--- /dev/null
+++ b/blog/en-us/tracing-with-skywalking.md
@@ -0,0 +1,121 @@
+# Tracing Dubbo service with Apache Skywalking(incubator)
+## Introduction to Apache Skywalking(Incubator)
+[Apache Skywalking(Incubator)](https://github.com/apache/incubator-skywalking)  is the APM system that it designed for micro-services architectures and cloud native architecture systems and supports distribute tracking. [Apache skywalking (incubator)](https://github.com/apache/incubator-skywalking) collects and analyzes the trace data and generates the relationship between the application and the service metric, Apache skywalking (incubating) supports multiple languages agent, for example [Java](https://github.com/apache/incubator-skywalking),[.net core](https://github.com/OpenSkywalking/skywalking-netcore),[Node.js](https://github.com/OpenSkywalking/skywalking-nodejs) and [Go](https://github.com/OpenSkywalking/skywalking-go).
+
+Currently, Skywalking has supported analysis the operation of distributed systems from 6 visual dimensions. The overview view is a global view of your applications and components, including the number of components and applications, application alarm fluctuations, slow service lists, and application throughput; The topology shows the topological relationship of the whole application; The application view represents the upstream and downstream relationship of the application from single application, TOP N services and servers, JVM, host and process info. The service view focuses on the operation of a single service portal and the upstream and downstream dependencies of this service and it helps the user to optimize and monitor a single service; the trace graph shows all the buried points of the invocation and the execution time of each burial point, and the alarm view is based on the configuration threshold for the application, server, service for real-time alarms
+
+## Dubbo and Apache Skywalking(Incubator)
+### Build the Dubbo demo  project
+The Dubbo demo has been uploaded to the [GitHub repository](https://github.com/SkywalkingTest/dubbo-trace-example). 
+#### API project
+Service interface definition:
+package org.apache.skywalking.demo.interfaces;
+
+public interface HelloService {
+	String sayHello(String name);
+}
+#### Service provider project
+package org.apache.skywalking.demo.provider;
+
+@Service(version = "${demo.service.version}",
+	application = "${dubbo.application.id}",
+	protocol = "${dubbo.protocol.id}",
+	registry = "${dubbo.registry.id}", timeout = 60000)
+public class HelloServiceImpl implements HelloService {
+
+	public String sayHello(String name) {
+		LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(1));
+		return "Hello, " + name;
+	}
+
+}
+#### Service consumer project
+package org.apache.skywalking.demo.consumer;
+
+@RestController
+public class ConsumerController {
+
+	private static int COUNT = 0;
+
+	@Reference(version = "${demo.service.version}",
+		application = "${dubbo.application.id}",
+		url = "dubbo://localhost:20880", timeout = 60000)
+	private HelloService helloService;
+
+	@GetMapping("/sayHello/{name}")
+	public String sayHello(@PathVariable(name = "name") String name) {
+		if ((COUNT++) % 3 == 0){
+			throw new RuntimeException();
+		}
+		LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(2));
+		return helloService.sayHello(name);
+	}
+}
+### Deploy Apache Skywalking(incubator)
+[Apache skywalking (Incubator)](https://github.com/apache/incubator-skywalking) offers  two deployment modes: single-node mode and cluster mode,Here is  the single-node mode deployment step, and more about how to deploy skywalking with cluster mode, please reference [document](https://github.com/apache/incubator-skywalking/blob/master/docs/en/Deploy-backend-in-cluster-mode.md).
+#### Third-party components
+1. JDK 8+
+2. Elasticsearch 5.x
+#### Deployment step
+1. Download [Apache Skywalking Collector](http://skywalking.apache.org/downloads/)
+2. Deploy Elasticsearch service
+   * Set `cluster.name` to `CollectorDBCluster`
+   * Set `network.host` to `0.0.0.0`
+   * Start elasticsearch service
+3. Unzip and start the Skywalking Collector. Run the ' bin/startup.sh ' command to start skywalking Collector 
+
+#### Deploy the demo
+Before you deploy the demo service, please run the following command:
+
+```
+./mvnw clean package
+```
+
+#### Deploy the provider service
+
+```
+java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-provider -Dskywalking.collector.servers=localhost:10800 dubbo-provider/target/dubbo-provider.jar
+```
+
+#### Deploy the consumer service
+
+```
+java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-consumer -Dskywalking.collector.servers=localhost:10800 dubbo-consumer/target/dubbo-consumer.jar 
+```
+
+#### visit demo service
+
+```
+curl http://localhost:8080/sayHello/test
+```
+
+## Skywalking scren snapshot
+
+### Dashboard
+![/admin-guide/images/skywalking-dashboard.png](../../img/blog/skywalking-dashboard.png)
+
+### Topology
+![/admin-guide/images/skywalking-topology.png](../../img/blog/skywalking-topology.png)
+
+### Application view
+![/admin-guide/images/skywalking-application.png](../../img/blog/skywalking-application.png)
+
+JVM Information
+![/admin-guide/images/skywalking-application_instance.png](../../img/blog/skywalking-application_instance.png)
+
+### Service view
+
+Consumer side
+![/admin-guide/images/skywalking-service-consumer.png](../../img/blog/skywalking-service-consumer.png)
+
+provider side
+![/admin-guide/images/skywalking-service-provider.png](../../img/blog/skywalking-service-provider.png)
+
+### Trace
+![/admin-guide/images/skywalking-trace.png](../../img/blog/skywalking-trace.png)
+
+Span info
+![/admin-guide/images/skywalking-span-Info.png](../../img/blog/skywalking-span-Info.png)
+
+### Alarm view
+![/admin-guide/images/skywalking-alarm.png](../../img/blog/skywalking-alarm.png)
diff --git a/blog/zh-cn/tracing-with-skywalking.md b/blog/zh-cn/tracing-with-skywalking.md
new file mode 100644
index 00000000..d3ec18a7
--- /dev/null
+++ b/blog/zh-cn/tracing-with-skywalking.md
@@ -0,0 +1,135 @@
+# 使用Apache Skywalking (Incubator) 做分布式跟踪
+
+## Apache Skywalking(Incubator)简介
+[Apache Skywalking(Incubator)](https://github.com/apache/incubator-skywalking) 专门为微服务架构和云原生架构系统而设计并且支持分布式链路追踪的APM系统。[Apache Skywalking(Incubator)](https://github.com/apache/incubator-skywalking)通过加载探针的方式收集应用调用链路信息,并对采集的调用链路信息进行分析,生成应用间关系和服务间关系以及服务指标。[Apache Skywalking (Incubating)](https://github.com/apache/incubator-skywalking)目前支持多种语言,其中包括[Java](https://github.com/apache/incubator-skywalking),[.Net Core](https://github.com/OpenSkywalking/skywalking-netcore),[Node.js](https://github.com/OpenSkywalking/skywalking-nodejs)和[Go](https://github.com/OpenSkywalking/skywalking-go)语言。
+
+目前Skywalking已经支持从6个可视化维度剖析分布式系统的运行情况。总览视图是应用和组件的全局视图,其中包括组件和应用数量,应用的告警波动,慢服务列表以及应用吞吐量;拓扑图从应用依赖关系出发,展现整个应用的拓扑关系;应用视图则是从单个应用的角度,展现应用的上下游关系,TopN的服务和服务器,JVM的相关信息以及对应的主机信息。服务视图关注单个服务入口的运行情况以及此服务的上下游依赖关系,依赖度,帮助用户针对单个服务的优化和监控;调用链展现了调用的单次请求经过的所有埋点以及每个埋点的执行时长;告警视图根据配置阈值针对应用、服务器、服务进行实时告警。
+
+## Dubbo与Apache Skywalking(Incubator)
+### 编写Dubbo示例程序
+Dubbo实例程序已上传到[Github仓库](https://github.com/SkywalkingTest/dubbo-trace-example)中。方便大家下载使用。
+#### API工程
+服务接口:
+
+```
+package org.apache.skywalking.demo.interfaces;
+
+public interface HelloService {
+	String sayHello(String name);
+}
+```
+
+#### Dubbo服务提供工程
+
+```
+package org.apache.skywalking.demo.provider;
+
+@Service(version = "${demo.service.version}",
+	application = "${dubbo.application.id}",
+	protocol = "${dubbo.protocol.id}",
+	registry = "${dubbo.registry.id}", timeout = 60000)
+public class HelloServiceImpl implements HelloService {
+
+	public String sayHello(String name) {
+		LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(1));
+		return "Hello, " + name;
+	}
+
+}
+```
+
+#### Consumer工程
+
+```
+package org.apache.skywalking.demo.consumer;
+
+@RestController
+public class ConsumerController {
+
+	private static int COUNT = 0;
+
+	@Reference(version = "${demo.service.version}",
+		application = "${dubbo.application.id}",
+		url = "dubbo://localhost:20880", timeout = 60000)
+	private HelloService helloService;
+
+	@GetMapping("/sayHello/{name}")
+	public String sayHello(@PathVariable(name = "name") String name) {
+		if ((COUNT++) % 3 == 0){
+			throw new RuntimeException();
+		}
+		LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(2));
+		return helloService.sayHello(name);
+	}
+}
+```
+
+### 部署Apache Skywalking(Incubator)
+Apache Skywalking(Incubator)共提供两种部署模式:单节点模式和集群模式,以下为单节点模式部署步骤,集群模式部署详情参考[文档](https://github.com/apache/incubator-skywalking/blob/master/docs/cn/Deploy-backend-in-cluster-mode-CN.md)。
+#### 依赖第三方组件
+1. JDK8+
+2. Elasticsearch 5.x
+#### 部署步骤
+1. 下载[ Apache Skywalking Collector](http://skywalking.apache.org/downloads/)
+2. 部署ElasticSearch
+	* 修改elasticsearch.yml文件,并设置`cluster.name`设置成`CollectorDBCluster`。此名称需要和collector配置文件一致。
+	 * 修改ES配置`network.host`值,将`network.host`的值修改成`0.0.0.0`。
+	* 启动Elasticsearch
+3. 解压并启动Skywalking Collector。运行`bin/startup.sh`命令即可启动Skywalking Collector
+#### 启动示例程序
+在启动示例程序之前,执行编译打包的命令:
+
+```
+./mvnw clean package
+```
+
+#### 启动服务提供端
+
+```
+java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-provider -Dskywalking.collector.servers=localhost:10800 dubbo-provider/target/dubbo-provider.jar
+```
+
+#### 启动服务消费端
+
+```
+java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-consumer -Dskywalking.collector.servers=localhost:10800 dubbo-consumer/target/dubbo-consumer.jar 
+```
+
+#### 访问消费端提供的服务
+
+```
+curl http://localhost:8080/sayHello/test
+```
+
+## Skywalking监控截图:
+
+### 首页
+
+![/admin-guide/images/skywalking-dashboard.png](../../img/blog/skywalking-dashboard.png)
+
+### 拓扑图
+![/admin-guide/images/skywalking-topology.png](../../img/blog/skywalking-topology.png)
+
+### 应用视图
+![/admin-guide/images/skywalking-application.png](../../img/blog/skywalking-application.png)
+
+JVM信息
+![/admin-guide/images/skywalking-application_instance.png](../../img/blog/skywalking-application_instance.png)
+
+###  服务视图
+
+服务消费端:
+![/admin-guide/images/skywalking-service-consumer.png](../../img/blog/skywalking-service-consumer.png)
+
+服务提供端:
+![/admin-guide/images/skywalking-service-provider.png](../../img/blog/skywalking-service-provider.png)
+
+### Trace视图
+![/admin-guide/images/skywalking-trace.png](../../img/blog/skywalking-trace.png)
+
+Span信息:
+![/admin-guide/images/skywalking-span-Info.png](../../img/blog/skywalking-span-Info.png)
+
+### 告警视图
+![/admin-guide/images/skywalking-alarm.png](../../img/blog/skywalking-alarm.png)
+
diff --git a/docs/en-us/admin/ops/skywalking.md b/docs/en-us/admin/ops/skywalking.md
new file mode 100644
index 00000000..798ddef7
--- /dev/null
+++ b/docs/en-us/admin/ops/skywalking.md
@@ -0,0 +1,121 @@
+# Tracing Dubbo service with Apache Skywalking(incubator)
+## Introduction to Apache Skywalking(Incubator)
+[Apache Skywalking(Incubator)](https://github.com/apache/incubator-skywalking)  is the APM system that it designed for micro-services architectures and cloud native architecture systems and supports distribute tracking. [Apache skywalking (incubator)](https://github.com/apache/incubator-skywalking) collects and analyzes the trace data and generates the relationship between the application and the service metric, Apache skywalking (incubating) supports multiple languages agent, for example [Java](https://github.com/apache/incubator-skywalking),[.net core](https://github.com/OpenSkywalking/skywalking-netcore),[Node.js](https://github.com/OpenSkywalking/skywalking-nodejs) and [Go](https://github.com/OpenSkywalking/skywalking-go).
+
+Currently, Skywalking has supported analysis the operation of distributed systems from 6 visual dimensions. The overview view is a global view of your applications and components, including the number of components and applications, application alarm fluctuations, slow service lists, and application throughput; The topology shows the topological relationship of the whole application; The application view represents the upstream and downstream relationship of the application from single application, TOP N services and servers, JVM, host and process info. The service view focuses on the operation of a single service portal and the upstream and downstream dependencies of this service and it helps the user to optimize and monitor a single service; the trace graph shows all the buried points of the invocation and the execution time of each burial point, and the alarm view is based on the configuration threshold for the application, server, service for real-time alarms
+
+## Dubbo and Apache Skywalking(Incubator)
+### Build the Dubbo demo  project
+The Dubbo demo has been uploaded to the [GitHub repository](https://github.com/SkywalkingTest/dubbo-trace-example). 
+#### API project
+Service interface definition:
+package org.apache.skywalking.demo.interfaces;
+
+public interface HelloService {
+	String sayHello(String name);
+}
+#### Service provider project
+package org.apache.skywalking.demo.provider;
+
+@Service(version = "${demo.service.version}",
+	application = "${dubbo.application.id}",
+	protocol = "${dubbo.protocol.id}",
+	registry = "${dubbo.registry.id}", timeout = 60000)
+public class HelloServiceImpl implements HelloService {
+
+	public String sayHello(String name) {
+		LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(1));
+		return "Hello, " + name;
+	}
+
+}
+#### Service consumer project
+package org.apache.skywalking.demo.consumer;
+
+@RestController
+public class ConsumerController {
+
+	private static int COUNT = 0;
+
+	@Reference(version = "${demo.service.version}",
+		application = "${dubbo.application.id}",
+		url = "dubbo://localhost:20880", timeout = 60000)
+	private HelloService helloService;
+
+	@GetMapping("/sayHello/{name}")
+	public String sayHello(@PathVariable(name = "name") String name) {
+		if ((COUNT++) % 3 == 0){
+			throw new RuntimeException();
+		}
+		LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(2));
+		return helloService.sayHello(name);
+	}
+}
+### Deploy Apache Skywalking(incubator)
+[Apache skywalking (Incubator)](https://github.com/apache/incubator-skywalking) offers  two deployment modes: single-node mode and cluster mode,Here is  the single-node mode deployment step, and more about how to deploy skywalking with cluster mode, please reference [document](https://github.com/apache/incubator-skywalking/blob/master/docs/en/Deploy-backend-in-cluster-mode.md).
+#### Third-party components
+1. JDK 8+
+2. Elasticsearch 5.x
+#### Deployment step
+1. Download [Apache Skywalking Collector](http://skywalking.apache.org/downloads/)
+2. Deploy Elasticsearch service
+   * Set `cluster.name` to `CollectorDBCluster`
+   * Set `network.host` to `0.0.0.0`
+   * Start elasticsearch service
+3. Unzip and start the Skywalking Collector. Run the ' bin/startup.sh ' command to start skywalking Collector 
+
+#### Deploy the demo
+Before you deploy the demo service, please run the following command:
+
+```
+./mvnw clean package
+```
+
+#### Deploy the provider service
+
+```
+java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-provider -Dskywalking.collector.servers=localhost:10800 dubbo-provider/target/dubbo-provider.jar
+```
+
+#### Deploy the consumer service
+
+```
+java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-consumer -Dskywalking.collector.servers=localhost:10800 dubbo-consumer/target/dubbo-consumer.jar 
+```
+
+#### visit demo service
+
+```
+curl http://localhost:8080/sayHello/test
+```
+
+## Skywalking scren snapshot
+
+### Dashboard
+![/admin-guide/images/skywalking-dashboard.png](../sources/images/skywalking-dashboard.png)
+
+### Topology
+![/admin-guide/images/skywalking-topology.png](../sources/images/skywalking-topology.png)
+
+### Application view
+![/admin-guide/images/skywalking-application.png](../sources/images/skywalking-application.png)
+
+JVM Information
+![/admin-guide/images/skywalking-application_instance.png](../sources/images/skywalking-application_instance.png)
+
+### Service view
+
+Consumer side
+![/admin-guide/images/skywalking-service-consumer.png](../sources/images/skywalking-service-consumer.png)
+
+provider side
+![/admin-guide/images/skywalking-service-provider.png](../sources/images/skywalking-service-provider.png)
+
+### Trace
+![/admin-guide/images/skywalking-trace.png](../sources/images/skywalking-trace.png)
+
+Span info
+![/admin-guide/images/skywalking-span-Info.png](../sources/images/skywalking-span-Info.png)
+
+### Alarm view
+![/admin-guide/images/skywalking-alarm.png](../sources/images/skywalking-alarm.png)
diff --git a/docs/en-us/admin/sources/images/skywalking-alarm.png b/docs/en-us/admin/sources/images/skywalking-alarm.png
new file mode 100644
index 00000000..7c19a641
Binary files /dev/null and b/docs/en-us/admin/sources/images/skywalking-alarm.png differ
diff --git a/docs/en-us/admin/sources/images/skywalking-application.png b/docs/en-us/admin/sources/images/skywalking-application.png
new file mode 100644
index 00000000..76fce2c4
Binary files /dev/null and b/docs/en-us/admin/sources/images/skywalking-application.png differ
diff --git a/docs/en-us/admin/sources/images/skywalking-application_instance.png b/docs/en-us/admin/sources/images/skywalking-application_instance.png
new file mode 100644
index 00000000..86353f59
Binary files /dev/null and b/docs/en-us/admin/sources/images/skywalking-application_instance.png differ
diff --git a/docs/en-us/admin/sources/images/skywalking-dashboard.png b/docs/en-us/admin/sources/images/skywalking-dashboard.png
new file mode 100644
index 00000000..5d844fab
Binary files /dev/null and b/docs/en-us/admin/sources/images/skywalking-dashboard.png differ
diff --git a/docs/en-us/admin/sources/images/skywalking-service-consumer.png b/docs/en-us/admin/sources/images/skywalking-service-consumer.png
new file mode 100644
index 00000000..7ab5237d
Binary files /dev/null and b/docs/en-us/admin/sources/images/skywalking-service-consumer.png differ
diff --git a/docs/en-us/admin/sources/images/skywalking-service-provider.png b/docs/en-us/admin/sources/images/skywalking-service-provider.png
new file mode 100644
index 00000000..fde08e39
Binary files /dev/null and b/docs/en-us/admin/sources/images/skywalking-service-provider.png differ
diff --git a/docs/en-us/admin/sources/images/skywalking-span-Info.png b/docs/en-us/admin/sources/images/skywalking-span-Info.png
new file mode 100644
index 00000000..cb0ff749
Binary files /dev/null and b/docs/en-us/admin/sources/images/skywalking-span-Info.png differ
diff --git a/docs/en-us/admin/sources/images/skywalking-topology.png b/docs/en-us/admin/sources/images/skywalking-topology.png
new file mode 100644
index 00000000..934d1702
Binary files /dev/null and b/docs/en-us/admin/sources/images/skywalking-topology.png differ
diff --git a/docs/en-us/admin/sources/images/skywalking-trace.png b/docs/en-us/admin/sources/images/skywalking-trace.png
new file mode 100644
index 00000000..90add828
Binary files /dev/null and b/docs/en-us/admin/sources/images/skywalking-trace.png differ
diff --git a/docs/zh-cn/admin/ops/skywalking.md b/docs/zh-cn/admin/ops/skywalking.md
new file mode 100644
index 00000000..758f3ffd
--- /dev/null
+++ b/docs/zh-cn/admin/ops/skywalking.md
@@ -0,0 +1,133 @@
+# 使用Apache Skywalking (Incubator) 做分布式跟踪
+
+## Apache Skywalking(Incubator)简介
+[Apache Skywalking(Incubator)](https://github.com/apache/incubator-skywalking) 专门为微服务架构和云原生架构系统而设计并且支持分布式链路追踪的APM系统。[Apache Skywalking(Incubator)](https://github.com/apache/incubator-skywalking)通过加载探针的方式收集应用调用链路信息,并对采集的调用链路信息进行分析,生成应用间关系和服务间关系以及服务指标。[Apache Skywalking (Incubating)](https://github.com/apache/incubator-skywalking)目前支持多种语言,其中包括[Java](https://github.com/apache/incubator-skywalking),[.Net Core](https://github.com/OpenSkywalking/skywalking-netcore),[Node.js](https://github.com/OpenSkywalking/skywalking-nodejs)和[Go](https://github.com/OpenSkywalking/skywalking-go)语言。
+
+目前Skywalking已经支持从6个可视化维度剖析分布式系统的运行情况。总览视图是应用和组件的全局视图,其中包括组件和应用数量,应用的告警波动,慢服务列表以及应用吞吐量;拓扑图从应用依赖关系出发,展现整个应用的拓扑关系;应用视图则是从单个应用的角度,展现应用的上下游关系,TopN的服务和服务器,JVM的相关信息以及对应的主机信息。服务视图关注单个服务入口的运行情况以及此服务的上下游依赖关系,依赖度,帮助用户针对单个服务的优化和监控;调用链展现了调用的单次请求经过的所有埋点以及每个埋点的执行时长;告警视图根据配置阈值针对应用、服务器、服务进行实时告警。
+
+## Dubbo与Apache Skywalking(Incubator)
+### 编写Dubbo示例程序
+Dubbo实例程序已上传到[Github仓库](https://github.com/SkywalkingTest/dubbo-trace-example)中。方便大家下载使用。
+#### API工程
+服务接口:
+
+```
+package org.apache.skywalking.demo.interfaces;
+
+public interface HelloService {
+	String sayHello(String name);
+}
+```
+
+#### Dubbo服务提供工程
+
+```
+package org.apache.skywalking.demo.provider;
+
+@Service(version = "${demo.service.version}",
+	application = "${dubbo.application.id}",
+	protocol = "${dubbo.protocol.id}",
+	registry = "${dubbo.registry.id}", timeout = 60000)
+public class HelloServiceImpl implements HelloService {
+
+	public String sayHello(String name) {
+		LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(1));
+		return "Hello, " + name;
+	}
+
+}
+```
+
+#### Consumer工程
+
+```
+package org.apache.skywalking.demo.consumer;
+
+@RestController
+public class ConsumerController {
+
+	private static int COUNT = 0;
+
+	@Reference(version = "${demo.service.version}",
+		application = "${dubbo.application.id}",
+		url = "dubbo://localhost:20880", timeout = 60000)
+	private HelloService helloService;
+
+	@GetMapping("/sayHello/{name}")
+	public String sayHello(@PathVariable(name = "name") String name) {
+		if ((COUNT++) % 3 == 0){
+			throw new RuntimeException();
+		}
+		LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(2));
+		return helloService.sayHello(name);
+	}
+}
+```
+
+### 部署Apache Skywalking(Incubator)
+Apache Skywalking(Incubator)共提供两种部署模式:单节点模式和集群模式,以下为单节点模式部署步骤,集群模式部署详情参考[文档](https://github.com/apache/incubator-skywalking/blob/master/docs/cn/Deploy-backend-in-cluster-mode-CN.md)。
+#### 依赖第三方组件
+1. JDK8+
+2. Elasticsearch 5.x
+#### 部署步骤
+1. 下载[ Apache Skywalking Collector](http://skywalking.apache.org/downloads/)
+2. 部署ElasticSearch
+	* 修改elasticsearch.yml文件,并设置`cluster.name`设置成`CollectorDBCluster`。此名称需要和collector配置文件一致。
+	 * 修改ES配置`network.host`值,将`network.host`的值修改成`0.0.0.0`。
+	* 启动Elasticsearch
+3. 解压并启动Skywalking Collector。运行`bin/startup.sh`命令即可启动Skywalking Collector
+#### 启动示例程序
+在启动示例程序之前,执行编译打包的命令:
+
+```
+./mvnw clean package
+```
+
+#### 启动服务提供端
+
+```
+java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-provider -Dskywalking.collector.servers=localhost:10800 dubbo-provider/target/dubbo-provider.jar
+```
+
+#### 启动服务消费端
+
+```
+java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-consumer -Dskywalking.collector.servers=localhost:10800 dubbo-consumer/target/dubbo-consumer.jar 
+```
+
+#### 访问消费端提供的服务
+
+```
+curl http://localhost:8080/sayHello/test
+```
+
+## Skywalking监控截图:
+
+### 首页
+![/admin-guide/images/skywalking-dashboard.png](../sources/images/skywalking-dashboard.png)
+
+### 拓扑图
+![/admin-guide/images/skywalking-topology.png](../sources/images/skywalking-topology.png)
+
+### 应用视图
+![/admin-guide/images/skywalking-application.png](../sources/images/skywalking-application.png)
+
+JVM信息
+![/admin-guide/images/skywalking-application_instance.png](../sources/images/skywalking-application_instance.png)
+
+###  服务视图
+
+服务消费端:
+![/admin-guide/images/skywalking-service-consumer.png](../sources/images/skywalking-service-consumer.png)
+
+服务提供端:
+![/admin-guide/images/skywalking-service-provider.png](../sources/images/skywalking-service-provider.png)
+
+### Trace视图
+![/admin-guide/images/skywalking-trace.png](../sources/images/skywalking-trace.png)
+
+Span信息:
+![/admin-guide/images/skywalking-span-Info.png](../sources/images/skywalking-span-Info.png)
+
+### 告警视图
+![/admin-guide/images/skywalking-alarm.png](../sources/images/skywalking-alarm.png)
\ No newline at end of file
diff --git a/docs/zh-cn/admin/sources/images/skywalking-alarm.png b/docs/zh-cn/admin/sources/images/skywalking-alarm.png
new file mode 100644
index 00000000..7c19a641
Binary files /dev/null and b/docs/zh-cn/admin/sources/images/skywalking-alarm.png differ
diff --git a/docs/zh-cn/admin/sources/images/skywalking-application.png b/docs/zh-cn/admin/sources/images/skywalking-application.png
new file mode 100644
index 00000000..76fce2c4
Binary files /dev/null and b/docs/zh-cn/admin/sources/images/skywalking-application.png differ
diff --git a/docs/zh-cn/admin/sources/images/skywalking-application_instance.png b/docs/zh-cn/admin/sources/images/skywalking-application_instance.png
new file mode 100644
index 00000000..86353f59
Binary files /dev/null and b/docs/zh-cn/admin/sources/images/skywalking-application_instance.png differ
diff --git a/docs/zh-cn/admin/sources/images/skywalking-dashboard.png b/docs/zh-cn/admin/sources/images/skywalking-dashboard.png
new file mode 100644
index 00000000..5d844fab
Binary files /dev/null and b/docs/zh-cn/admin/sources/images/skywalking-dashboard.png differ
diff --git a/docs/zh-cn/admin/sources/images/skywalking-service-consumer.png b/docs/zh-cn/admin/sources/images/skywalking-service-consumer.png
new file mode 100644
index 00000000..7ab5237d
Binary files /dev/null and b/docs/zh-cn/admin/sources/images/skywalking-service-consumer.png differ
diff --git a/docs/zh-cn/admin/sources/images/skywalking-service-provider.png b/docs/zh-cn/admin/sources/images/skywalking-service-provider.png
new file mode 100644
index 00000000..fde08e39
Binary files /dev/null and b/docs/zh-cn/admin/sources/images/skywalking-service-provider.png differ
diff --git a/docs/zh-cn/admin/sources/images/skywalking-span-Info.png b/docs/zh-cn/admin/sources/images/skywalking-span-Info.png
new file mode 100644
index 00000000..cb0ff749
Binary files /dev/null and b/docs/zh-cn/admin/sources/images/skywalking-span-Info.png differ
diff --git a/docs/zh-cn/admin/sources/images/skywalking-topology.png b/docs/zh-cn/admin/sources/images/skywalking-topology.png
new file mode 100644
index 00000000..934d1702
Binary files /dev/null and b/docs/zh-cn/admin/sources/images/skywalking-topology.png differ
diff --git a/docs/zh-cn/admin/sources/images/skywalking-trace.png b/docs/zh-cn/admin/sources/images/skywalking-trace.png
new file mode 100644
index 00000000..90add828
Binary files /dev/null and b/docs/zh-cn/admin/sources/images/skywalking-trace.png differ
diff --git a/en-us/docs/admin/ops/skywalking.md b/en-us/docs/admin/ops/skywalking.md
new file mode 100644
index 00000000..798ddef7
--- /dev/null
+++ b/en-us/docs/admin/ops/skywalking.md
@@ -0,0 +1,121 @@
+# Tracing Dubbo service with Apache Skywalking(incubator)
+## Introduction to Apache Skywalking(Incubator)
+[Apache Skywalking(Incubator)](https://github.com/apache/incubator-skywalking)  is the APM system that it designed for micro-services architectures and cloud native architecture systems and supports distribute tracking. [Apache skywalking (incubator)](https://github.com/apache/incubator-skywalking) collects and analyzes the trace data and generates the relationship between the application and the service metric, Apache skywalking (incubating) supports multiple languages agent, for example [Java](https://github.com/apache/incubator-skywalking),[.net core](https://github.com/OpenSkywalking/skywalking-netcore),[Node.js](https://github.com/OpenSkywalking/skywalking-nodejs) and [Go](https://github.com/OpenSkywalking/skywalking-go).
+
+Currently, Skywalking has supported analysis the operation of distributed systems from 6 visual dimensions. The overview view is a global view of your applications and components, including the number of components and applications, application alarm fluctuations, slow service lists, and application throughput; The topology shows the topological relationship of the whole application; The application view represents the upstream and downstream relationship of the application from single application, TOP N services and servers, JVM, host and process info. The service view focuses on the operation of a single service portal and the upstream and downstream dependencies of this service and it helps the user to optimize and monitor a single service; the trace graph shows all the buried points of the invocation and the execution time of each burial point, and the alarm view is based on the configuration threshold for the application, server, service for real-time alarms
+
+## Dubbo and Apache Skywalking(Incubator)
+### Build the Dubbo demo  project
+The Dubbo demo has been uploaded to the [GitHub repository](https://github.com/SkywalkingTest/dubbo-trace-example). 
+#### API project
+Service interface definition:
+package org.apache.skywalking.demo.interfaces;
+
+public interface HelloService {
+	String sayHello(String name);
+}
+#### Service provider project
+package org.apache.skywalking.demo.provider;
+
+@Service(version = "${demo.service.version}",
+	application = "${dubbo.application.id}",
+	protocol = "${dubbo.protocol.id}",
+	registry = "${dubbo.registry.id}", timeout = 60000)
+public class HelloServiceImpl implements HelloService {
+
+	public String sayHello(String name) {
+		LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(1));
+		return "Hello, " + name;
+	}
+
+}
+#### Service consumer project
+package org.apache.skywalking.demo.consumer;
+
+@RestController
+public class ConsumerController {
+
+	private static int COUNT = 0;
+
+	@Reference(version = "${demo.service.version}",
+		application = "${dubbo.application.id}",
+		url = "dubbo://localhost:20880", timeout = 60000)
+	private HelloService helloService;
+
+	@GetMapping("/sayHello/{name}")
+	public String sayHello(@PathVariable(name = "name") String name) {
+		if ((COUNT++) % 3 == 0){
+			throw new RuntimeException();
+		}
+		LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(2));
+		return helloService.sayHello(name);
+	}
+}
+### Deploy Apache Skywalking(incubator)
+[Apache skywalking (Incubator)](https://github.com/apache/incubator-skywalking) offers  two deployment modes: single-node mode and cluster mode,Here is  the single-node mode deployment step, and more about how to deploy skywalking with cluster mode, please reference [document](https://github.com/apache/incubator-skywalking/blob/master/docs/en/Deploy-backend-in-cluster-mode.md).
+#### Third-party components
+1. JDK 8+
+2. Elasticsearch 5.x
+#### Deployment step
+1. Download [Apache Skywalking Collector](http://skywalking.apache.org/downloads/)
+2. Deploy Elasticsearch service
+   * Set `cluster.name` to `CollectorDBCluster`
+   * Set `network.host` to `0.0.0.0`
+   * Start elasticsearch service
+3. Unzip and start the Skywalking Collector. Run the ' bin/startup.sh ' command to start skywalking Collector 
+
+#### Deploy the demo
+Before you deploy the demo service, please run the following command:
+
+```
+./mvnw clean package
+```
+
+#### Deploy the provider service
+
+```
+java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-provider -Dskywalking.collector.servers=localhost:10800 dubbo-provider/target/dubbo-provider.jar
+```
+
+#### Deploy the consumer service
+
+```
+java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-consumer -Dskywalking.collector.servers=localhost:10800 dubbo-consumer/target/dubbo-consumer.jar 
+```
+
+#### visit demo service
+
+```
+curl http://localhost:8080/sayHello/test
+```
+
+## Skywalking scren snapshot
+
+### Dashboard
+![/admin-guide/images/skywalking-dashboard.png](../sources/images/skywalking-dashboard.png)
+
+### Topology
+![/admin-guide/images/skywalking-topology.png](../sources/images/skywalking-topology.png)
+
+### Application view
+![/admin-guide/images/skywalking-application.png](../sources/images/skywalking-application.png)
+
+JVM Information
+![/admin-guide/images/skywalking-application_instance.png](../sources/images/skywalking-application_instance.png)
+
+### Service view
+
+Consumer side
+![/admin-guide/images/skywalking-service-consumer.png](../sources/images/skywalking-service-consumer.png)
+
+provider side
+![/admin-guide/images/skywalking-service-provider.png](../sources/images/skywalking-service-provider.png)
+
+### Trace
+![/admin-guide/images/skywalking-trace.png](../sources/images/skywalking-trace.png)
+
+Span info
+![/admin-guide/images/skywalking-span-Info.png](../sources/images/skywalking-span-Info.png)
+
+### Alarm view
+![/admin-guide/images/skywalking-alarm.png](../sources/images/skywalking-alarm.png)
diff --git a/img/blog/skywalking-alarm.png b/img/blog/skywalking-alarm.png
new file mode 100644
index 00000000..7c19a641
Binary files /dev/null and b/img/blog/skywalking-alarm.png differ
diff --git a/img/blog/skywalking-application.png b/img/blog/skywalking-application.png
new file mode 100644
index 00000000..76fce2c4
Binary files /dev/null and b/img/blog/skywalking-application.png differ
diff --git a/img/blog/skywalking-application_instance.png b/img/blog/skywalking-application_instance.png
new file mode 100644
index 00000000..86353f59
Binary files /dev/null and b/img/blog/skywalking-application_instance.png differ
diff --git a/img/blog/skywalking-dashboard.png b/img/blog/skywalking-dashboard.png
new file mode 100644
index 00000000..5d844fab
Binary files /dev/null and b/img/blog/skywalking-dashboard.png differ
diff --git a/img/blog/skywalking-service-consumer.png b/img/blog/skywalking-service-consumer.png
new file mode 100644
index 00000000..7ab5237d
Binary files /dev/null and b/img/blog/skywalking-service-consumer.png differ
diff --git a/img/blog/skywalking-service-provider.png b/img/blog/skywalking-service-provider.png
new file mode 100644
index 00000000..fde08e39
Binary files /dev/null and b/img/blog/skywalking-service-provider.png differ
diff --git a/img/blog/skywalking-span-Info.png b/img/blog/skywalking-span-Info.png
new file mode 100644
index 00000000..cb0ff749
Binary files /dev/null and b/img/blog/skywalking-span-Info.png differ
diff --git a/img/blog/skywalking-topology.png b/img/blog/skywalking-topology.png
new file mode 100644
index 00000000..934d1702
Binary files /dev/null and b/img/blog/skywalking-topology.png differ
diff --git a/img/blog/skywalking-trace.png b/img/blog/skywalking-trace.png
new file mode 100644
index 00000000..90add828
Binary files /dev/null and b/img/blog/skywalking-trace.png differ
diff --git a/site_config/blog.js b/site_config/blog.js
index 611e07db..80adf311 100644
--- a/site_config/blog.js
+++ b/site_config/blog.js
@@ -156,7 +156,14 @@ export default {
     barText: '博客',
     postsTitle: '所有文章',
     list: [
-        {
+	{
+	    title: '使用Skywalking追踪Dubbo服务',
+	    author:'张鑫',
+	    dateStr: 'Sep 3nd, 2018',
+	    desc: '使用Skywalking追踪Dubbo服务',
+	    link: '/zh-cn/blog/tracing-with-skywalking.html',
+	},
+	{
             title: '如何准备Apache Release',
             author: 'Jun Liu',
             dateStr: 'Sep 2nd, 2018',
diff --git a/site_config/docs.js b/site_config/docs.js
index 08792478..c73015f0 100644
--- a/site_config/docs.js
+++ b/site_config/docs.js
@@ -608,7 +608,12 @@ export default {
                             {
                                 title: 'Tracking with Pinpoint',
                                 link: '/en-us/docs/admin/ops/pinpoint.html'
+                            },
+                            {
+                                title: 'Tracking with Skywalking',
+                                link: '/en-us/docs/admin/ops/skywalking.html'
                             }
+			    
                         ]
                     }
 
@@ -1263,6 +1268,10 @@ export default {
                             {
                                 title: '使用Pinpoint做分布式跟踪',
                                 link: '/zh-cn/docs/admin/ops/pinpoint.html'
+                            },
+                            {
+                                title: '使用Skywalking做分布式跟踪',
+                                link: '/zh-cn/docs/admin/ops/skywalking.html'
                             }
                         ]
                     }


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org