@@ -22,76 +22,90 @@ org.apache.skywalking.oap.server.library.module.ModuleStartException: Incompatib
22
22
```
23
23
24
24
### Configuration
25
+ In the ` application.yml ` file, select the BanyanDB storage provider:
25
26
26
27
``` yaml
27
28
storage :
28
29
banyandb :
29
- # Targets is the list of BanyanDB servers, separated by commas.
30
- # Each target is a BanyanDB server in the format of `host:port`.
31
- # If BanyanDB is deployed as a standalone server, the target should be the IP address or domain name and port of the BanyanDB server.
32
- # If BanyanDB is deployed in a cluster, the targets should be the IP address or domain name and port of the `liaison` nodes, separated by commas.
33
- targets : ${SW_STORAGE_BANYANDB_TARGETS:127.0.0.1:17912}
34
- # The maximum number of records in a bulk write request.
35
- # A larger value can improve write performance but also increases OAP and BanyanDB Server memory usage.
36
- maxBulkSize : ${SW_STORAGE_BANYANDB_MAX_BULK_SIZE:10000}
37
- # The minimum seconds between two bulk flushes.
38
- # If the data in a bulk is less than maxBulkSize, the data will be flushed after this period.
39
- # If the data in a bulk exceeds maxBulkSize, the data will be flushed immediately.
40
- # A larger value can reduce write pressure on BanyanDB Server but increase data latency.
41
- flushInterval : ${SW_STORAGE_BANYANDB_FLUSH_INTERVAL:15}
42
- # The timeout in seconds for a bulk flush.
43
- flushTimeout : ${SW_STORAGE_BANYANDB_FLUSH_TIMEOUT:10}
44
- # The number of threads that write data to BanyanDB concurrently.
45
- # A higher value can improve write performance but also increases CPU usage on both OAP and BanyanDB Server.
46
- concurrentWriteThreads : ${SW_STORAGE_BANYANDB_CONCURRENT_WRITE_THREADS:15}
47
- # The maximum size of the dataset when the OAP loads cache, such as network aliases.
48
- resultWindowMaxSize : ${SW_STORAGE_BANYANDB_QUERY_MAX_WINDOW_SIZE:10000}
49
- # The maximum size of metadata per query.
50
- metadataQueryMaxSize : ${SW_STORAGE_BANYANDB_QUERY_MAX_SIZE:10000}
51
- # The maximum number of trace segments per query.
52
- segmentQueryMaxSize : ${SW_STORAGE_BANYANDB_QUERY_SEGMENT_SIZE:200}
53
- # The maximum number of profile task queries in a request.
54
- profileTaskQueryMaxSize : ${SW_STORAGE_BANYANDB_QUERY_PROFILE_TASK_SIZE:200}
55
- # The batch size for querying profile data.
56
- profileDataQueryBatchSize : ${SW_STORAGE_BANYANDB_QUERY_PROFILE_DATA_BATCH_SIZE:100}
57
- # If the BanyanDB server is configured with TLS, configure the TLS cert file path and enable TLS connection.
58
- sslTrustCAPath : ${SW_STORAGE_BANYANDB_SSL_TRUST_CA_PATH:""}
59
- # The group settings of record.
60
- # `gr` is the short name of the group settings of record.
61
- #
62
- # The "normal" section defines settings for datasets not specified in "super".
63
- # Each dataset will be grouped under a single group named "normal".
64
- grNormalShardNum : ${SW_STORAGE_BANYANDB_GR_NORMAL_SHARD_NUM:1}
65
- grNormalSIDays : ${SW_STORAGE_BANYANDB_GR_NORMAL_SI_DAYS:1}
66
- grNormalTTLDays : ${SW_STORAGE_BANYANDB_GR_NORMAL_TTL_DAYS:3}
67
- # "super" is a special dataset designed to store trace or log data that is too large for normal datasets.
68
- # Each super dataset will be a separate group in BanyanDB, following the settings defined in the "super" section.
69
- grSuperShardNum : ${SW_STORAGE_BANYANDB_GR_SUPER_SHARD_NUM:2}
70
- grSuperSIDays : ${SW_STORAGE_BANYANDB_GR_SUPER_SI_DAYS:1}
71
- grSuperTTLDays : ${SW_STORAGE_BANYANDB_GR_SUPER_TTL_DAYS:3}
72
- # The group settings of metrics.
73
- # `gm` is the short name of the group settings of metrics.
74
- #
75
- # OAP stores metrics based its granularity.
76
- # Valid values are "day", "hour", and "minute". That means metrics will be stored in the three separate groups.
77
- # Non-"minute" are governed by the "core.downsampling" setting.
78
- # For example, if "core.downsampling" is set to "hour", the "hour" will be used, while "day" are ignored.
79
- gmMinuteShardNum : ${SW_STORAGE_BANYANDB_GM_MINUTE_SHARD_NUM:2}
80
- gmMinuteSIDays : ${SW_STORAGE_BANYANDB_GM_MINUTE_SI_DAYS:1}
81
- gmMinuteTTLDays : ${SW_STORAGE_BANYANDB_GM_MINUTE_TTL_DAYS:7}
82
- gmHourShardNum : ${SW_STORAGE_BANYANDB_GM_HOUR_SHARD_NUM:1}
83
- gmHourSIDays : ${SW_STORAGE_BANYANDB_GM_HOUR_SI_DAYS:5}
84
- gmHourTTLDays : ${SW_STORAGE_BANYANDB_GM_HOUR_TTL_DAYS:15}
85
- gmDayShardNum : ${SW_STORAGE_BANYANDB_GM_DAY_SHARD_NUM:1}
86
- gmDaySIDays : ${SW_STORAGE_BANYANDB_GM_DAY_SI_DAYS:15}
87
- gmDayTTLDays : ${SW_STORAGE_BANYANDB_GM_DAY_TTL_DAYS:15}
88
- # If the metrics is marked as "index_mode", the metrics will be stored in the "index" group.
89
- # The "index" group is designed to store metrics that are used for indexing without value columns.
90
- # Such as `service_traffic`, `network_address_alias`, etc.
91
- # "index_mode" requires BanyanDB *0.8.0* or later.
92
- gmIndexShardNum : ${SW_STORAGE_BANYANDB_GM_INDEX_SHARD_NUM:2}
93
- gmIndexSIDays : ${SW_STORAGE_BANYANDB_GM_INDEX_SI_DAYS:15}
94
- gmIndexTTLDays : ${SW_STORAGE_BANYANDB_GM_INDEX_TTL_DAYS:15}
30
+ ` ` `
31
+
32
+ Since 10.2.0, the banyandb configuration is separated to an independent configuration file: ` bydb.yaml`:
33
+
34
+ ` ` ` yaml
35
+ global:
36
+ # Targets is the list of BanyanDB servers, separated by commas.
37
+ # Each target is a BanyanDB server in the format of ` host:port`.
38
+ # If BanyanDB is deployed as a standalone server, the target should be the IP address or domain name and port of the BanyanDB server.
39
+ # If BanyanDB is deployed in a cluster, the targets should be the IP address or domain name and port of the `liaison` nodes, separated by commas.
40
+ targets : ${SW_STORAGE_BANYANDB_TARGETS:127.0.0.1:17912}
41
+ # The maximum number of records in a bulk write request.
42
+ # A larger value can improve write performance but also increases OAP and BanyanDB Server memory usage.
43
+ maxBulkSize : ${SW_STORAGE_BANYANDB_MAX_BULK_SIZE:10000}
44
+ # The minimum seconds between two bulk flushes.
45
+ # If the data in a bulk is less than maxBulkSize, the data will be flushed after this period.
46
+ # If the data in a bulk exceeds maxBulkSize, the data will be flushed immediately.
47
+ # A larger value can reduce write pressure on BanyanDB Server but increase data latency.
48
+ flushInterval : ${SW_STORAGE_BANYANDB_FLUSH_INTERVAL:15}
49
+ # The timeout in seconds for a bulk flush.
50
+ flushTimeout : ${SW_STORAGE_BANYANDB_FLUSH_TIMEOUT:10}
51
+ # The number of threads that write data to BanyanDB concurrently.
52
+ # A higher value can improve write performance but also increases CPU usage on both OAP and BanyanDB Server.
53
+ concurrentWriteThreads : ${SW_STORAGE_BANYANDB_CONCURRENT_WRITE_THREADS:15}
54
+ # The maximum size of the dataset when the OAP loads cache, such as network aliases.
55
+ resultWindowMaxSize : ${SW_STORAGE_BANYANDB_QUERY_MAX_WINDOW_SIZE:10000}
56
+ # The maximum size of metadata per query.
57
+ metadataQueryMaxSize : ${SW_STORAGE_BANYANDB_QUERY_MAX_SIZE:10000}
58
+ # The maximum number of trace segments per query.
59
+ segmentQueryMaxSize : ${SW_STORAGE_BANYANDB_QUERY_SEGMENT_SIZE:200}
60
+ # The maximum number of profile task queries in a request.
61
+ profileTaskQueryMaxSize : ${SW_STORAGE_BANYANDB_QUERY_PROFILE_TASK_SIZE:200}
62
+ # The batch size for querying profile data.
63
+ profileDataQueryBatchSize : ${SW_STORAGE_BANYANDB_QUERY_PROFILE_DATA_BATCH_SIZE:100}
64
+ asyncProfilerTaskQueryMaxSize : ${SW_STORAGE_BANYANDB_ASYNC_PROFILER_TASK_QUERY_MAX_SIZE:200}
65
+ # If the BanyanDB server is configured with TLS, configure the TLS cert file path and enable TLS connection.
66
+ sslTrustCAPath : ${SW_STORAGE_BANYANDB_SSL_TRUST_CA_PATH:""}
67
+
68
+ groups :
69
+ # The group settings of record.
70
+ #
71
+ # The "normal" section defines settings for datasets not specified in "super".
72
+ # Each dataset will be grouped under a single group named "normal".
73
+ recordsNormal :
74
+ shardNum : ${SW_STORAGE_BANYANDB_GR_NORMAL_SHARD_NUM:1}
75
+ segmentInterval : ${SW_STORAGE_BANYANDB_GR_NORMAL_SI_DAYS:1}
76
+ ttl : ${SW_STORAGE_BANYANDB_GR_NORMAL_TTL_DAYS:3}
77
+ # "super" is a special dataset designed to store trace or log data that is too large for normal datasets.
78
+ # Each super dataset will be a separate group in BanyanDB, following the settings defined in the "super" section.
79
+ recordsSuper :
80
+ shardNum : ${SW_STORAGE_BANYANDB_GR_SUPER_SHARD_NUM:2}
81
+ segmentInterval : ${SW_STORAGE_BANYANDB_GR_SUPER_SI_DAYS:1}
82
+ ttl : ${SW_STORAGE_BANYANDB_GR_SUPER_TTL_DAYS:3}
83
+ # The group settings of metrics.
84
+ #
85
+ # OAP stores metrics based its granularity.
86
+ # Valid values are "day", "hour", and "minute". That means metrics will be stored in the three separate groups.
87
+ # Non-"minute" are governed by the "core.downsampling" setting.
88
+ # For example, if "core.downsampling" is set to "hour", the "hour" will be used, while "day" are ignored.
89
+ metricsMin :
90
+ shardNum : ${SW_STORAGE_BANYANDB_GM_MINUTE_SHARD_NUM:2}
91
+ segmentInterval : ${SW_STORAGE_BANYANDB_GM_MINUTE_SI_DAYS:1}
92
+ ttl : ${SW_STORAGE_BANYANDB_GM_MINUTE_TTL_DAYS:7}
93
+ metricsHour :
94
+ shardNum : ${SW_STORAGE_BANYANDB_GM_HOUR_SHARD_NUM:1}
95
+ segmentInterval : ${SW_STORAGE_BANYANDB_GM_HOUR_SI_DAYS:5}
96
+ ttl : ${SW_STORAGE_BANYANDB_GM_HOUR_TTL_DAYS:15}
97
+ metricsDay :
98
+ shardNum : ${SW_STORAGE_BANYANDB_GM_DAY_SHARD_NUM:1}
99
+ segmentInterval : ${SW_STORAGE_BANYANDB_GM_DAY_SI_DAYS:15}
100
+ ttl : ${SW_STORAGE_BANYANDB_GM_DAY_TTL_DAYS:15}
101
+ # If the metrics is marked as "index_mode", the metrics will be stored in the "index" group.
102
+ # The "index" group is designed to store metrics that are used for indexing without value columns.
103
+ # Such as `service_traffic`, `network_address_alias`, etc.
104
+ # "index_mode" requires BanyanDB *0.8.0* or later.
105
+ metadata :
106
+ shardNum : ${SW_STORAGE_BANYANDB_GM_INDEX_SHARD_NUM:2}
107
+ segmentInterval : ${SW_STORAGE_BANYANDB_GM_INDEX_SI_DAYS:15}
108
+ ttl : ${SW_STORAGE_BANYANDB_GM_INDEX_TTL_DAYS:15}
95
109
96
110
```
97
111
0 commit comments