From e6918187568dbd01842d8d1d2c808ce16a894239 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 21 Apr 2024 13:54:28 +0200 Subject: Adding upstream version 18.2.2. Signed-off-by: Daniel Baumann --- doc/jaegertracing/index.rst | 107 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 doc/jaegertracing/index.rst (limited to 'doc/jaegertracing/index.rst') diff --git a/doc/jaegertracing/index.rst b/doc/jaegertracing/index.rst new file mode 100644 index 000000000..a3afd4787 --- /dev/null +++ b/doc/jaegertracing/index.rst @@ -0,0 +1,107 @@ +JAEGER- DISTRIBUTED TRACING +=========================== + +Jaeger provides ready-to-use tracing services for distributed systems. + +BASIC ARCHITECTURE AND TERMINOLOGY +---------------------------------- + +* TRACE: A trace shows the data/execution path through a system. +* SPAN: A single unit of a trace. A data structure that stores information such + as the operation name, timestamps, and the ordering within a trace. +* JAEGER CLIENT: Language-specific implementations of the OpenTracing API. +* JAEGER AGENT: A daemon that listens for spans sent over User Datagram + Protocol. The agent is meant to be placed on the same host as the + instrumented application. (The Jaeger agent acts like a sidecar listener.) +* JAEGER COLLECTOR: A daemon that receives spans sent by the Jaeger agent. The + Jaeger collector then stitches the spans together to form a trace. (A databse + can be enabled to persist a database for these traces). +* JAEGER QUERY AND CONSOLE FRONTEND: The UI-based frontend that presents + reports of the jaeger traces. Accessible at http://:16686. + +Read more about jaeger tracing:. + + https://www.jaegertracing.io/docs/ + +JAEGER DEPLOYMENT +----------------- + +Jaeger can be deployed using cephadm, and Jaeger can be deployed manually. + +Refer to one of the following: + +`Cephadm Jaeger Services Deployment <../cephadm/services/tracing/>`_ + +`Jaeger Deployment `_ + +`Jaeger Performance Tuning `_ + + +Important Notes: +^^^^^^^^^^^^^^^^ + +- 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. + +- Ceph tracers are configured to send tracers to agents that listen to port + 6799. Use the option "--processor.jaeger-compact.server-host-port=6799" for + manual Jaeger deployments. + + +HOW TO ENABLE TRACING IN CEPH +----------------------------- + +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 jaeger_tracing_enable true + + +TRACES IN RGW +------------- + +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: ` `. + +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 +`. + + +rgw service in Jaeger Frontend: + +.. image:: ./rgw_jaeger.png + :width: 400 + + +osd service in Jaeger Frontend: + +.. image:: ./osd_jaeger.png + :width: 400 -- cgit v1.2.3