Skip to content

User Guide · SkyWalking Ingestion

DataBuff Ingest supports the SkyWalking native gRPC protocol (v3) directly. Java Agents or custom SDKs can submit traces, JVM metrics, and logs to DataBuff without going through a SkyWalking OAP or OpenTelemetry Collector.

Supported Signals

SignalProtocolIngest Port
Trace (Segment)SkyWalking gRPC TraceSegmentReportService11800
JVM MetricsSkyWalking gRPC JVMMetricReportService11800
LogsSkyWalking gRPC LogReportService11800

Prerequisites

DataBuff is deployed and Ingest is reachable:

Endpoints

Replace <ingest-host> with your Ingest hostname or IP.

ProtocolEndpointNotes
SkyWalking gRPC<ingest-host>:11800Java Agent backend_service / agent.backend_service

Default Docker install maps 11800:11800 (see deploy/docker/docker-compose.yml:81).
K8s default NodePort is 31180 (see deploy/k8s/manifests/ingest.yaml:27).

Java Agent Configuration

Minimal agent.config

properties
# Point to DataBuff Ingest; replace <ingest-host> with actual address
agent.backend_service=<ingest-host>:11800

# Application name
agent.service_name=my-service

Save the above as agent.config, then start the JVM:

bash
java -javaagent:/path/to/skywalking-agent.jar \
     -Dskywalking_config=/path/to/agent.config \
     -jar my-service.jar

Or override via system properties:

bash
java -javaagent:/path/to/skywalking-agent.jar \
     -Dskywalking.agent.service_name=my-service \
     -Dskywalking.collector.backend_service=<ingest-host>:11800 \
     -jar my-service.jar

Optional Configuration

properties
# Sampling (default: once per 3 seconds; -1 means full sample)
agent.sample_n_per_3_secs=-1

# Ignored trace suffixes (comma-separated)
# agent.ignore_suffix=.do,.action

# Max operation name length
agent.operation_name_threshold=150

# Max correlation header size
agent.correlation_header_max_size=2048

Migration Differences from SkyWalking OAP

Protocol Compatibility

DataBuff Ingest implements three core SkyWalking v3 gRPC services, compatible with the official OAP:

  • TraceSegmentReportService — accepts SegmentObject (collect / collectInSync)
  • JVMMetricReportService — accepts JVMMetricCollection
  • LogReportService — accepts LogData
  • ManagementService — registered (NOOP), agent heartbeat is ignored

Source: ai-apm-ingest/src/main/java/com/databuff/apm/ingest/receiver/SkyWalkingGrpcServer.java:46

data.source Field

DataBuff's data.source field identifies the protocol that produced the data:

Sourcedata.source ValueNotes
SkyWalking nativeSkyWalkingVia ingest.skywalking.grpc-port:11800
OTLPOtelVia ingest.otlp.grpc-port:4317 or HTTP 4318

Constants defined in ai-apm-ingest/src/main/java/com/databuff/apm/ingest/trace/remote/TraceDataSources.java:18.

Feature Comparison

FeatureSkyWalking OAPDataBuff Ingest
Trace storageH2 / ES / BanyanDBApache Doris
Metric aggregationOAP internal streamingIngest pipeline → Doris
AlertingOAP Alarm + WebhookDataBuff Web alert engine
UISkyWalking RocketbotDataBuff Web
gRPC port11800 (default)11800 (configurable via ingest.skywalking.grpc-port)
Config fileapplication.ymlai-apm-ingest/src/main/resources/application.yml:36-38

The following OAP components are not needed:

  • OAP server
  • H2 / Elasticsearch / BanyanDB
  • SkyWalking UI (Rocketbot)

Coexistence with OTLP

DataBuff supports SkyWalking native protocol and OTLP simultaneously, without interference.

ProtocolPortToggle
SkyWalking gRPC11800ingest.skywalking.enabled=true (enabled by default)
OTLP gRPC4317Always on
OTLP HTTP4318Always on

Services within the same environment can mix protocols freely. Cross-protocol trace correlation requires manual agreement on TraceId propagation format (SW8 vs W3C traceparent).

Demo App Verification

The DataBuff Demo app supports the SkyWalking protocol. Set environment variables to switch:

bash
export SEED_PROTOCOL=skywalking
export SKYWALKING_GRPC_TARGET=<ingest-host>:11800

Source: ai-apm-demo/src/main/java/com/databuff/apm/demo/DemoOrderSeeder.java:25
Local deployment reference: deploy/local/docker-compose.yml:182-183

Configuration Reference

SkyWalking-related settings in application.yml:

yaml
ingest:
  skywalking:
    enabled: true           # Enable SkyWalking gRPC receiver
    grpc-port: 11800        # SkyWalking gRPC listening port

Verification

  1. Confirm the Ingest port is reachable:
bash
telnet <ingest-host> 11800
  1. Start an application configured with the SkyWalking Agent.
  2. Open the DataBuff Web UI and verify the service appears in Application Performance.
  3. Check that the Trace detail shows data.source as SkyWalking.