You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@skywalking.apache.org by wu...@apache.org on 2018/09/01 15:33:09 UTC

[incubator-skywalking] branch 6.0 updated: Add a lot of documents. @peng-yongsheng @hanahmily . Also @hanahmily , the k8 cluster management document and deploy document need you to add.

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch 6.0
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git


The following commit(s) were added to refs/heads/6.0 by this push:
     new 1b0d80c  Add a lot of documents. @peng-yongsheng @hanahmily . Also @hanahmily , the k8 cluster management document and deploy document need you to add.
1b0d80c is described below

commit 1b0d80c5fcbf1c16f77c97f714bd4b522223eb57
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Sat Sep 1 23:32:59 2018 +0800

    Add a lot of documents. @peng-yongsheng @hanahmily . Also @hanahmily , the k8 cluster management document and deploy document need you to add.
---
 README.md                                          |  2 +-
 docs/README.md                                     |  6 ++-
 docs/en/setup/README.md                            |  2 +-
 docs/en/setup/backend/backend-cluster.md           | 41 +++++++++++++++++++++
 docs/en/setup/backend/backend-ip-port.md           | 30 +++++++++++++++
 docs/en/setup/backend/backend-k8s.md               |  1 +
 docs/en/setup/backend/backend-setup.md             | 43 ++++++++++++++++++++++
 docs/en/setup/backend/backend-ui-setup.md          | 41 +++++++++++++++++++++
 ...backend-language-agent-setup.md => ui-setup.md} |  0
 docs/others/cn/README.md                           |  2 +
 .../src/main/resources/application.yml             |  2 +
 11 files changed, 167 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 5d0bb36..47b1eac 100644
--- a/README.md
+++ b/README.md
@@ -48,7 +48,7 @@ You can go to 5.x branch. At there, you have everything you need.
 
 
 # Downloads
