You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2019/06/03 04:00:30 UTC
[skywalking] branch config-API updated: Finish the dynamic
configuration service.
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch config-API
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/config-API by this push:
new 89c2283 Finish the dynamic configuration service.
89c2283 is described below
commit 89c2283a90d3d4051fe77a5b81c5aace992886a4
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Mon Jun 3 12:00:20 2019 +0800
Finish the dynamic configuration service.
---
docs/en/setup/backend/backend-setup.md | 2 ++
docs/en/setup/backend/dynamic-config.md | 39 ++++++++++++++++++++++
.../src/main/proto/configuration-service.proto | 4 +--
3 files changed, 43 insertions(+), 2 deletions(-)
diff --git a/docs/en/setup/backend/backend-setup.md b/docs/en/setup/backend/backend-setup.md
index 0092b5c..6ec0798 100644
--- a/docs/en/setup/backend/backend-setup.md
+++ b/docs/en/setup/backend/backend-setup.md
@@ -81,6 +81,8 @@ scale and support high payload, you may need this.
system.
1. [Time To Live (TTL)](ttl.md). Metrics and trace are time series data, they would be saved forever, you could
set the expired time for each dimension.
+1. [Dynamic Configuration](dynamic-config.md). Make configuration of OAP changed dynamic, from remote service
+or 3rd party configuration management system.
## Telemetry for backend
OAP backend cluster itself underlying is a distributed streaming process system. For helping the Ops team,
diff --git a/docs/en/setup/backend/dynamic-config.md b/docs/en/setup/backend/dynamic-config.md
new file mode 100644
index 0000000..de13691
--- /dev/null
+++ b/docs/en/setup/backend/dynamic-config.md
@@ -0,0 +1,39 @@
+# Dynamic Configuration
+SkyWalking Configurations mostly are set through `application.yml` and OS system environment variables.
+But some of them are supporting dynamic settings from upstream management system.
+
+Right now, SkyWalking supports following dynamic configurations.
+
+| Config Key | Value Description | Value Format Example |
+|:----:|:----:|:----:|
+|receiver-trace.default.slowDBAccessThreshold| Thresholds of slow Database statement, override `receiver-trace/default/slowDBAccessThreshold` of `applciation.yml`. | default:200,mongodb:50|
+
+
+This feature depends on upstream service, so it is **OFF** as default.
+```yaml
+configuration:
+ none:
+```
+
+## Dynamic Configuration Service, DCS
+[Dynamic Configuration Service](../../../../oap-server/server-configuration/grpc-configuration-sync/src/main/proto/configuration-service.proto)
+is a gRPC service, which requires the upstream system implemented.
+The SkyWalking OAP fetches the configuration from the implementation(any system), after you open this implementation like this.
+
+```yaml
+configuration:
+ grpc:
+ # Upstream system hostname
+ host: 127.0.0.1
+ # Upstream system port
+ port: 9555
+ #period : 60 # Unit seconds, sync period. Default fetch every 60 seconds.
+ #clusterName: "default" # the name of current cluster, set the name if you want to upstream system known.
+```
+
+
+## 3rd party Configuration Center
+We are welcome contributions to implement this module provider to support popular configuration center,
+such as Zookeeper, etcd, Consul, Nacos. Submit issue to discuss.
+
+
diff --git a/oap-server/server-configuration/grpc-configuration-sync/src/main/proto/configuration-service.proto b/oap-server/server-configuration/grpc-configuration-sync/src/main/proto/configuration-service.proto
index 858de28..be15aef 100644
--- a/oap-server/server-configuration/grpc-configuration-sync/src/main/proto/configuration-service.proto
+++ b/oap-server/server-configuration/grpc-configuration-sync/src/main/proto/configuration-service.proto
@@ -37,10 +37,10 @@ message ConfigurationResponse {
// Include all config items.
// All config name should be not empty,
// the name is composed by "module name"."provider name"."item name".
- // Each watcher implementor will provide this, and it will be notified when the name matched.
+ // Each watcher implementor provides this, and it will be notified when the value changed.
//
// If the config center wants to set the value to NULL or empty,
- // must set the name with empty and NULL explicitly.
+ // must set the name with empty value explicitly.
repeated Config configTable = 1;
}