Skip to content

Commit

Permalink
Add documentation for help user deploy the Satellite as Gateway (#90)
Browse files Browse the repository at this point in the history
  • Loading branch information
mrproliu authored Dec 1, 2021
1 parent c89b750 commit 8fe9897
Show file tree
Hide file tree
Showing 17 changed files with 179 additions and 363 deletions.
22 changes: 11 additions & 11 deletions configs/satellite_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ pipes:
# The maximum buffer event size.
event_buffer_size: ${SATELLITE_QUEUE_EVENT_BUFFER_SIZE:5000}
# The partition count of queue.
partition: ${SATELLITE_QUEUE_PARTITION:1}
partition: ${SATELLITE_QUEUE_PARTITION:4}
processor:
filters:
sender:
Expand All @@ -153,7 +153,7 @@ pipes:
# The maximum buffer event size.
event_buffer_size: ${SATELLITE_QUEUE_EVENT_BUFFER_SIZE:5000}
# The partition count of queue.
partition: ${SATELLITE_QUEUE_PARTITION:1}
partition: ${SATELLITE_QUEUE_PARTITION:4}
processor:
filters:
sender:
Expand All @@ -179,7 +179,7 @@ pipes:
# The maximum buffer event size.
event_buffer_size: ${SATELLITE_QUEUE_EVENT_BUFFER_SIZE:5000}
# The partition count of queue.
partition: ${SATELLITE_QUEUE_PARTITION:1}
partition: ${SATELLITE_QUEUE_PARTITION:4}
processor:
filters:
sender:
Expand All @@ -205,7 +205,7 @@ pipes:
# The maximum buffer event size.
event_buffer_size: ${SATELLITE_QUEUE_EVENT_BUFFER_SIZE:5000}
# The partition count of queue.
partition: ${SATELLITE_QUEUE_PARTITION:1}
partition: ${SATELLITE_QUEUE_PARTITION:4}
processor:
filters:
sender:
Expand Down Expand Up @@ -247,7 +247,7 @@ pipes:
# The maximum buffer event size.
event_buffer_size: ${SATELLITE_QUEUE_EVENT_BUFFER_SIZE:5000}
# The partition count of queue.
partition: ${SATELLITE_QUEUE_PARTITION:1}
partition: ${SATELLITE_QUEUE_PARTITION:4}
processor:
filters:
sender:
Expand All @@ -273,7 +273,7 @@ pipes:
# The maximum buffer event size.
event_buffer_size: ${SATELLITE_QUEUE_EVENT_BUFFER_SIZE:5000}
# The partition count of queue.
partition: ${SATELLITE_QUEUE_PARTITION:1}
partition: ${SATELLITE_QUEUE_PARTITION:4}
processor:
filters:
sender:
Expand All @@ -299,7 +299,7 @@ pipes:
# The maximum buffer event size.
event_buffer_size: ${SATELLITE_QUEUE_EVENT_BUFFER_SIZE:5000}
# The partition count of queue.
partition: ${SATELLITE_QUEUE_PARTITION:1}
partition: ${SATELLITE_QUEUE_PARTITION:4}
processor:
filters:
sender:
Expand Down Expand Up @@ -329,7 +329,7 @@ pipes:
# The maximum buffer event size.
event_buffer_size: ${SATELLITE_QUEUE_EVENT_BUFFER_SIZE:5000}
# The partition count of queue.
partition: ${SATELLITE_QUEUE_PARTITION:1}
partition: ${SATELLITE_QUEUE_PARTITION:4}
processor:
filters:
sender:
Expand Down Expand Up @@ -359,7 +359,7 @@ pipes:
# The maximum buffer event size.
event_buffer_size: ${SATELLITE_QUEUE_EVENT_BUFFER_SIZE:5000}
# The partition count of queue.
partition: ${SATELLITE_QUEUE_PARTITION:1}
partition: ${SATELLITE_QUEUE_PARTITION:4}
processor:
filters:
sender:
Expand Down Expand Up @@ -389,7 +389,7 @@ pipes:
# The maximum buffer event size.
event_buffer_size: ${SATELLITE_QUEUE_EVENT_BUFFER_SIZE:5000}
# The partition count of queue.
partition: ${SATELLITE_QUEUE_PARTITION:1}
partition: ${SATELLITE_QUEUE_PARTITION:4}
processor:
filters:
sender:
Expand Down Expand Up @@ -419,7 +419,7 @@ pipes:
# The maximum buffer event size.
event_buffer_size: ${SATELLITE_QUEUE_EVENT_BUFFER_SIZE:5000}
# The partition count of queue.
partition: ${SATELLITE_QUEUE_PARTITION:1}
partition: ${SATELLITE_QUEUE_PARTITION:4}
processor:
filters:
sender:
Expand Down
27 changes: 27 additions & 0 deletions dist/bin/startup.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
@REM
@REM Licensed to the Apache Software Foundation (ASF) under one or more
@REM contributor license agreements. See the NOTICE file distributed with
@REM this work for additional information regarding copyright ownership.
@REM The ASF licenses this file to You under the Apache License, Version 2.0
@REM (the "License"); you may not use this file except in compliance with
@REM the License. You may obtain a copy of the License at
@REM
@REM http://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing, software
@REM distributed under the License is distributed on an "AS IS" BASIS,
@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@REM See the License for the specific language governing permissions and
@REM limitations under the License.

@echo off

setlocal
set SATELLITE_PROCESS_TITLE=Skywalking-Satellite
set SATELLITE_HOME=%~dp0%..

for /F %%i in ('where /r "%SATELLITE_HOME%\bin" skywalking-satellite*windows*') do ( set SATELLITE_EXEC=%%i)

start "%SATELLITE_PROCESS_TITLE%" %SATELLITE_EXEC% start --config="%SATELLITE_HOME%\configs\satellite_config.yaml"

endlocal
2 changes: 0 additions & 2 deletions docs/en/FAQ/README.md

This file was deleted.

41 changes: 0 additions & 41 deletions docs/en/FAQ/performance.md

This file was deleted.

17 changes: 13 additions & 4 deletions docs/en/setup/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,15 @@ bin/startup.sh
## Examples
You can quickly build your satellite according to the following examples:

1. [Forward Agent Data to OAP Server](examples/forward-agent-data-to-oap-server/README.md)
2. [Transmit Log to Kafka](examples/transmit-log-to-kafka/README.md)
3. [GRPC Load Balance Client](examples/grpc-load-balance-client/README.md)
3. [High Throughput Queue](examples/high-throughput-queue/README.md)
### Deploy

1. [Deploy on Linux and Windows](examples/deploy/linux-windows/README.md)
2. [Deploy on Kubernetes](examples/deploy/kubernetes/README.md)

### More Use Cases

1. [Transmit Log to Kafka](examples/feature/transmit-log-to-kafka/README.md)
2. [Enable/Disable Channel](examples/feature/enable-disable-channel/README.md)

## satellite_config.yaml
The core concept behind this setting file is, SkyWalking Satellite is based on pure modularization design. End user can switch or assemble the collector features by their own requirements.
Expand All @@ -34,3 +39,7 @@ So, in satellite_config.yaml, there are three parts.

## Advanced feature document link list
1. [Overriding settings](./configuration/override-settings.md) in satellite_config.yaml is supported

## Performance

1. [ALS Load Balance](performance/als-load-balance/README.md).
28 changes: 28 additions & 0 deletions docs/en/setup/examples/deploy/kubernetes/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Deploy on Kubernetes

It could help you run the Satellite as a gateway in Kubernetes environment.

## Install

We recommend install the Satellite by `helm`, follow command below, it could start the latest release version of SkyWalking Backend, UI and Satellite.

```shell
export SKYWALKING_RELEASE_NAME=skywalking # change the release name according to your scenario
export SKYWALKING_RELEASE_NAMESPACE=default # change the namespace to where you want to install SkyWalking
export REPO=skywalking

helm repo add ${REPO} https://apache.jfrog.io/artifactory/skywalking-helm
helm install "${SKYWALKING_RELEASE_NAME}" ${REPO}/skywalking -n "${SKYWALKING_RELEASE_NAMESPACE}" \
--set oap.image.tag=8.8.1 \
--set oap.storageType=elasticsearch \
--set ui.image.tag=8.8.1 \
--set elasticsearch.imageTag=6.8.6 \
--set satellite.enabled=true \
--set satellite.image.tag=v0.4.0
```

## Change Address

After the Satellite and Backend started, need to change the address from agent/node. Then the satellite could load balance the request from agent/node to OAP backend.

Such as in Java Agent, you should change the property value in `collector.backend_service` forward to this: `skywalking-satellite.${SKYWALKING_RELEASE_NAMESPACE}:11800`.
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
# GRPC Load Balance Client
# Deploy on Linux and Windows

GRPC client support connect to multiple server address, and use `round-robin` policy for load-balance server before send each request.
It could help you run the Satellite as a gateway in Linux or Windows instance.

## Server Discovery
## Install

### Download

Download the latest release version from [SkyWalking Release Page](https://skywalking.apache.org/downloads/#SkyWalkingSatellite).

### Change OAP Server addresses

Update the OAP Server address in the config file, then satellite could connect to them and use `round-robin` policy for load-balance server before send each request.

Support two ways to locate the server list, using `finder_type` to change the type to find:
1. `static`: Define the server address list.
2. `kubernetes`: Define kubernetes pod/service/endpoint, it could be found addresses and dynamic update automatically.

### Static server list
#### Static server list

You could see there define two server address and split by ",".

Expand Down Expand Up @@ -41,7 +49,7 @@ sharing:
tls_key_file: ${SATELLITE_GRPC_TLS_KEY_FILE:""}
```
### Kubernetes selector
#### Kubernetes selector
Using `kubernetes_config` to define the address's finder.

Expand Down Expand Up @@ -86,3 +94,15 @@ sharing:
# The TLS key file path.
tls_key_file: ${SATELLITE_GRPC_TLS_KEY_FILE:""}
```

### Start Satellite

Execute the script `bin/startup.sh`(linux) or `bin/startup.cmd`(windows) to start. Then It could start these port:
1. gRPC port(`11800`): listen the gRPC request, It could handle request from SkyWalking Agent protocol and Envoy ALS/Metrics protocol.
2. Prometheus(`1234`): listen the HTTP request, It could get all `SO11Y` metrics from `/metrics` endpoint using Prometheus format.

## Change Address

After the satellite start, need to change the address from agent/node. Then the satellite could load balance the request from agent/node to OAP backend.

Such as in Java Agent, you should change the property value in `collector.backend_service` forward to the satellite gRPC port.
11 changes: 11 additions & 0 deletions docs/en/setup/examples/feature/enable-disable-channel/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Enable/Disable Channel

Different channels mean that different protocols can be transparently transmitted to upstream services(OAP).

## Config

In the Satellite configuration, a channel is represented under the configured `pipes`. By default, we open all channels and process all known protocols.

You could **delete** the channel if you don't want to receive and transmit in satellite.

After restart the satellite service, then the channel what you delete is disable.
21 changes: 0 additions & 21 deletions docs/en/setup/examples/forward-agent-data-to-oap-server/README.md

This file was deleted.

Loading

0 comments on commit 8fe9897

Please sign in to comment.