summaryrefslogtreecommitdiffstats
path: root/doc/jaegertracing/index.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/jaegertracing/index.rst')
-rw-r--r--doc/jaegertracing/index.rst131
1 files changed, 131 insertions, 0 deletions
diff --git a/doc/jaegertracing/index.rst b/doc/jaegertracing/index.rst
new file mode 100644
index 000000000..725b3f986
--- /dev/null
+++ b/doc/jaegertracing/index.rst
@@ -0,0 +1,131 @@
+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://<jaeger frontend host>:16686.
+
+Read more about jaeger tracing:.
+
+ https://www.jaegertracing.io/docs/
+
+JAEGER DEPLOYMENT
+-----------------
+
+Jaeger can be deployed using cephadm, or manually.
+
+CEPHADM BASED DEPLOYMENT AS A SERVICE
+-------------------------------------
+
+`Cephadm Jaeger Services Deployment <../cephadm/services/tracing/>`_
+
+
+MANUAL TEST DEPLOYMENT FOR JAEGER OPENTELEMETRY ALL IN ONE CONTAINER
+--------------------------------------------------------------------
+
+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.
+
+
+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 <entity> 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: `<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