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

[GitHub] wu-sheng closed pull request #1062: chinese documents translation, sync with english

wu-sheng closed pull request #1062: chinese documents translation, sync with english
URL: https://github.com/apache/incubator-skywalking/pull/1062
 
 
   

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/docs/README_ZH.md b/docs/README_ZH.md
index 2c00178ee..f8c09690c 100644
--- a/docs/README_ZH.md
+++ b/docs/README_ZH.md
@@ -1,10 +1,16 @@
 ## 中文文档
 [![EN doc](https://img.shields.io/badge/document-English-blue.svg)](README.md)
 
-  * [项目简介](/README_ZH.md)
-  * [快速入门](cn/Quick-start-CN.md)
-  * [中间件,框架与类库支持列表](Supported-list.md)
-    * [如何关闭特定插件](cn/How-to-disable-plugin-CN.md)
+  * 快速入门
+    * [快速入门](cn/Quick-start-CN.md)
+    * [中间件,框架与类库支持列表](Supported-list.md)
+        * [如何关闭特定插件](cn/How-to-disable-plugin-CN.md)
+  * 高级特性
+    * [通过系统启动参数进行覆盖配置](cn/Setting-override-CN.md)
+    * [服务直连(Direct uplink)及禁用名称服务(naming service)](cn/Direct-uplink-CN.md)
+    * [开启TLS](cn/TLS-CN.md)
+    * [命名空间隔离](cn/Namespace-CN.md)
+    * [基于Token认证](cn/Token-auth-CN.md)
   * APM相关介绍资料
     * [OpenTracing中文版](https://github.com/opentracing-contrib/opentracing-specification-zh)
   * Application Toolkit,应用程序工具包
diff --git a/docs/cn/Application-toolkit-CN.md b/docs/cn/Application-toolkit-CN.md
index ca0a0b0ec..e3551fbc4 100644
--- a/docs/cn/Application-toolkit-CN.md
+++ b/docs/cn/Application-toolkit-CN.md
@@ -1,9 +1,9 @@
 # 什么是sky-walking应用程序工具包?
-Sky-walking应用程序工具包是一系列的类库,有skywalking团队提供。通过这些类库,你可以在你的应用程序内,访问sky-walking的一些内部信息.
+Sky-walking应用程序工具包是一系列的类库,由skywalking团队提供。通过这些类库,你可以在你的应用程序内,访问sky-walking的一些内部信息.
 
 _**最为重要的是**_, 即使你移除skywalking的探针,或者不激活探针,这些类库也不会对应用程序有任何影响,也不会影响性能.
 
-工具包提供以下核心能力
+# 工具包提供以下核心能力
 1. 将追踪信息和log组件集成,如log4j, log4j2 和 logback
 1. 兼容CNCF OpenTracing标准的手动埋点
 1. 使用Skywalking专有的标注和交互性API
diff --git a/docs/cn/Application-toolkit-logback-1.x-CN.md b/docs/cn/Application-toolkit-logback-1.x-CN.md
index a82ef1e25..2a18f1146 100644
--- a/docs/cn/Application-toolkit-logback-1.x-CN.md
+++ b/docs/cn/Application-toolkit-logback-1.x-CN.md
@@ -11,7 +11,7 @@
 ```xml
     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
         <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
-            <layout class="TraceIdPatternLogbackLayout">
+            <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>
diff --git a/docs/cn/Application-toolkit-trace-CN.md b/docs/cn/Application-toolkit-trace-CN.md
index dab3f7ea4..84695938b 100644
--- a/docs/cn/Application-toolkit-trace-CN.md
+++ b/docs/cn/Application-toolkit-trace-CN.md
@@ -16,4 +16,4 @@ modelAndView.addObject("traceId", TraceContext.traceId());
 ```
 _示例代码,仅供参考_
 
-* 对任何需要追踪的方法,使用@Trace标注,则此方法会被加入到追踪链中。
+* 对任何需要追踪的方法,使用 `@Trace` 标注,则此方法会被加入到追踪链中。
diff --git a/docs/cn/Deploy-backend-in-standalone-mode-CN.md b/docs/cn/Deploy-backend-in-standalone-mode-CN.md
index 2d7f83b8f..c0cea67be 100644
--- a/docs/cn/Deploy-backend-in-standalone-mode-CN.md
+++ b/docs/cn/Deploy-backend-in-standalone-mode-CN.md
@@ -3,7 +3,7 @@
 
 如果使用单机collector用于非演示环境,你可选择使用Elasticsearch作为存储实现。
 
-**在5.0.0-alpha版本中,暂不提供H2实现**
+**在5.0.0-alpha版本中,暂不提供H2实现, 所以在启动之前,必须先部署ElasticSearch**
 
 ## 所需的第三方软件
 - JDK8+
@@ -12,25 +12,17 @@
 - 前向[发布页面](https://github.com/apache/incubator-skywalking/releases)
 
 ## Quick Start
-Collector单机模拟启动简单,提供和集群模式相同的功能,单机模式下除端口被占用的情况下,直接启动即可。
+Collector单机模拟启动简单,提供和集群模式相同的功能,单机模式下除端口(8080, 10800, 11800, 12800)被占用的情况下,直接启动即可。
 
 ## 部署后台服务
 1. 解压安装包`tar -xvf skywalking-collector.tar.gz`,windows用户可以选择zip包
 1. 运行`bin/startup.sh`启动。windows用户为.bat文件。
 
-- **注意:startup.sh将会启动collector和UI两个进程,UI通过127.0.0.1:10800访问本地collector,无需额外配置。**
+- **注意:在5.0.0-alpha 版本中,startup.sh将会启动collector和UI两个进程,UI通过127.0.0.1:10800访问本地collector,无需额外配置。**
 
 ## 使用Elastic Search代替H2存储
-- 在单机模式下除了支持内置的H2数据库运行,也支持其他的存储(当前已支持的ElasticSearch 5.3),取消Storage相关配置节的注释,并修改配置。
-```yaml
-#storage:
-#  elasticsearch:
-#    cluster_name: CollectorDBCluster
-#    cluster_transport_sniffer: true
-#    cluster_nodes: localhost:9300
-#    index_shards_number: 2
-#    index_replicas_number: 0
-```
+- 在单机模式下,`collector`也支持其他的存储(当前已支持的ElasticSearch 5.3),取消  `application.yml`配置文件中的`storage` 相关配置节的注释,并修改配置,默认的配置是`collector`
+和 `Elasticsearch` 运行在同一台机器上。
 
 ## 部署Elasticsearch
 - 修改`elasticsearch.yml`文件
diff --git a/docs/cn/Deploy-skywalking-agent-CN.md b/docs/cn/Deploy-skywalking-agent-CN.md
index 6c3e73009..560158226 100644
--- a/docs/cn/Deploy-skywalking-agent-CN.md
+++ b/docs/cn/Deploy-skywalking-agent-CN.md
@@ -67,7 +67,7 @@ logging.level=DEBUG
 - 配置除了通过`/config/agent.config`文件外,可以通过环境变量和VM参数(-D)来进行设置
   - 参数的key = `skywalking.` + `agent.config`文件中的key
   - 优先级:系统环境变量 > VM参数(-D) > `/config/agent.config`中的配置
-- Log默认使用文件输出,输出到`/log`目录中
+- Log默认使用文件输出,输出到`/logs`目录中
 
 # Tomcat配置探针FAQ
 - Tomcat 7
diff --git a/docs/cn/Direct-uplink-CN.md b/docs/cn/Direct-uplink-CN.md
new file mode 100644
index 000000000..dc35c8d32
--- /dev/null
+++ b/docs/cn/Direct-uplink-CN.md
@@ -0,0 +1,31 @@
+# 服务直连(Direct uplink)
+## 版本支持
+5.0.0-beta +
+
+## 什么是服务直连(Direct uplink)?
+默认情况下, `SkyWalking`探针使用 名称服务(naming service,即通过名称获取服务地址)的形式获取 `collector`的地址连接gRPC服务.
+
+ **服务直连** 意味着子啊名称服务不可用或者低可用的情况下,在探针端直接使用设置的gRPC的地址进行连接.
+
+## 为什么需要这样做?
+如果探针通过以下代理上报数据:
+1. 私有云(VPCs)
+1. 公网(Internet)
+1. 不同的子网(subnet).
+1. Ip,Port代理
+
+## 探针配置
+1. 去掉配置 `collector.servers` .
+2. 在 `agent.config`中按照如下配置
+```
+# Collector agent_gRPC/grpc 地址.
+# 仅仅当不配置的"collector.servers"的时候生效,作为第二种配置地址选择.
+# 如果使用此配置,自动发现服务将无法使用,探针将直接使用此地址进行数据上报.
+# 仅仅当探针端无法连接到`collector`的集群 ip地址时,我们才推荐使用这种配置,比如:
+#   1. 探针和 `collector`在不同的私有云当中.
+#   2. 探针通过外网上报数据到 `collector`.
+# collector.direct_servers=www.skywalking.service.io
+```  
+
+3. 可以只用域名或者IP:PORT形式(逗号分割) 来设置`collector.direct_servers`.
+
diff --git a/docs/cn/FAQ/Kafka-plugin-CN.md b/docs/cn/FAQ/Kafka-plugin-CN.md
index 02d15a9a6..471d7ee6f 100644
--- a/docs/cn/FAQ/Kafka-plugin-CN.md
+++ b/docs/cn/FAQ/Kafka-plugin-CN.md
@@ -4,4 +4,4 @@ Kafka消息消费端链路断裂
 **原因**:
 Kafka探针只是追踪了对Kafka的拉取动作,而整个后续处理过程不是由kafka consumer发起。故,需要在消费处理的发起点,进行手动埋点。
 
-**解决方法**: 可以通过Application Toolkit中的@Trace标注,或者OpenTracing API进行手动埋点。
+**解决方法**: 可以通过Application Toolkit中的 `@Trace` 标注,或者OpenTracing API进行手动埋点。
diff --git a/docs/cn/Namespace-CN.md b/docs/cn/Namespace-CN.md
new file mode 100644
index 000000000..dfd0ecaff
--- /dev/null
+++ b/docs/cn/Namespace-CN.md
@@ -0,0 +1,37 @@
+# 命名空间
+## 版本支持
+5.0.0-beta +
+
+## 需求背景
+SkyWalking是一个用于从分布式系统收集指标的监控工具。 在实际环境中,一个非常大的分布式系统包括数百个应用程序,数千个应用程序实例。 在这种情况下,更大可能的不止一个组,
+甚至还有一家公司正在维护和监控分布式系统。 他们每个人都负责不同的部分,不能共享某些指标。
+
+在这种情况下,命名空间就应运而生了,它用来隔离追踪和监控数据.
+
+## 配置命名空间
+### 在探针配置中配置 agent.namespace 
+```properties
+# The agent namespace
+# agent.namespace=default-namespace
+``` 
+
+默认情况下 `agent.namespace` 是没有配置的. 
+
+**影响**
+默认情况下,SkyWalking 设置的key是 `sw3`, 更多信息查看[文档](Skywalking-Cross-Process-Propagation-Headers-Protocol-CN-v1.md).
+配置好 `agent.namespace` 之后,  key 就被设置为`namespace:sw3`.
+
+当双方使用不同的名称空间时,跨进程传播链会中断。
+
+### collector 中设置命名空间
+```yml
+configuration:
+  default:
+    namespace: xxxxx
+```
+
+**影响**
+1. 如果使用 `zookeeper`开启了集群模式,`zookeeper`的路径会变为带有命名空间前缀的的路径.
+1. 如果使用`Elasticsearch` 进行存储,所有的`type` 名称会带有命名空间的前缀.
+
+
diff --git a/docs/cn/Setting-override-CN.md b/docs/cn/Setting-override-CN.md
new file mode 100644
index 000000000..cef950e7b
--- /dev/null
+++ b/docs/cn/Setting-override-CN.md
@@ -0,0 +1,34 @@
+# 覆盖配置
+## 版本支持
+5.0.0-beta + 
+
+_探针的覆盖配置从  3.2.5版本就已经支持_
+
+## 什么是覆盖配置?
+默认情况下, SkyWalking 探针读取`agent.config` 配置文件, 服务端读取配置文件 `application.yml` . 
+覆盖配置表示用户可以通过启动参数(-D)来覆盖这些配置文件里面的配置.
+
+## 配置优先级
+启动参数配置(-D) > 配置文件
+ 
+## 覆盖
+### 探针
+使用 `skywalking.` + key 的格式进行配置,覆盖配置文件中的配置.
+
+- 为什么需要这个前缀?
+   探针和目标应用共享系统启动参数(环境)的配置,使用这个前缀可以避免变量冲突.  
+### Collector
+使用配置文件中相同的 key ,在启动参数中覆盖`collector`中的配置.
+例如:
+-  `application.yml`的配置:
+```yaml
+agent_gRPC:
+  gRPC:
+    host: localhost
+    port: 11800
+```
+
+- 在启动脚本中使用如下启动参数配置将端口设置为31200.
+```
+-Dagent_gRPC.gRPC.port=31200
+```
\ No newline at end of file
diff --git a/docs/cn/TLS-CN.md b/docs/cn/TLS-CN.md
new file mode 100644
index 000000000..0f62e5486
--- /dev/null
+++ b/docs/cn/TLS-CN.md
@@ -0,0 +1,44 @@
+# 支持传输层安全TLS(Transport Layer Security)
+在通过Internet传输数据时,传输层安全(TLS)是一种非常常见的安全方式
+用户可能会在一些场景下遇到这样的情形:
+
+>被监控(部署探针)的应用中部署在同一个私有云(VPC)区域当中,与此同时, SkyWalking 的服务端部署在另一个私有云(VPC)区域中
+> 
+> 在这种情况下,就非常有必要做一些传输安全认证.
+
+## 配置要求
+开启 **服务直连** 功能, 详情参考 [文档](Direct-uplink-CN.md).
+
+由于通过公网直接上报数据,由于安全问题,名称(naming)服务机制并不适合这种情况.所以我们在HTTP服务的名称服务中不支持TLS。
+
+## 版本支持
+5.0.0-beta +
+
+## 认证模式
+仅仅支持 **非双向认证**.
+- 如果你比较熟悉如何生存 key 文件,可以使用 [脚本](../../tools/TLS/tls_key_generate.sh) .
+- 在客户端使用 `ca.crt`文件
+- 在服务端使用 `server.crt` 和 `server.pem`. 
+
+## 配置并开启 TLS
+
+### 探针配置
+- 将 `ca.crt` 放置在探针文件夹的 `/ca` 文件夹中. 需要注意的是,发行的版本中不包含`/ca`文件夹,需要自行创建.
+
+如果探针检测到文件 `/ca/ca.crt` ,会自动开启 TLS.
+
+### Collector 配置
+ `agent_gRPC/gRPC` 模块支持 TLS. 并且现在只有这个模块支持.
+
+- 将`application.yml`中的 `ssl_cert_chain_file` 和 `ssl_private_key_file`  配置打开.
+- `ssl_cert_chain_file` 配置为 `server.crt`的绝对路径.
+- `ssl_private_key_file` 配置为 `server.pem`的绝对路径.
+
+## 避免端口共享
+在大多数情况下,
+在大多数情况下,我们建议在`agent_gRPC / gRPC`和`remote / gRPC`模块中共享所有gRPC服务的端口。
+但是,当你在`agent_gRPC / gRPC`模块中打开TLS时不要这样做,原因就是无论是否开始TLS,你都无法监听端口。
+解决方案, 换一个端口 `remote/gRPC/port`.
+
+## 其他端口监听如何操作?
+请使用其他安全方式确保不能访问  VPC 区域外的其他端口,例如防火墙,代理等。
\ No newline at end of file
diff --git a/docs/cn/Token-auth-CN.md b/docs/cn/Token-auth-CN.md
new file mode 100644
index 000000000..131880ba5
--- /dev/null
+++ b/docs/cn/Token-auth-CN.md
@@ -0,0 +1,45 @@
+# 基于 Token 认证
+## 版本支持
+5.0.0-beta +
+
+## 在使用了TLS 认证之后,为何还需要基于 Token 的认证?
+TLS 是保证传输层的安全,保证传输的网络是可信的.
+基于 token 的认证是为了保证应用的监控数据是 **可信的**.
+
+## Token 
+在现在的版本中, Token是一个简单的字符串.
+
+### 设置 Token
+1. 在 agent.config 文件中设置 Token
+```properties
+# Authentication active is based on backend setting, see application.yml for more details.
+agent.authentication = xxxx
+```
+
+2. 在 `application.yml` 文件中设置 token
+```yaml
+agent_gRPC:
+  gRPC:
+    host: localhost
+    port: 11800
+
+    #Set your own token to active auth
+    authentication: xxxxxx
+```
+
+## 认证失败
+collector验证来自探针的每个请求,只有 token 正确,验证才能通过。
+
+如果token不正确,您将在探针端的日志看到如下日志:
+```
+org.apache.skywalking.apm.dependencies.io.grpc.StatusRuntimeException: PERMISSION_DENIED
+```
+
+## FAQ
+### 我可以只使用token认证而不用TLS?
+不行. 从技术层面来说, 当然可以.但是token 和 TLS 用于不被信任的网络环境. 在这种情况下, TLS显得更加重要, token 认证仅仅在 TLS 认证的之后才能被信任,
+如果在一个没有 TLS 的网络环节中, token非常容易被拦截和窃取.
+
+### 现在skywalking是否支持其他的认证机制? 比如 ak/sk?
+现在还不支持,但是如果有人愿意提供这些这些新特性,我们表示感谢.
+
diff --git a/docs/en/Application-toolkit-log4j-1.x.md b/docs/en/Application-toolkit-log4j-1.x.md
index 753bf4b89..d6ab5a5c1 100644
--- a/docs/en/Application-toolkit-log4j-1.x.md
+++ b/docs/en/Application-toolkit-log4j-1.x.md
@@ -17,4 +17,4 @@ log4j.appender.CONSOLE.layout=TraceIdPatternLayout
 log4j.appender.CONSOLE.layout.ConversionPattern=%d [%T] %-5p %c{1}:%L - %m%n
 ```
 
-* When you use `-javaagent` to active the sky-waking tracer, log4j will output **traceId**, if it existed. If the tracer is inactive, the output will be `TID: N/A`.
+* When you use `-javaagent` to active the sky-walking tracer, log4j will output **traceId**, if it existed. If the tracer is inactive, the output will be `TID: N/A`.
diff --git a/docs/en/Application-toolkit-log4j-2.x.md b/docs/en/Application-toolkit-log4j-2.x.md
index 19502f9ae..5ddfc5722 100644
--- a/docs/en/Application-toolkit-log4j-2.x.md
+++ b/docs/en/Application-toolkit-log4j-2.x.md
@@ -15,4 +15,4 @@
       </Console>
    </Appenders>
 ```
-* When you use `-javaagent` to active the sky-waking tracer, log4j2 will output **traceId**, if it existed. If the tracer is inactive, the output will be `TID: N/A`.
+* When you use `-javaagent` to active the sky-walking tracer, log4j2 will output **traceId**, if it existed. If the tracer is inactive, the output will be `TID: N/A`.
diff --git a/docs/en/Application-toolkit-logback-1.x.md b/docs/en/Application-toolkit-logback-1.x.md
index 4b60043a8..82228e74d 100644
--- a/docs/en/Application-toolkit-logback-1.x.md
+++ b/docs/en/Application-toolkit-logback-1.x.md
@@ -11,11 +11,11 @@
 ```xml
     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
         <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
-            <layout class="com.a.eye.skywalking.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
+            <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>
 ```
 
-* When you use `-javaagent` to active the sky-waking tracer, logback will output **traceId**, if it existed. If the tracer is inactive, the output will be `TID: N/A`.
+* When you use `-javaagent` to active the sky-walking tracer, logback will output **traceId**, if it existed. If the tracer is inactive, the output will be `TID: N/A`.
diff --git a/docs/en/Applicaton-toolkit.md b/docs/en/Applicaton-toolkit.md
index 45daaa583..a7644a6a8 100644
--- a/docs/en/Applicaton-toolkit.md
+++ b/docs/en/Applicaton-toolkit.md
@@ -8,7 +8,7 @@ As you known, skywalking agent run by -javeagent VM parameter. So you definitely
 e.g.
 1. Integrate trace context(traceId) into your log component, e.g. log4j, log4j2 and logback. 
 1. Use CNCF OpenTracing for manually instrumentation. 
-1. Use Skywalking annotation and interop APIs. 
+1. Use Skywalking annotation and interactive APIs. 
 
 
-_**Notice**: all toolkits librarries are on bitray.com/jcenter. And make sure their version should be as same as the tracer's version._
\ No newline at end of file
+_**Notice**: all toolkits libraries are on bitray.com/jcenter. And make sure their version should be as same as the tracer's version._
\ No newline at end of file
diff --git a/docs/en/Deploy-backend-in-standalone-mode.md b/docs/en/Deploy-backend-in-standalone-mode.md
index 6fb3e6a97..6186e7cba 100644
--- a/docs/en/Deploy-backend-in-standalone-mode.md
+++ b/docs/en/Deploy-backend-in-standalone-mode.md
@@ -1,5 +1,5 @@
 # Usage scenario
-Default standalong mode collector means don't support cluster. It uses H2 as storage layer implementation, suggest that use only for preview, test, demonstration, low throughputs and small scale system.
+Default standalone mode collector means don't support cluster. It uses H2 as storage layer implementation, suggest that use only for preview, test, demonstration, low throughputs and small scale system.
 
 If you are using SkyWalking in a low throughputs monitoring scenario, and don't want to deploy cluster, at least, switch the storage implementation from H2 to Elasticsearch.
 
@@ -12,7 +12,7 @@ If you are using SkyWalking in a low throughputs monitoring scenario, and don't
 * [Releases](https://github.com/apache/incubator-skywalking/releases)
 
 ## Quick start
-You can simplely tar/unzip and startup if ports 8080, 10800, 11800, 12800 are free.
+You can simply tar/unzip and startup if ports 8080, 10800, 11800, 12800 are free.
 
 - `tar -xvf skywalking-dist.tar.gz` in Linux, or unzip in windows.
 - run `bin/startup.sh` or `bin/startup.bat`
diff --git a/docs/en/Deploy-skywalking-agent.md b/docs/en/Deploy-skywalking-agent.md
index ae6eaac4c..b2fde13fc 100644
--- a/docs/en/Deploy-skywalking-agent.md
+++ b/docs/en/Deploy-skywalking-agent.md
@@ -26,8 +26,8 @@ New agent package looks like this:
 - Start your application。
 
 # Advanced features
-- All plugins are in `/plugin` folder. The plugin jar is active when it is in there. Remove the plugin jar, it disabled.
-- The default logging output folder is `/log`.
+- All plugins are in `/plugins` folder. The plugin jar is active when it is in there. Remove the plugin jar, it disabled.
+- The default logging output folder is `/logs`.
 
 # Deploy agent in Tomcat FAQ
 - Tomcat 7
diff --git a/docs/en/Direct-uplink.md b/docs/en/Direct-uplink.md
index 11f49bbf2..392c8fda6 100644
--- a/docs/en/Direct-uplink.md
+++ b/docs/en/Direct-uplink.md
@@ -5,7 +5,7 @@
 ## What is direct uplink?
 In default, SkyWalking agent uses naming service to find all collector addresses. Then connect to gRPC services.
 
-In **direct updalink**, mean no naming service available or don't work well, set the gRPC addresses in agent directly. 
+In **direct uplink**, mean no naming service available or don't work well, set the gRPC addresses in agent directly. 
 The agent uses theses addresses to connect gRPC services.
 
 ## Why need this?
diff --git a/docs/en/FAQ/kafka-plugin.md b/docs/en/FAQ/kafka-plugin.md
index 7fea78807..647e85864 100644
--- a/docs/en/FAQ/kafka-plugin.md
+++ b/docs/en/FAQ/kafka-plugin.md
@@ -5,4 +5,4 @@ The trace doesn't continue in kafka consumer side.
 The kafka client is pulling message from server, the plugin also just traces the pull action. As that, you need to do the manual instrument before the pull action, and include the further data process.
 
 **Resolve**:
-Use Application Toolkit libraries to do manual instrumentation. such as `@Trace` annotaion or OpenTracing API.
+Use Application Toolkit libraries to do manual instrumentation. such as `@Trace` annotation or OpenTracing API.
diff --git a/docs/en/TLS.md b/docs/en/TLS.md
index d67654f38..7843ca0b8 100644
--- a/docs/en/TLS.md
+++ b/docs/en/TLS.md
@@ -8,7 +8,7 @@ at the same time, the SkyWalking backend is in another region (VPC).
 > Because of that, security requirement is very obvious.
 
 ## Requirement
-Enable **direct uplink**, by following this [document](direct-uplink.md).
+Enable **direct uplink**, by following this [document](Direct-uplink.md).
 
 Because of uplink through internet, with security concern, the naming mechanism didn't fit. 
 So we didn't support TLS in naming service of HTTP service.


 

----------------------------------------------------------------
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