Apache SkyWalking — Operations¶
Deployment, configuration, scaling, and day-2 operations for Apache SkyWalking.
Deployment¶
Kubernetes (Helm) — with BanyanDB¶
SkyWalking uses OCI-based Helm charts:
# Login to Docker Hub OCI registry (required for OCI charts)
helm registry login registry-1.docker.io
# Install SkyWalking with BanyanDB
helm install skywalking \
oci://registry-1.docker.io/apache/skywalking-helm \
--version <VERSION> \
-n skywalking --create-namespace \
--set oap.storageType=banyandb \
--set banyandb.enabled=true
Docker Compose¶
Configuration¶
OAP Server Environment Variables¶
| Variable | Default | Description |
|---|---|---|
SW_STORAGE |
banyandb |
Storage backend (banyandb, elasticsearch, h2, mysql, postgresql) |
SW_STORAGE_BANYANDB_TARGETS |
banyandb:17912 |
BanyanDB gRPC endpoint |
SW_CORE_RECORD_DATA_TTL |
3 |
Trace/log retention (days) |
SW_CORE_METRICS_DATA_TTL |
7 |
Metrics retention (days) |
SW_VIRTUAL_THREADS_ENABLED |
true (JDK 25+) |
Enable virtual threads |
SW_RECEIVER_GRPC_PORT |
11800 |
gRPC receiver port |
SW_RECEIVER_HTTP_PORT |
12800 |
HTTP receiver port |
BanyanDB Configuration¶
| Variable | Default | Description |
|---|---|---|
BYDB_PORT |
17912 |
gRPC listening port |
BYDB_HTTP_PORT |
17913 |
HTTP/UI port |
BanyanDB Lifecycle Stages (Helm 0.5.0+)¶
banyandb:
lifecycle:
hot:
retention: 3d
warm:
retention: 14d
cold:
retention: 90d
storage:
type: s3
bucket: skywalking-cold
Scaling¶
OAP Cluster¶
OAP instances are stateless — scale horizontally:
BanyanDB Cluster¶
Monitoring¶
Health Checks¶
# OAP health
curl http://oap:12800/internal/l7check
# BanyanDB health
curl http://banyandb:17913/api/healthz
# Kubernetes pods
kubectl get pods -n skywalking
Key Metrics¶
| Metric | Description |
|---|---|
oap_server_instance_count |
Number of OAP instances |
banyandb_write_latency |
BanyanDB write performance |
banyandb_disk_usage |
Storage consumption |
Upgrades¶
helm upgrade skywalking \
oci://registry-1.docker.io/apache/skywalking-helm \
--version <NEW_VERSION> \
-n skywalking \
-f custom-values.yaml
v10.4.0 Migration Notes¶
- LAL breaking change:
slowSql {}andsampledTrace {}sub-DSLs removed — migrate tooutputTypemechanism - LALOutputBuilder.init() signature changed — custom implementations must update
- Default JDK: Docker base image now JDK 25; JDK 11 available as
-java11variant