Configuration | Description | Default |
---|---|---|
KAFKA_BOOTSTRAP_SERVERS |
Kafka bootstrap servers | localhost:9092 |
KAFKA_SPANS_TOPIC |
Topic where incoming list of spans are stored. | zipkin-spans |
KAFKA_TRACE_TOPIC |
Topic where aggregated traces are stored. | zipkin-trace |
KAFKA_DEPENDENCY_TOPIC |
Topic where aggregated service dependencies names are stored. | zipkin-dependency |
These topics can be configured by individual components (span-consumer, aggregation, storage) by using Java options. For more information about property names, check zipkin-server-storage-kafka.yml
Configuration | Description | Default |
---|---|---|
KAFKA_STORAGE_HOSTNAME |
Host name used by storage instances to scatter-gather results | localhost |
KAFKA_STORAGE_DIR |
Root path where Zipkin stores tracing data | /tmp/zipkin-storage-kafka |
KAFKA_STORAGE_PARTITIONING_ENABLED |
Flag to enable Span partitioning. | true |
KAFKA_STORAGE_AGGREGATION_ENABLED |
Flag to enable Span aggregation. | true |
KAFKA_STORAGE_AGGREGATION_TRACE_TIMEOUT |
How long to wait until a trace window is closed (ms). If this config is to small, dependency links won't be caught and metrics may drift. | 600000 (1 minute) |
KAFKA_STORAGE_TRACE_ENABLED |
Flag to enable Trace storage. | true |
KAFKA_STORAGE_TRACE_TTL |
How long to keep traces stored. | 259200000 (3 days) |
KAFKA_STORAGE_TRACE_TTL_CHECK_INTERVAL |
How often check traces stored TTL. | 3600000 (1 hour) |
KAFKA_STORAGE_DEPENDENCY_ENABLED |
Flag to enable Dependency storage. | true |
KAFKA_STORAGE_DEPENDENCY_TTL |
How long to keep dependencies stored. | 604800000 (1 week) |
When running on Kubernetes/Openshift is recommended to use statefulsets
in order to maintain
storage state directories.
For instances to access other pods on the stateful set, we have to use valid DNS-names:
env:
- name: STORAGE_TYPE
value: kafka
# Gather hostname (name-${POD_ID}) from metadata
- name: HOSTNAME
valueFrom:
fieldRef:
fieldPath: metadata.name
# Mapping hostname to Kubernetes DNS defined service name (${NAME}-${POD_ID}.${SVC}.${NAMESPACE}.svc.cluster.local),
# then instance storage becomes accessible between them
- name: KAFKA_STORAGE_HOSTNAME
value: $(HOSTNAME).zipkin.default.svc.cluster.local