Skip to content

Commit dcfce00

Browse files
authored
BanyanDB: support group replicas and user/password for basic authentication. (#13420)
1 parent 45027ae commit dcfce00

File tree

11 files changed

+147
-13
lines changed

11 files changed

+147
-13
lines changed

docs/en/changes/changes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
| MetricsPersistentMinMALWorker | availableProcessors * 2 / 16, at least 1 | true | 1 | 1000 |
6262

6363
* Bump up netty to 4.2.4.Final.
64+
* BanyanDB: support group `replicas` and `user/password` for basic authentication.
6465

6566
#### UI
6667

docs/en/setup/backend/configuration-vocabulary.md

Lines changed: 27 additions & 1 deletion
Large diffs are not rendered by default.

docs/en/setup/backend/storages/banyandb.md

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,19 +62,22 @@ global:
6262
# The batch size for querying profile data.
6363
profileDataQueryBatchSize: ${SW_STORAGE_BANYANDB_QUERY_PROFILE_DATA_BATCH_SIZE:100}
6464
asyncProfilerTaskQueryMaxSize: ${SW_STORAGE_BANYANDB_ASYNC_PROFILER_TASK_QUERY_MAX_SIZE:200}
65+
user: ${SW_STORAGE_BANYANDB_USER:""}
66+
password: ${SW_STORAGE_BANYANDB_PASSWORD:""}
6567
# If the BanyanDB server is configured with TLS, configure the TLS cert file path and enable TLS connection.
6668
sslTrustCAPath: ${SW_STORAGE_BANYANDB_SSL_TRUST_CA_PATH:""}
6769
# Cleanup TopN rules in BanyanDB server that are not configured in the bydb-topn.yml config.
6870
cleanupUnusedTopNRules: ${SW_STORAGE_BANYANDB_CLEANUP_UNUSED_TOPN_RULES:true}
69-
71+
7072
groups:
7173
# The group settings of record.
72-
# - "ShardNum": Number of shards in the group. Shards are the basic units of data storage in BanyanDB. Data is distributed across shards based on the hash value of the series ID.
74+
# - "shardNum": Number of shards in the group. Shards are the basic units of data storage in BanyanDB. Data is distributed across shards based on the hash value of the series ID.
7375
# Refer to the [BanyanDB Shard](https://skywalking.apache.org/docs/skywalking-banyandb/latest/concept/clustering/#52-data-sharding) documentation for more details.
74-
# - "SIDays": Interval in days for creating a new segment. Segments are time-based, allowing efficient data retention and querying. `SI` stands for Segment Interval.
75-
# - "TTLDays": Time-to-live for the data in the group, in days. Data exceeding the TTL will be deleted.
76+
# - "segmentInterval": Interval in days for creating a new segment. Segments are time-based, allowing efficient data retention and querying. `SI` stands for Segment Interval.
77+
# - "ttl": Time-to-live for the data in the group, in days. Data exceeding the TTL will be deleted.
78+
# - "replicas": Number of replicas for the group/stage. Replicas are used for data redundancy and high availability, a value of 0 means no replicas, while a value of 1 means one primary shard and one replica, higher values indicate more replicas.
7679
#
77-
# For more details on setting `segmentIntervalDays` and `ttlDays`, refer to the [BanyanDB TTL](https://skywalking.apache.org/docs/main/latest/en/banyandb/ttl) documentation.
80+
# For more details on setting `segmentInterval` and `ttl`, refer to the [BanyanDB TTL](https://skywalking.apache.org/docs/main/latest/en/banyandb/ttl) documentation.
7881

7982
# The "records" section defines settings for normal datasets not specified in records.
8083
# Each dataset will be grouped under a single group named "records".
@@ -83,6 +86,7 @@ groups:
8386
shardNum: ${SW_STORAGE_BANYANDB_RECORDS_SHARD_NUM:1}
8487
segmentInterval: ${SW_STORAGE_BANYANDB_RECORDS_SI_DAYS:1}
8588
ttl: ${SW_STORAGE_BANYANDB_RECORDS_TTL_DAYS:3}
89+
replicas: ${SW_STORAGE_BANYANDB_RECORDS_REPLICAS:0}
8690
# If the "warm" stage is enabled, the data will be moved to the "warm" stage after the TTL of the "hot" stage.
8791
# If the "cold" stage is enabled and "warm" stage is disabled, the data will be moved to the "cold" stage after the TTL of the "hot" stage.
8892
# If both "warm" and "cold" stages are enabled, the data will be moved to the "warm" stage after the TTL of the "hot" stage, and then to the "cold" stage after the TTL of the "warm" stage.
@@ -94,78 +98,92 @@ groups:
9498
shardNum: ${SW_STORAGE_BANYANDB_RECORDS_WARM_SHARD_NUM:1}
9599
segmentInterval: ${SW_STORAGE_BANYANDB_RECORDS_WARM_SI_DAYS:2}
96100
ttl: ${SW_STORAGE_BANYANDB_RECORDS_WARM_TTL_DAYS:7}
101+
replicas: ${SW_STORAGE_BANYANDB_RECORDS_WARM_REPLICAS:0}
97102
nodeSelector: ${SW_STORAGE_BANYANDB_RECORDS_WARM_NODE_SELECTOR:"type=warm"}
98103
# The settings for the "cold" stage.
99104
cold:
100105
shardNum: ${SW_STORAGE_BANYANDB_RECORDS_COLD_SHARD_NUM:1}
101106
segmentInterval: ${SW_STORAGE_BANYANDB_RECORDS_COLD_SI_DAYS:3}
102107
ttl: ${SW_STORAGE_BANYANDB_RECORDS_COLD_TTL_DAYS:30}
108+
replicas: ${SW_STORAGE_BANYANDB_RECORDS_COLD_REPLICAS:0}
103109
nodeSelector: ${SW_STORAGE_BANYANDB_RECORDS_COLD_NODE_SELECTOR:"type=cold"}
104110
# The group settings of super datasets.
105111
# Super datasets are used to store trace or log data that is too large for normal datasets.
106112
recordsTrace:
107113
shardNum: ${SW_STORAGE_BANYANDB_TRACE_SHARD_NUM:2}
108114
segmentInterval: ${SW_STORAGE_BANYANDB_TRACE_SI_DAYS:1}
109115
ttl: ${SW_STORAGE_BANYANDB_TRACE_TTL_DAYS:3}
116+
replicas: ${SW_STORAGE_BANYANDB_TRACE_REPLICAS:0}
110117
enableWarmStage: ${SW_STORAGE_BANYANDB_TRACE_ENABLE_WARM_STAGE:false}
111118
enableColdStage: ${SW_STORAGE_BANYANDB_TRACE_ENABLE_COLD_STAGE:false}
112119
warm:
113120
shardNum: ${SW_STORAGE_BANYANDB_TRACE_WARM_SHARD_NUM:2}
114121
segmentInterval: ${SW_STORAGE_BANYANDB_TRACE_WARM_SI_DAYS:1}
115122
ttl: ${SW_STORAGE_BANYANDB_TRACE_WARM_TTL_DAYS:7}
123+
replicas: ${SW_STORAGE_BANYANDB_TRACE_WARM_REPLICAS:0}
116124
nodeSelector: ${SW_STORAGE_BANYANDB_TRACE_WARM_NODE_SELECTOR:"type=warm"}
117125
cold:
118126
shardNum: ${SW_STORAGE_BANYANDB_TRACE_COLD_SHARD_NUM:2}
119127
segmentInterval: ${SW_STORAGE_BANYANDB_TRACE_COLD_SI_DAYS:1}
120128
ttl: ${SW_STORAGE_BANYANDB_TRACE_COLD_TTL_DAYS:30}
129+
replicas: ${SW_STORAGE_BANYANDB_TRACE_COLD_REPLICAS:0}
121130
nodeSelector: ${SW_STORAGE_BANYANDB_TRACE_COLD_NODE_SELECTOR:"type=cold"}
122131
recordsZipkinTrace:
123132
shardNum: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_SHARD_NUM:2}
124133
segmentInterval: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_SI_DAYS:1}
125134
ttl: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_TTL_DAYS:3}
135+
replicas: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_REPLICAS:0}
126136
enableWarmStage: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_ENABLE_WARM_STAGE:false}
127137
enableColdStage: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_ENABLE_COLD_STAGE:false}
128138
warm:
129139
shardNum: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_WARM_SHARD_NUM:2}
130140
segmentInterval: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_WARM_SI_DAYS:1}
131141
ttl: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_WARM_TTL_DAYS:7}
142+
replicas: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_WARM_REPLICAS:0}
132143
nodeSelector: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_WARM_NODE_SELECTOR:"type=warm"}
133144
cold:
134145
shardNum: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_COLD_SHARD_NUM:2}
135146
segmentInterval: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_COLD_SI_DAYS:1}
136147
ttl: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_COLD_TTL_DAYS:30}
148+
replicas: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_COLD_REPLICAS:0}
137149
nodeSelector: ${SW_STORAGE_BANYANDB_ZIPKIN_TRACE_COLD_NODE_SELECTOR:"type=cold"}
138150
recordsLog:
139151
shardNum: ${SW_STORAGE_BANYANDB_LOG_SHARD_NUM:2}
140152
segmentInterval: ${SW_STORAGE_BANYANDB_LOG_SI_DAYS:1}
141153
ttl: ${SW_STORAGE_BANYANDB_LOG_TTL_DAYS:3}
154+
replicas: ${SW_STORAGE_BANYANDB_LOG_REPLICAS:0}
142155
enableWarmStage: ${SW_STORAGE_BANYANDB_LOG_ENABLE_WARM_STAGE:false}
143156
enableColdStage: ${SW_STORAGE_BANYANDB_LOG_ENABLE_COLD_STAGE:false}
144157
warm:
145158
shardNum: ${SW_STORAGE_BANYANDB_LOG_WARM_SHARD_NUM:2}
146159
segmentInterval: ${SW_STORAGE_BANYANDB_LOG_WARM_SI_DAYS:1}
147160
ttl: ${SW_STORAGE_BANYANDB_LOG_WARM_TTL_DAYS:7}
161+
replicas: ${SW_STORAGE_BANYANDB_LOG_WARM_REPLICAS:0}
148162
nodeSelector: ${SW_STORAGE_BANYANDB_LOG_WARM_NODE_SELECTOR:"type=warm"}
149163
cold:
150164
shardNum: ${SW_STORAGE_BANYANDB_LOG_COLD_SHARD_NUM:2}
151165
segmentInterval: ${SW_STORAGE_BANYANDB_LOG_COLD_SI_DAYS:1}
152166
ttl: ${SW_STORAGE_BANYANDB_LOG_COLD_TTL_DAYS:30}
167+
replicas: ${SW_STORAGE_BANYANDB_LOG_COLD_REPLICAS:0}
153168
nodeSelector: ${SW_STORAGE_BANYANDB_LOG_COLD_NODE_SELECTOR:"type=cold"}
154169
recordsBrowserErrorLog:
155170
shardNum: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_SHARD_NUM:2}
156171
segmentInterval: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_SI_DAYS:1}
157172
ttl: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_TTL_DAYS:3}
173+
replicas: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_REPLICAS:0}
158174
enableWarmStage: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_ENABLE_WARM_STAGE:false}
159175
enableColdStage: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_ENABLE_COLD_STAGE:false}
160176
warm:
161177
shardNum: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_WARM_SHARD_NUM:2}
162178
segmentInterval: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_WARM_SI_DAYS:1}
163179
ttl: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_WARM_TTL_DAYS:7}
180+
replicas: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_WARM_REPLICAS:0}
164181
nodeSelector: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_WARM_NODE_SELECTOR:"type=warm"}
165182
cold:
166183
shardNum: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_COLD_SHARD_NUM:2}
167184
segmentInterval: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_COLD_SI_DAYS:1}
168185
ttl: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_COLD_TTL_DAYS:30}
186+
replicas: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_COLD_REPLICAS:0}
169187
nodeSelector: ${SW_STORAGE_BANYANDB_BROWSER_ERROR_LOG_COLD_NODE_SELECTOR:"type=cold"}
170188
# The group settings of metrics.
171189
#
@@ -177,49 +195,58 @@ groups:
177195
shardNum: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_SHARD_NUM:2}
178196
segmentInterval: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_SI_DAYS:1}
179197
ttl: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_TTL_DAYS:7}
198+
replicas: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_REPLICAS:0}
180199
enableWarmStage: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_ENABLE_WARM_STAGE:false}
181200
enableColdStage: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_ENABLE_COLD_STAGE:false}
182201
warm:
183202
shardNum: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_WARM_SHARD_NUM:2}
184203
segmentInterval: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_WARM_SI_DAYS:3}
185204
ttl: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_WARM_TTL_DAYS:15}
205+
replicas: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_WARM_REPLICAS:0}
186206
nodeSelector: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_WARM_NODE_SELECTOR:"type=warm"}
187207
cold:
188208
shardNum: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_COLD_SHARD_NUM:2}
189209
segmentInterval: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_COLD_SI_DAYS:5}
190210
ttl: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_COLD_TTL_DAYS:60}
211+
replicas: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_COLD_REPLICAS:0}
191212
nodeSelector: ${SW_STORAGE_BANYANDB_METRICS_MINUTE_COLD_NODE_SELECTOR:"type=cold"}
192213
metricsHour:
193214
shardNum: ${SW_STORAGE_BANYANDB_METRICS_HOUR_SHARD_NUM:1}
194215
segmentInterval: ${SW_STORAGE_BANYANDB_METRICS_HOUR_SI_DAYS:5}
195216
ttl: ${SW_STORAGE_BANYANDB_METRICS_HOUR_TTL_DAYS:15}
217+
replicas: ${SW_STORAGE_BANYANDB_METRICS_HOUR_REPLICAS:0}
196218
enableWarmStage: ${SW_STORAGE_BANYANDB_METRICS_HOUR_ENABLE_WARM_STAGE:false}
197219
enableColdStage: ${SW_STORAGE_BANYANDB_METRICS_HOUR_ENABLE_COLD_STAGE:false}
198220
warm:
199221
shardNum: ${SW_STORAGE_BANYANDB_METRICS_HOUR_WARM_SHARD_NUM:1}
200222
segmentInterval: ${SW_STORAGE_BANYANDB_METRICS_HOUR_WARM_SI_DAYS:7}
201223
ttl: ${SW_STORAGE_BANYANDB_METRICS_HOUR_WARM_TTL_DAYS:30}
224+
replicas: ${SW_STORAGE_BANYANDB_METRICS_HOUR_WARM_REPLICAS:0}
202225
nodeSelector: ${SW_STORAGE_BANYANDB_METRICS_HOUR_WARM_NODE_SELECTOR:"type=warm"}
203226
cold:
204227
shardNum: ${SW_STORAGE_BANYANDB_METRICS_HOUR_COLD_SHARD_NUM:1}
205228
segmentInterval: ${SW_STORAGE_BANYANDB_METRICS_HOUR_COLD_SI_DAYS:15}
206229
ttl: ${SW_STORAGE_BANYANDB_METRICS_HOUR_COLD_TTL_DAYS:120}
230+
replicas: ${SW_STORAGE_BANYANDB_METRICS_HOUR_COLD_REPLICAS:0}
207231
nodeSelector: ${SW_STORAGE_BANYANDB_METRICS_HOUR_COLD_NODE_SELECTOR:"type=cold"}
208232
metricsDay:
209233
shardNum: ${SW_STORAGE_BANYANDB_METRICS_DAY_SHARD_NUM:1}
210234
segmentInterval: ${SW_STORAGE_BANYANDB_METRICS_DAY_SI_DAYS:15}
211235
ttl: ${SW_STORAGE_BANYANDB_METRICS_DAY_TTL_DAYS:15}
236+
replicas: ${SW_STORAGE_BANYANDB_METRICS_DAY_REPLICAS:0}
212237
enableWarmStage: ${SW_STORAGE_BANYANDB_METRICS_DAY_ENABLE_WARM_STAGE:false}
213238
enableColdStage: ${SW_STORAGE_BANYANDB_METRICS_DAY_ENABLE_COLD_STAGE:false}
214239
warm:
215240
shardNum: ${SW_STORAGE_BANYANDB_METRICS_DAY_WARM_SHARD_NUM:1}
216241
segmentInterval: ${SW_STORAGE_BANYANDB_METRICS_DAY_WARM_SI_DAYS:15}
217242
ttl: ${SW_STORAGE_BANYANDB_METRICS_DAY_WARM_TTL_DAYS:30}
243+
replicas: ${SW_STORAGE_BANYANDB_METRICS_DAY_WARM_REPLICAS:0}
218244
nodeSelector: ${SW_STORAGE_BANYANDB_METRICS_DAY_WARM_NODE_SELECTOR:"type=warm"}
219245
cold:
220246
shardNum: ${SW_STORAGE_BANYANDB_METRICS_DAY_COLD_SHARD_NUM:1}
221247
segmentInterval: ${SW_STORAGE_BANYANDB_METRICS_DAY_COLD_SI_DAYS:15}
222248
ttl: ${SW_STORAGE_BANYANDB_METRICS_DAY_COLD_TTL_DAYS:120}
249+
replicas: ${SW_STORAGE_BANYANDB_METRICS_DAY_COLD_REPLICAS:0}
223250
nodeSelector: ${SW_STORAGE_BANYANDB_METRICS_DAY_COLD_NODE_SELECTOR:"type=cold"}
224251
# If the metrics is marked as "index_mode", the metrics will be stored in the "metadata" group.
225252
# The "metadata" group is designed to store metrics that are used for indexing without value columns.
@@ -229,10 +256,12 @@ groups:
229256
shardNum: ${SW_STORAGE_BANYANDB_METADATA_SHARD_NUM:2}
230257
segmentInterval: ${SW_STORAGE_BANYANDB_METADATA_SI_DAYS:15}
231258
ttl: ${SW_STORAGE_BANYANDB_METADATA_TTL_DAYS:15}
259+
replicas: ${SW_STORAGE_BANYANDB_METADATA_REPLICAS:0}
232260

233261
# The group settings of property, such as UI and profiling.
234262
property:
235263
shardNum: ${SW_STORAGE_BANYANDB_PROPERTY_SHARD_NUM:1}
264+
replicas: ${SW_STORAGE_BANYANDB_PROPERTY_REPLICAS:0}
236265

237266
```
238267
### TopN Rules Configuration

oap-server-bom/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
<httpcore.version>4.4.16</httpcore.version>
7373
<httpasyncclient.version>4.1.5</httpasyncclient.version>
7474
<commons-compress.version>1.21</commons-compress.version>
75-
<banyandb-java-client.version>0.9.0-rc3</banyandb-java-client.version>
75+
<banyandb-java-client.version>0.9.0-rc4</banyandb-java-client.version>
7676
<kafka-clients.version>3.4.0</kafka-clients.version>
7777
<spring-kafka-test.version>2.4.6.RELEASE</spring-kafka-test.version>
7878
<consul.client.version>1.5.3</consul.client.version>

0 commit comments

Comments
 (0)