SkyWalking Configurations are mostly set through application.yml
and OS system environment variables. At the same time, some of them support dynamic settings from upstream management system.
Currently, SkyWalking supports the 2 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 is a config key that corresponds to a specific config value. The logic structure is:
{configKey}:{configVaule}
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 receiver-trace/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 is a config key that corresponds to a group sub config items. 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 |