-Please head to the [releases page](ttp://skywalking.apache.org/downloads/) to download a release of Apache SkyWalking.
+Please head to the [releases page](http://skywalking.apache.org/downloads/) to download a release of Apache SkyWalking.
 
 
 # Code of conduct
diff --git a/docs/README.md b/docs/README.md
index cdf3dae..3d8c094 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,5 +1,6 @@
 # Welcome
 **SkyWalking 6 documents and codes are still on building, Status: WIP. Of course, we welcome everyone to join us.**
+Here are SkyWalking 6 official documents.
 
 From here you can learn all about **SkyWalking**’s architecture, how to deploy and use SkyWalking, even develop based on SkyWalking.
 
@@ -24,12 +25,15 @@ Also, if you have some related to us, welcome to submit a pull request to add.
 if you see some problem. 
 Or better yet, submit your own contributions through pull request to help make them better.
 
+For documents in other languages, contributed by our community.
+- [中文 :cn:](others/cn/README.md)
+
 ___
 ### Users from 5.x
 SkyWalking 5.x is still supported by the community. For the user plans to upgrade from 5.x to 6.x, you should know there are some definitions of concepts changed.
 
 The most important two changed concepts are
-1. Applciation(in 5.x) is changed to **Service**(in 6.x), also Application Instance is changed to **Service Instance**.
+1. Application(in 5.x) is changed to **Service**(in 6.x), also Application Instance is changed to **Service Instance**.
 1. Service(in 5.x) is changed to **Endpoint**(in 6.x).
 
 
diff --git a/docs/en/setup/README.md b/docs/en/setup/README.md
index 0840de0..edd83fa 100644
--- a/docs/en/setup/README.md
+++ b/docs/en/setup/README.md
@@ -13,5 +13,5 @@ Setup based on which kind of probes are you going to use. If you don't understan
     
 
 ## Setup backend
-Follow [backend setup document](backend/backend-language-agent-setup.md) to understand and config the backend for different
+Follow [backend and UI setup document](backend/backend-ui-setup.md) to understand and config the backend for different
 scenarios, and open advanced features.
\ No newline at end of file
diff --git a/docs/en/setup/backend/backend-cluster.md b/docs/en/setup/backend/backend-cluster.md
new file mode 100644
index 0000000..cb037dc
--- /dev/null
+++ b/docs/en/setup/backend/backend-cluster.md
@@ -0,0 +1,41 @@
+# Cluster Management
+Backend provides several ways to do cluster management. Choose the one you need/want.
+
+- [Zookeeper coordinator](#zookeeper-coordinator). Use Zookeeper to let backend detects and communicates
+with each other.
+- [Kubernetes](#kubernetes). When backend cluster are deployed inside kubernetes, you could choose this
+by using k8s native APIs to manage cluster.
+
+
+## Zookeeper coordinator
+Zookeeper is a very common and wide used cluster coordinator. Set the **cluster** module's implementor
+to **zookeeper** in the yml to active.
+```yaml
+cluster:
+  zookeeper:
+    hostPort: localhost:2181
+    # Retry Policy
+    baseSleepTimeMs: 1000 # initial amount of time to wait between retries
+    maxRetries: 3 # max number of times to retry
+```
+
+- `hostPort` is the list of zookeeper servers. Format is `IP1:PORT1,IP2:PORT2,...,IPn:PORTn`
+- `hostPort`, `baseSleepTimeMs` and `maxRetries` are settings of Zookeeper curator client.
+
+
+## Kubernetes
+Require backend cluster are deployed inside kubernetes, guides are in [Deploy in kubernetes](backend-k8s.md).
+Set implementor to `kubernetes`.
+
+```yaml
+cluster:
+  kubernetes:
+    watchTimeoutSeconds: 60
+    namespace: default
+    labelSelector: app=collector,release=skywalking
+    uidEnvName: SKYWALKING_COLLECTOR_UID
+```
+
+TODO @hanahmily
+
+settings descriptions.
\ No newline at end of file
diff --git a/docs/en/setup/backend/backend-ip-port.md b/docs/en/setup/backend/backend-ip-port.md
new file mode 100644
index 0000000..bccb816
--- /dev/null
+++ b/docs/en/setup/backend/backend-ip-port.md
@@ -0,0 +1,30 @@
+# IP and port setting
+Backend is using IP and port binding, in order to support the OS having multiple IPs.
+The binding/listening IP and port are specified by core module
+```yaml
+core:
+  default:
+    restHost: 0.0.0.0
+    restPort: 12800
+    restContextPath: /
+    gRPCHost: 0.0.0.0
+    gRPCPort: 11800
+```
+There are two IP/port pair for gRPC and HTTP rest services.
+
+- Most agents and probes use gRPC service for better performance and code readability.
+- Few agent use rest service, because gRPC may be not supported in that language.
+- UI uses rest service, but data in GraphQL format, always.
+
+
+## Notice
+### IP binding
+In case some users are not familiar with IP binding, you should know, after you did that, 
+the client could only use this IP to access the service. Such as binding `172.09.13.28`, even you are
+in this machine, must use this IP rather than `127.0.0.1` or `localhost` to access the service.
+
+### Module provider specified IP and port
+The IP and port in core are only default provided by core. But some module provider may provide other
+IP and port settings, this is common. Such as many receiver modules provide this.
+
+
diff --git a/docs/en/setup/backend/backend-k8s.md b/docs/en/setup/backend/backend-k8s.md
new file mode 100644
index 0000000..083bf7e
--- /dev/null
+++ b/docs/en/setup/backend/backend-k8s.md
@@ -0,0 +1 @@
+# Deploy backend in kubernetes
\ No newline at end of file
diff --git a/docs/en/setup/backend/backend-setup.md b/docs/en/setup/backend/backend-setup.md
new file mode 100644
index 0000000..4318f4e
--- /dev/null
+++ b/docs/en/setup/backend/backend-setup.md
@@ -0,0 +1,43 @@
+# Backend setup
+First and most important thing is, SkyWalking backend startup behaviours are driven by `config/application.yml`.
+Understood the setting file will help you to read this document.
+
+## application.yml
+The core concept behind this setting file is, SkyWalking collector is based on pure modulization design. 
+End user can switch or assemble the collector features by their own requirements.
+
+So, in `application.yml`, there are three levels.
+1. **Level 1**, module name. Meaning this module is active in running mode.
+1. **Level 2**, provider name. Set the provider of the module.
+1. **Level 3**. settings of the provider.
+
+Example:
+```yaml
+core:
+  default:
+    restHost: 0.0.0.0
+    restPort: 12800
+    restContextPath: /
+    gRPCHost: 0.0.0.0
+    gRPCPort: 11800
+```
+1. **core** is the module.
+1. **default** is the default implementor of core module.
+1. `restHost`, `restPort`, ... `gRPCHost` are all setting items of the implementor.
+
+At the same time, modules includes required and optional, the required modules provide the skeleton of backend,
+even modulization supported pluggable, remove those modules are meanless. We highly recommend you don't try to
+switch those modules, unless you are well known SkyWalking project and its codes.
+
+List the required modules here
+1. **core**
+1. **cluster**
+1. **storage**
+1. **query**
+
+After understand the setting file structure, you could choose your interesting feature document.
+We recommend you to read the feature documents in our following list.
+
+1. [IP and port setting](backend-ip-port.md). Introduce how IP and port set and be used.
+1. [Cluster management](backend-cluster.md). Guide you to set backend server in cluster mode.
+1. [Deploy in kubernetes](backend-k8s.md). Guide you to build and use SkyWalking image, and deploy in k8s.
diff --git a/docs/en/setup/backend/backend-ui-setup.md b/docs/en/setup/backend/backend-ui-setup.md
new file mode 100644
index 0000000..081a1d9
--- /dev/null
+++ b/docs/en/setup/backend/backend-ui-setup.md
@@ -0,0 +1,41 @@
+# Backend and UI
+
+SkyWalking backend distribution package includes following parts
+1. **bin/cmd scripts**, in `/bin` folder. Include startup linux shell and Windows cmd scripts for Backend
+server and UI startup.
+1. **Backend config**, in `/config` folder. Include setting files of backend, which are `application.yml`,
+`log4j.xml` and `alarm-settings.yml`. Most open settings are in these files.
+1. **Libraries of backend**, in `/oap-libs` folder. All jar files of backend are in it.
+1. **Webapp env**, in `webapp` folder. UI frontend jar file is in here and its `webapp.yml` setting file. 
+
+## Quick start
+Requirement: **JDK8**
+
+Before you do quick start, you should know, quick start is to run skywalking backend and UI for preview
+or demonstration. In here, performance and long-term running are not our goals. 
+
+Want to deploy to product/test env? Go to [Backend and UI deployment documents](#deploy-backend-and-ui)
+
+You can use `bin/startup.sh`(or cmd) to startup backend and UI in default settings, which include the following
+things you need to know.
+- Storage, use H2 by default, in order to make sure, don't need further deployment.
+- Backend listens `0.0.0.0/11800` for gRPC APIs and `0.0.0.0/12800` for http rest APIs.
+In Java, .NetCore, Node.js, Istio agents/probe, set the gRPC service address to `ip/host:11800`. 
+(ip/host is where the backend at)
+- UI listens `8080` port and request `127.0.0.1/12800` to do GraphQL query.  
+
+## Deploy Backend and UI
+After the quick start, you should want to deploy the backend and UI in the distributed env.
+Before that, you should know how agent/probe, backend, UI communicate with each other.
+
+<img src="https://skywalkingtest.github.io/page-resources/6.0.0/communication-net.png"/>
+
+- All native agents and probes, either language based or mesh probe, are using gRPC service(`core/default/gRPC*` in `application.yml`) to report
+data to backend. Also, jetty service supported in JSON format. 
+- UI uses GraphQL(HTTP) query to access backend also in Jetty service(`core/default/rest*` in `application.yml`).
+
+Now, let's go the backend and UI setting documents.
+- [Backend setting document](backend-setup.md)
+- [UI setting document](ui-setup.md)
+
+ 
\ No newline at end of file
diff --git a/docs/en/setup/backend/backend-language-agent-setup.md b/docs/en/setup/backend/ui-setup.md
similarity index 100%
rename from docs/en/setup/backend/backend-language-agent-setup.md
rename to docs/en/setup/backend/ui-setup.md
diff --git a/docs/others/cn/README.md b/docs/others/cn/README.md
new file mode 100644
index 0000000..c60c9b9
--- /dev/null
+++ b/docs/others/cn/README.md
@@ -0,0 +1,2 @@
+# SkyWalking 6 中文文档
+TODO
\ No newline at end of file
diff --git a/oap-server/server-starter/src/main/resources/application.yml b/oap-server/server-starter/src/main/resources/application.yml
index 004745a..371529f 100644
--- a/oap-server/server-starter/src/main/resources/application.yml
+++ b/oap-server/server-starter/src/main/resources/application.yml
@@ -60,3 +60,5 @@ istio-telemetry:
 query:
   graphql:
     path: /graphql
+alarm:
+  default: