Dynamic Configuration
SkyWalking Configurations are mostly set through application.yml
and OS system environment variables.
At the same time, some of them support dynamic settings from an upstream management system.
Currently, SkyWalking supports two types of dynamic configurations: Single and Group.
This feature depends on upstream service, so it is DISABLED by default.
configuration:
selector: ${SW_CONFIGURATION:none}
none:
grpc:
host: ${SW_DCS_SERVER_HOST:""}
port: ${SW_DCS_SERVER_PORT:80}
clusterName: ${SW_DCS_CLUSTER_NAME:SkyWalking}
period: ${SW_DCS_PERIOD:20}
# ... other implementations
Single Configuration
Single Configuration is a config key that corresponds to a specific config value. The logic structure is:
{configKey}:{configValue}
For example:
{agent-analyzer.default.slowDBAccessThreshold}:{default:200,mongodb:50}
Supported configurations are as follows:
Config Key | Value Description | Value Format Example |
---|---|---|
agent-analyzer.default.slowDBAccessThreshold | Thresholds of slow Database statement. Overrides agent-analyzer/default/slowDBAccessThreshold of application.yml . |
default:200,mongodb:50 |
agent-analyzer.default.uninstrumentedGateways | The uninstrumented gateways. Overrides gateways.yml . |
Same as gateways.yml . |
alarm.default.alarm-settings | The alarm settings. Overrides alarm-settings.yml . |
Same as alarm-settings.yml . |
core.default.apdexThreshold | The apdex threshold settings. Overrides service-apdex-threshold.yml . |
Same as service-apdex-threshold.yml . |
core.default.endpoint-name-grouping | The endpoint name grouping setting. Overrides endpoint-name-grouping.yml . |
Same as endpoint-name-grouping.yml . |
core.default.log4j-xml | The log4j xml configuration. Overrides log4j2.xml . |
Same as log4j2.xml . |
agent-analyzer.default.traceSamplingPolicy | The sampling policy for default and service dimension, override trace-sampling-policy-settings.yml . |
same as trace-sampling-policy-settings.yml |
configuration-discovery.default.agentConfigurations | The ConfigurationDiscovery settings. | See configuration-discovery.md . |
Group Configuration
Group Configuration is a config key corresponding to a group sub config item. A sub config item is a key-value pair. The logic structure is:
{configKey}: |{subItemkey1}:{subItemValue1}
|{subItemkey2}:{subItemValue2}
|{subItemkey3}:{subItemValue3}
...
For example:
{core.default.endpoint-name-grouping-openapi}:|{customerAPI-v1}:{value of customerAPI-v1}
|{productAPI-v1}:{value of productAPI-v1}
|{productAPI-v2}:{value of productAPI-v2}
Supported configurations are as follows:
Config Key | SubItem Key Description | Value Description | Value Format Example |
---|---|---|---|
core.default.endpoint-name-grouping-openapi | The serviceName relevant to openAPI definition file. eg. serviceA . If the serviceName relevant to multiple files should add subItems for each files, and each subItem key should split serviceName and fileName with . eg. serviceA.API-file1 ,serviceA.API-file2 |
The openAPI definitions file contents(yaml format) for create endpoint name grouping rules. | Same as productAPI-v2.yaml |