bf88a535906d8763e60a2d87b702837ac3c62300
[lttng-tools.git] / doc / man / lttng-relayd.8.txt
1 lttng-relayd(8)
2 ===============
3 :revdate: 5 June 2018
4
5
6 NAME
7 ----
8 lttng-relayd - LTTng 2 relay daemon
9
10
11 SYNOPSIS
12 --------
13 [verse]
14 *lttng-relayd* [option:--background | option:--daemonize]
15 [option:--control-port='URL'] [option:--data-port='URL'] [option:--live-port='URL']
16 [option:--output='PATH'] [option:-v | option:-vv | option:-vvv]
17 [option:--working-directory='PATH']
18 [option:--group-output-by-session | option:--group-output-by-host]
19
20 DESCRIPTION
21 -----------
22 The https://lttng.org/[_Linux Trace Toolkit: next generation_] is an open
23 source software package used for correlated tracing of the Linux kernel,
24 user applications, and user libraries.
25
26 LTTng consists of Linux kernel modules (for Linux kernel tracing) and
27 dynamically loaded libraries (for user application and library tracing).
28
29 The _LTTng relay daemon_ is responsible for receiving trace data from
30 possibly remote LTTng session/consumer daemons and for writing it to
31 the local file system. The relay daemon also accepts _LTTng live_
32 connections from compatible viewers; this is the official approach to
33 viewing LTTng events as they are emitted.
34
35 The relay daemon listens by default on all network interfaces to gather
36 trace data, but only on localhost for LTTng live connections.
37
38 The relay daemon does not require any particular permissions, as long as
39 it can write to the output directory and listen on the configured ports.
40 If a user is within a secured network and/or has proper firewall
41 settings, `lttng-relayd` can listen to LTTng live connections from _all_
42 network interfaces by specifying
43 +--live-port=tcp://0.0.0.0:{default_network_viewer_port}+.
44
45 Once a trace has been streamed completely, the trace can be processed by
46 any tool that can process an LTTng trace located on the local
47 file system.
48
49
50 [[output-directory]]
51 Output directory
52 ~~~~~~~~~~~~~~~~
53 By default (option:--group-output-by-host), the relay daemon writes the traces
54 to:
55
56 [verse]
57 $LTTNG_HOME/lttng-traces/'HOSTNAME'/'SESSION'/'DOMAIN'
58
59 with:
60
61 'HOSTNAME'::
62 Remote hostname.
63
64 'SESSION'::
65 Full session name.
66
67 'DOMAIN'::
68 Tracing domain.
69
70 You can group the output per session instead of per hostname with the
71 option:--group-output-by-session option. This result in the following:
72
73 [verse]
74
75 $LTTNG_HOME/lttng-traces/'SESSION'/'HOST'/'DOMAIN'
76
77 You can override the default output directory prefix
78 (`$LTTNG_HOME/lttng-traces`) with the option:--output option. The other
79 parts depend on the remote configuration.
80
81 Grouping by session is not supported for peers with version inferior to 2.4.
82 In such cases, the grouping of output for that particular peer will be per host
83 (default).
84
85 A best effort backward compatibility is done for peers version greater or equal to
86 2.4 and smaller than 2.11.
87
88 [[url-format]]
89 URL format
90 ~~~~~~~~~~
91 The option:--control-port, option:--data-port, and option:--live-port
92 options specify URLs.
93
94 The format of those URLs is:
95
96 [verse]
97 tcp://('HOST' | 'IPADDR'):__PORT__
98
99 with:
100
101 ('HOST' | 'IPADDR')::
102 Binding hostname or IP address (IPv6 address *must* be enclosed in
103 brackets (`[` and `]`); see
104 https://www.ietf.org/rfc/rfc2732.txt[RFC 2732]).
105
106 'PORT'::
107 TCP port.
108
109
110 OPTIONS
111 -------
112 Daemon
113 ~~~~~~
114 option:-b, option:--background::
115 Start as Unix daemon, but keep file descriptors (console) open.
116 Use the option:--daemonize option instead to close the file
117 descriptors.
118
119 option:-d, option:--daemonize::
120 Start as Unix daemon, and close file descriptors (console). Use the
121 option:--background option instead to keep the file descriptors
122 open.
123
124 option:-g 'GROUP', option:--group='GROUP'::
125 Use 'GROUP' as Unix tracing group (default: `tracing`).
126
127 option:-o 'PATH', option:--output='PATH'::
128 Set base directory of written trace data to 'PATH'.
129 +
130 See the <<output-directory,Output directory>> section above for more
131 information.
132
133 option:-p, option:--group-output-by-host::
134 Organize the output directory by host. Default behavior.
135 +
136 See the <<output-directory,Output directory>> section above for more
137 information.
138
139 option:-s, option:--group-output-by-session::
140 Organize the output directory by session.
141 +
142 See the <<output-directory,Output directory>> section above for more
143 information.
144
145 option:-w 'PATH', option:--working-directory='PATH'::
146 Set the working directory of the processes this relay daemon creates.
147
148 option:-v, option:--verbose::
149 Increase verbosity.
150 +
151 Three levels of verbosity are available, which are triggered by
152 appending additional `v` letters to the option
153 (that is, `-vv` and `-vvv`).
154
155
156 Ports
157 ~~~~~
158 See the <<url-format,URL format>> section above for more information
159 about the syntax of the following options' 'URL' argument.
160
161 option:-C 'URL', option:--control-port='URL'::
162 Listen to control data on URL 'URL' (default:
163 +tcp://{default_network_control_bind_address}:{default_network_control_port}+).
164
165 option:-D 'URL', option:--data-port='URL'::
166 Listen to trace data on URL 'URL' (default:
167 +tcp://{default_network_data_bind_address}:{default_network_data_port}+).
168
169 option:-L 'URL', option:--live-port='URL'::
170 Listen to LTTng live connections on URL 'URL'
171 (default:
172 +tcp://{default_network_viewer_bind_address}:{default_network_viewer_port}+).
173
174
175 Program information
176 ~~~~~~~~~~~~~~~~~~~
177 option:-h, option:--help::
178 Show help.
179
180 option:-V, option:--version::
181 Show version.
182
183
184 ENVIRONMENT VARIABLES
185 ---------------------
186 `LTTNG_ABORT_ON_ERROR`::
187 Set to 1 to abort the process after the first error is encountered.
188
189 `LTTNG_NETWORK_SOCKET_TIMEOUT`::
190 Socket connection, receive and send timeout (milliseconds). A value
191 of 0 or -1 uses the timeout of the operating system (default).
192
193 `LTTNG_RELAYD_DISALLOW_CLEAR`::
194 Set to 1 to disallow the use of lttng-clear(1) on sessions collected by
195 this relay daemon.
196
197 `LTTNG_RELAYD_HEALTH`::
198 Path to relay daemon health's socket.
199
200 `LTTNG_RELAYD_TCP_KEEP_ALIVE`::
201 Set to 1 to enable TCP keep-alive.
202 +
203 The TCP keep-alive mechanism allows the detection of dead peers
204 (man:lttng-sessiond(8)) in cases of unclean termination
205 (for example, a hard reset) of a peer.
206 +
207 Supported on Linux and Solaris only. The default behaviour of the TCP
208 keep-alive mechanism is OS-specific.
209 +
210 Search for `tcp_keepalive` in man:tcp(7) for more information.
211
212 `LTTNG_RELAYD_TCP_KEEP_ALIVE_ABORT_THRESHOLD`::
213 The time threshold in seconds to abort a TCP connection after the keep-alive
214 probing mechanism has failed.
215 +
216 Set to 0 or -1 to use the value chosen by the operating system (default).
217 +
218 Supported on Solaris 11 only.
219 +
220 Search for `tcp_keepalive_abort_threshold` in man:tcp(7) for more information.
221
222 `LTTNG_RELAYD_TCP_KEEP_ALIVE_IDLE_TIME`::
223 Number of seconds a connection needs to be idle before TCP begins
224 sending out keep-alive probes.
225 +
226 Set to 0 or -1 to use the value chosen by the operating system (default).
227 +
228 Supported on Linux and Solaris 11 only.
229 +
230 On Solaris{nbsp}11, the accepted values are -1, 0, and 10 to 864000.
231 +
232 Search for `tcp_keepalive_time` and `tcp_keepalive_interval`
233 in man:tcp(7) on Solaris 11 for more information.
234
235 `LTTNG_RELAYD_TCP_KEEP_ALIVE_MAX_PROBE_COUNT`::
236 Maximum number of TCP keep-alive probes to send before giving up and
237 killing the connection if no response is obtained from the other end.
238 +
239 Set to 0 or -1 to use the value chosen by the operating system (default).
240 +
241 Supported on Linux only.
242 +
243 Search for `tcp_keepalive_probes` in man:tcp(7) for more information.
244
245 `LTTNG_RELAYD_TCP_KEEP_ALIVE_PROBE_INTERVAL`::
246 Number of seconds between TCP keep-alive probes.
247 +
248 Set to 0 or -1 to use the value chosen by the operating system (default).
249 +
250 Supported on Linux only.
251 +
252 Search for `tcp_keepalive_intvl` in man:tcp(7) for more information.
253
254 `LTTNG_RELAYD_WORKING_DIRECTORY`::
255 Working directory of the processes this relay daemon creates.
256 +
257 The option:--working-directory option overrides this variable.
258
259
260 FILES
261 -----
262 `$LTTNG_HOME/.lttng`::
263 User LTTng runtime and configuration directory.
264
265 `$LTTNG_HOME/lttng-traces`::
266 Default output directory of LTTng traces. This can be overridden
267 with the option:--output option.
268
269 NOTE: `$LTTNG_HOME` defaults to `$HOME` when not explicitly set.
270
271
272 EXIT STATUS
273 -----------
274 *0*::
275 Success
276
277 *1*::
278 Error
279
280 *3*::
281 Fatal error
282
283
284 LIMITATIONS
285 -----------
286 As of this version, only the TCP protocol is supported for both control
287 and data ports. In future versions, TCP will remain the sole available
288 protocol for control data since those communications are low-volume and
289 need absolute reliability; trace data could be carried over UDP.
290
291 For an unprivileged user running `lttng-relayd`, the maximum number of
292 file descriptors per process is usually 1024. This limits the number of
293 connections and opened trace files. This limit can be configured with
294 *ulimit*(3).
295
296
297 include::common-footer.txt[]
298
299
300 SEE ALSO
301 --------
302 man:lttng(1),
303 man:lttng-sessiond(8),
304 man:lttng-crash(1),
305 man:lttng-ust(3),
306 man:babeltrace(1)
This page took 0.034539 seconds and 3 git commands to generate.