Add a lot of documents. @peng-yongsheng @hanahmily . Also @hanahmily , the k8 cluster management document and deploy document need you to add.
This commit is contained in:
parent
de7994ff71
commit
1b0d80c5fc
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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).
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
# Deploy backend in kubernetes
|
||||
|
|
@ -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.
|
||||
|
|
@ -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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
# SkyWalking 6 中文文档
|
||||
TODO
|
||||
|
|
@ -60,3 +60,5 @@ istio-telemetry:
|
|||
query:
|
||||
graphql:
|
||||
path: /graphql
|
||||
alarm:
|
||||
default:
|
||||
|
|
|
|||
Loading…
Reference in New Issue