Jaeger Exporter
The Jaeger Exporter creates the Prometheus metrics for the Service Performance Monitoring.
The exporter reuses the Jaeger Ingester logic to consume spans from a particular Kafka topic, but instead of writing them to a storage backend it creates the metrics calls_total
and latency
for the Service Performance Monitoring.
Installation
The Jaeger Exporter can be installed via Helm or Kustomize.
To install the exporter via Helm you can use the following commands:
helm repo add ricoberger https://ricoberger.github.io/helm-charts
helm repo update
helm install jaeger-exporter ricoberger/jaeger-exporter
To install the exporter via Kustomize you can use the following commands:
kubectl create namespace tracing
kustomize build github.com/ricoberger/jaeger-exporter/deploy/kustomize | kubectl apply -n tracing -f -
Configuration
The Jaeger Exporter can be configured via command line flags. The following flags are available:
--exporter.address string The address where the exporter is listen on. (default ":8080")
--exporter.deadlockInterval duration Interval to check for deadlocks. If no messages gets processed in given time, exporter app will exit. Value of 0 disables deadlock check.
--exporter.parallelism int The number of messages to process in parallel. (default 1000)
--exporter.services string A comma serperated list of services for which the metrics should be generated (e.g. "service1,service2,service3"). If empty, the metrics are generated for all services.
--kafka.consumer.brokers string The comma-separated list of kafka brokers. i.e. "127.0.0.1:9092,0.0.0:1234" (default "127.0.0.1:9092")
--kafka.consumer.client-id string The Consumer Client ID that exporter will use. (default "jaeger-exporter")
--kafka.consumer.encoding string The encoding of spans ("json", "protobuf", "zipkin-thrift") consumed from kafka. (default "protobuf")
--kafka.consumer.group-id string The Consumer Group that exporter will be consuming on behalf of. (default "jaeger-exporter")
--kafka.consumer.protocol-version string Kafka protocol version - must be supported by kafka server.
--kafka.consumer.rack-id string Rack identifier for this client. This can be any string value which indicates where this client is located. It corresponds with the broker config broker.rack.
--kafka.consumer.topic string The name of the kafka topic to consume from. (default "jaeger-spans")
--log.format string Set the output format of the logs. Must be "console" or "json". (default "console")
--log.level string Set the log level. Must be "debug", "info", "warn", "error", "fatal" or "panic". (default "info")
--version Print version information.