doc/jaegertracing/index.rst
.. _jaegertracing:
Jaeger provides ready-to-use tracing services for distributed systems.
Read more about jaeger tracing:.
https://www.jaegertracing.io/docs/
Jaeger can be deployed using cephadm, or manually.
Cephadm Jaeger Services Deployment <../cephadm/services/tracing/>_
For single node testing Jaeger opentelemetry can be deployed using:
.. prompt:: bash $
docker run -d --name jaeger
-e COLLECTOR_ZIPKIN_HOST_PORT=:9411
-e COLLECTOR_OTLP_ENABLED=true
-p 6799:6799/udp
-p 6832:6832/udp
-p 5778:5778
-p 16686:16686
-p 4317:4317
-p 4318:4318
-p 14250:14250
-p 14268:14268
-p 14269:14269
-p 9411:9411
jaegertracing/all-in-one:latest --processor.jaeger-compact.server-host-port=6799
Jaeger Deployment <https://www.jaegertracing.io/docs/1.25/deployment/>_
Jaeger Performance Tuning <https://www.jaegertracing.io/docs/1.25/performance-tuning/>_
.. note::
The Jaeger agent must be running on each host (and not running in all-in-one mode). This is because spans are sent to the local Jaeger agent. Spans of hosts that do not have active Jaeger agents will be lost.
The default configured port for Jaeger agent differs from the official default 6831, since Ceph tracers are configured to send tracers to agents that listen to port the configured 6799. Use the option "--processor.jaeger-compact.server-host-port=6799" for manual Jaeger deployments.
.. _jaegertracing-enable:
Tracing in Ceph is disabled by default.
Tracing can be enabled globally, and tracing can also be enabled separately for each entity (for example, for rgw).
Enable tracing globally:
.. prompt:: bash $
ceph config set global jaeger_tracing_enable true
Enable tracing for each entity:
.. prompt:: bash $
ceph config set <entity> jaeger_tracing_enable true
Traces run on RGW can be found under the Service rgw in the Jaeger Frontend.
REQUESTS
^^^^^^^^
Every user request is traced. Each trace contains tags for Operation name,
User id, Object name and Bucket name.
There is also an Upload id tag for Multipart upload operations.
The names of request traces have the following format: <command> <transaction id>.
MULTIPART UPLOAD
^^^^^^^^^^^^^^^^
There is a kind of trace that consists of a span for each request made by a
multipart upload, and it includes all Put Object requests.
The names of multipart traces have the following format: multipart_upload <upload id>.
rgw service in Jaeger Frontend:
.. image:: ./rgw_jaeger.png :width: 400
osd service in Jaeger Frontend:
.. image:: ./osd_jaeger.png :width: 400