]> git.proxmox.com Git - ceph.git/blame - ceph/doc/jaegertracing/index.rst
update ceph source to reef 18.1.2
[ceph.git] / ceph / doc / jaegertracing / index.rst
CommitLineData
20effc67
TL
1JAEGER- DISTRIBUTED TRACING
2===========================
3
1e59de90 4Jaeger provides ready-to-use tracing services for distributed systems.
20effc67
TL
5
6BASIC ARCHITECTURE AND TERMINOLOGY
7----------------------------------
8
9* TRACE: A trace shows the data/execution path through a system.
1e59de90
TL
10* SPAN: A single unit of a trace. A data structure that stores information such
11 as the operation name, timestamps, and the ordering within a trace.
12* JAEGER CLIENT: Language-specific implementations of the OpenTracing API.
13* JAEGER AGENT: A daemon that listens for spans sent over User Datagram
14 Protocol. The agent is meant to be placed on the same host as the
15 instrumented application. (The Jaeger agent acts like a sidecar listener.)
16* JAEGER COLLECTOR: A daemon that receives spans sent by the Jaeger agent. The
17 Jaeger collector then stitches the spans together to form a trace. (A databse
18 can be enabled to persist a database for these traces).
19* JAEGER QUERY AND CONSOLE FRONTEND: The UI-based frontend that presents
20 reports of the jaeger traces. Accessible at http://<jaeger frontend host>:16686.
21
22Read more about jaeger tracing:.
20effc67
TL
23
24 https://www.jaegertracing.io/docs/
25
20effc67
TL
26JAEGER DEPLOYMENT
27-----------------
28
1e59de90 29Jaeger can be deployed using cephadm, and Jaeger can be deployed manually.
20effc67 30
1e59de90 31Refer to one of the following:
20effc67 32
1e59de90 33`Cephadm Jaeger Services Deployment <../cephadm/services/tracing/>`_
20effc67 34
1e59de90
TL
35`Jaeger Deployment <https://www.jaegertracing.io/docs/1.25/deployment/>`_
36
37`Jaeger Performance Tuning <https://www.jaegertracing.io/docs/1.25/performance-tuning/>`_
38
39
40Important Notes:
41^^^^^^^^^^^^^^^^
42
43- The Jaeger agent must be running on each host (and not running in all-in-one
44 mode). This is because spans are sent to the local Jaeger agent. Spans of
45 hosts that do not have active Jaeger agents will be lost.
46
47- Ceph tracers are configured to send tracers to agents that listen to port
48 6799. Use the option "--processor.jaeger-compact.server-host-port=6799" for
49 manual Jaeger deployments.
20effc67 50
20effc67
TL
51
52HOW TO ENABLE TRACING IN CEPH
53-----------------------------
54
1e59de90
TL
55Tracing in Ceph is disabled by default.
56
57Tracing can be enabled globally, and tracing can also be enabled separately for
58each entity (for example, for rgw).
59
60Enable tracing globally:
61
62.. prompt:: bash $
20effc67 63
1e59de90 64 ceph config set global jaeger_tracing_enable true
20effc67 65
20effc67 66
1e59de90 67Enable tracing for each entity:
20effc67 68
1e59de90 69.. prompt:: bash $
20effc67 70
1e59de90 71 ceph config set <entity> jaeger_tracing_enable true
20effc67
TL
72
73
74TRACES IN RGW
75-------------
76
1e59de90 77Traces run on RGW can be found under the Service `rgw` in the Jaeger Frontend.
20effc67
TL
78
79REQUESTS
80^^^^^^^^
1e59de90
TL
81Every user request is traced. Each trace contains tags for `Operation name`,
82`User id`, `Object name` and `Bucket name`.
20effc67 83
1e59de90 84There is also an `Upload id` tag for Multipart upload operations.
20effc67 85
1e59de90
TL
86The names of request traces have the following format: `<command> <transaction
87id>`.
20effc67
TL
88
89MULTIPART UPLOAD
90^^^^^^^^^^^^^^^^
1e59de90
TL
91There is a kind of trace that consists of a span for each request made by a
92multipart upload, and it includes all `Put Object` requests.
20effc67 93
1e59de90
TL
94The names of multipart traces have the following format: `multipart_upload
95<upload id>`.
20effc67
TL
96
97
98rgw service in Jaeger Frontend:
99
100.. image:: ./rgw_jaeger.png
101 :width: 400
102
103
104osd service in Jaeger Frontend:
105
106.. image:: ./osd_jaeger.png
107 :width: 400