Apache SkyWalking — Commands & Recipes¶
Runnable commands, configuration snippets, and troubleshooting recipes for Apache SkyWalking.
Installation¶
Helm 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
Helm with Elasticsearch¶
helm install skywalking \
oci://registry-1.docker.io/apache/skywalking-helm \
--version <VERSION> \
-n skywalking --create-namespace \
--set oap.storageType=elasticsearch \
--set oap.env.SW_STORAGE_ES_CLUSTER_NODES="es-master:9200"
BanyanDB CLI (bydbctl)¶
# List all groups
bydbctl group list
# Query a measure
bydbctl measure query --group sw_metric --name service_cpm
# List streams in a group
bydbctl stream list --group sw_record
# Create an index rule
bydbctl indexrule create -f my-index-rule.yaml
# Delete old data from a group
bydbctl group update --name sw_metric --ttl 7d
BanyanDB Embedded UI¶
# Access BanyanDB UI (port 17913)
kubectl port-forward -n skywalking svc/banyandb 17913:17913
# Open http://localhost:17913
OAP Server¶
Health & Status¶
# OAP L7 health check
curl http://oap:12800/internal/l7check
# GraphQL query — list services
curl -X POST http://oap:12800/graphql \
-H "Content-Type: application/json" \
-d '{"query": "{ listServices(duration: {start: \"2026-04-11\", end: \"2026-04-11\", step: DAY}) { key: id label: name } }"}'
Environment Variable Overrides¶
# Common OAP overrides in Helm values
oap:
env:
SW_STORAGE: banyandb
SW_STORAGE_BANYANDB_TARGETS: "banyandb:17912"
SW_CORE_RECORD_DATA_TTL: "7"
SW_CORE_METRICS_DATA_TTL: "30"
SW_VIRTUAL_THREADS_ENABLED: "true"
SW_RECEIVER_GRPC_PORT: "11800"
Java Agent¶
# Attach Java agent
java -javaagent:/path/to/skywalking-agent.jar \
-Dskywalking.agent.service_name=my-service \
-Dskywalking.collector.backend_service=oap:11800 \
-jar my-application.jar
Troubleshooting¶
OAP Not Receiving Data¶
# Check receiver ports
kubectl get svc -n skywalking | grep oap
# Check OAP logs for receiver errors
kubectl logs -n skywalking -l app=oap --tail=100 | grep -i "error\|receiver"
# Verify agent connectivity from app pod
kubectl exec -it <app-pod> -- nc -zv oap 11800
BanyanDB Disk Full¶
# Check disk usage
kubectl exec -n skywalking $(kubectl get pod -n skywalking -l app=banyandb -o name | head -1) -- \
df -h /data
# Reduce retention
kubectl set env deployment/oap -n skywalking \
SW_CORE_RECORD_DATA_TTL=3 \
SW_CORE_METRICS_DATA_TTL=7
Upgrade¶
helm upgrade skywalking \
oci://registry-1.docker.io/apache/skywalking-helm \
--version <NEW_VERSION> \
-n skywalking -f values.yaml
# Verify
kubectl get pods -n skywalking