File: lttng-relayd.8.txt

package info (click to toggle)
ltt-control 2.13.15-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 17,656 kB
  • sloc: ansic: 167,287; sh: 27,018; makefile: 2,828; python: 1,380; yacc: 692; lex: 129; java: 109; perl: 99; cpp: 35; xml: 23
file content (400 lines) | stat: -rw-r--r-- 10,817 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
lttng-relayd(8)
===============
:revdate: 14 June 2021
:daemon-bin-name: lttng-relayd
:daemon-ini-section: relayd


NAME
----
lttng-relayd - LTTng relay daemon


SYNOPSIS
--------
[verse]
*lttng-relayd* [option:--background | option:--daemonize] [option:--config='PATH']
             [option:--control-port='URL'] [option:--data-port='URL'] [option:--fd-pool-size='COUNT']
             [option:--live-port='URL'] [option:--output='DIR'] [option:--group='GROUP']
             [option:--verbose]... [option:--working-directory='DIR']
             [option:--group-output-by-host | option:--group-output-by-session] [option:--disallow-clear]


DESCRIPTION
-----------
include::common-intro.txt[]

An LTTng relay daemon, `lttng-relayd`, is a program which receives trace
data from (possibly remote) LTTng session/consumer daemons and which
writes it to the local file system. The relay daemon also accepts LTTng
live connections from compatible readers (for example,
man:babeltrace2(1)); this is the recommended approach to read trace data
while the remote recording session is active.

By default, a relay daemon listens on all network interfaces to receive
trace data, but only on `localhost` for LTTng live connections. Override
the listening URLs with the option:--control-port, option:--data-port,
and option:--live-port options (see the ``<<url-format,URL format>>''
section below). For example, use the
option:--live-port=+tcp://0.0.0.0:{default_network_viewer_port}+ option
to make a relay daemon listen to LTTng live connections on all network
interfaces.

Once LTTng has completely sent a trace to a relay daemon{nbsp}__RD__,
any LTTng trace reader can read the trace located on the local file
system of{nbsp}__RD__.

By default, `lttng-relayd` doesn't start as a daemon. Make it a daemon
with the option:--daemonize or option:--background option. With those
options, `lttng-relayd` ensures the daemon is listening to incoming
connections before it exits.


include::common-daemon-cfg.txt[]

INI configuration file example:

[source,ini]
----
[relayd]
daemonize=yes
live-port=tcp://0.0.0.0:4567
disallow-clear=yes
----


[[output-directory]]
Output directory
~~~~~~~~~~~~~~~~
The relay daemon uses different output path patterns depending on:

* Its configuration.
+
See the ``<<cfg,Daemon configuration>>'' section above.

* The recording session configuration of the connected peer.
* The LTTng session daemon (see man:lttng-sessiond(8)) version
  of the connected peer.

Consider the following variables:

'BASE'::
    Base output directory: `$LTTNG_HOME/lttng-traces` (`$LTTNG_HOME`
    defaults to `$HOME`) or the argument of the option:--output option.

'HOSTNAME'::
    Hostname of the connected peer.

'SESSION'::
    Recording session name.

'DATETIME'::
    Unique recording session date/time.

'TRACEDIR'::
    Custom trace directory path ('TRACEDIR' part of the argument of the
    nloption:--set-url option of the man:lttng-create(1) command, if
    any).

'SESSIONDV'::
    The version of the LTTng session daemon of the connected peer.

The relay daemon output path patterns are:

With the option:--group-output-by-host option (hostname grouping)::
    Without a custom trace directory:::
+
[verse]
'BASE'/'HOSTNAME'/'SESSION'-'DATETIME'

With a custom trace directory:::
+
[verse]
'BASE'/'HOSTNAME'/'TRACEDIR'

With the option:--group-output-by-session option (recording session grouping)::
    Without a custom trace directory:::
        'SESSIONDV' is at least{nbsp}2.4::::
+
[verse]
'BASE'/'SESSION'/'HOSTNAME'-'DATETIME'

Otherwise::::
    Defaults to the hostname grouping pattern:
+
[verse]
'BASE'/'HOSTNAME'/'SESSION'-'DATETIME'

With a custom trace directory:::
    'SESSIONDV' is at least 2.4::::
+
[verse]
'BASE'/'SESSION'/'HOSTNAME'-'DATETIME'/'TRACEDIR'

Otherwise::::
    Defaults to the hostname grouping pattern:
+
[verse]
'BASE'/'HOSTNAME'/'TRACEDIR'


[[url-format]]
URL format
~~~~~~~~~~
The argument of the option:--control-port='URL',
option:--data-port='URL', and option:--live-port='URL' options is an
URL.

The format of 'URL' is:

[verse]
tcp://('HOST' | 'IPADDR'):__PORT__

with:

('HOST' | 'IPADDR')::
    Binding hostname or IP address.
+
IPv6 address must be enclosed in square brackets (`[` and{nbsp}`]`);
see https://www.ietf.org/rfc/rfc2732.txt[RFC{nbsp}2732].

'PORT'::
    TCP port.


[[options]]
OPTIONS
-------
General daemon configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
option:-b, option:--background::
    Start as a Unix daemon, but keep file descriptors (console) open.
+
With this option, `lttng-relayd` ensures the daemon is listening
to incoming connections before it exits.
+
Use the option:--daemonize option instead to close the file descriptors.

option:-f 'PATH', option:--config='PATH'::
    Configure the daemon using the INI configuration file 'PATH' in
    addition to the default configuration files and the command-line
    options.
+
See the ``<<cfg,Daemon configuration>>'' section above.

option:-d, option:--daemonize::
    Start as a Unix daemon and close file descriptors (console).
+
With this option, `lttng-relayd` ensures the daemon is listening
to incoming connections before it exits.
+
Use the option:--background option instead to keep the file descriptors
open.

option:-x, option:--disallow-clear::
    Disallow clearing operations (see man:lttng-clear(1)).
+
See also the `LTTNG_RELAYD_DISALLOW_CLEAR` environment variable.

option:--fd-pool-size='SIZE'::
    Set the size of the file descriptor pool to 'SIZE' file descriptors.
+
'SIZE' is the maximum number of file descriptors that the relay daemon
may keep open simultaneously.
+
Default: the soft `RLIMIT_NOFILE` resource limit of the process (see
man:getrlimit(2)).

option:-g 'GROUP', option:--group='GROUP'::
    Set the Unix tracing group to 'GROUP' instead of `tracing`.
+
This option is only meaningful when the `root` Unix user starts
`lttng-relayd`.
+
Members of the Unix tracing group may connect to the health check socket
of the relay daemon.
+
See also the `LTTNG_RELAYD_HEALTH` environment variable.

option:-w 'DIR', option:--working-directory='DIR'::
    Set the working directory of the processes the relay daemon creates
    to 'DIR'.
+
See also the `LTTNG_RELAYD_WORKING_DIRECTORY` environment variable.

option:-v, option:--verbose::
    Increase verbosity.
+
Specify this option up to three times to get more levels of verbosity.


Output
~~~~~~
See the ``<<output-directory,Output directory>>'' section above to learn
more.

option:-p, option:--group-output-by-host::
    Group the written trace directories by hostname.
+
As of LTTng{nbsp}{lttng_version}, this is the default output grouping
strategy, but this may change in the future.

option:-s, option:--group-output-by-session::
    Group the written trace directories by recording session name
    instead of by hostname.

option:-o 'DIR', option:--output='DIR'::
    Set the base output directory of the written trace directories to
    'DIR'.


Ports
~~~~~
See the ``<<url-format,URL format>>'' section above to learn more about
the syntax of the 'URL' argument of the following options.

option:-C 'URL', option:--control-port='URL'::
    Listen to control data on URL 'URL'.
+
Default:
+tcp://{default_network_control_bind_address}:{default_network_control_port}+.

option:-D 'URL', option:--data-port='URL'::
    Listen to trace data on URL 'URL'.
+
Default:
+tcp://{default_network_data_bind_address}:{default_network_data_port}+.

option:-L 'URL', option:--live-port='URL'::
    Listen to LTTng live connections on URL 'URL'.
+
Default:
+tcp://{default_network_viewer_bind_address}:{default_network_viewer_port}+.


Program information
~~~~~~~~~~~~~~~~~~~
include::common-help-option.txt[]

option:-V, option:--version::
    Show version and quit.


EXIT STATUS
-----------
*0*::
    Success

*1*::
    Error

*3*::
    Fatal error


ENVIRONMENT
-----------
`LTTNG_ABORT_ON_ERROR`::
    Set to `1` to abort the process after the first error is
    encountered.

`LTTNG_NETWORK_SOCKET_TIMEOUT`::
    Socket connection, receive, and send timeout (milliseconds).
+
Set to `0` or `-1` to set an infinite timeout (default).

`LTTNG_RELAYD_DISALLOW_CLEAR`::
    Set to `1` to disallow clearing operations (see man:lttng-clear(1)).
+
The option:--disallow-clear option overrides this environment variable.

`LTTNG_RELAYD_HEALTH`::
    Path to the health check socket of the relay daemon.

`LTTNG_RELAYD_TCP_KEEP_ALIVE`::
    Set to `1` to enable TCP keep-alive.
+
The TCP keep-alive mechanism allows the detection of dead peers
(man:lttng-sessiond(8)) in cases of unclean termination (for example, a
hard reset) of a peer.
+
Supported on Linux and Solaris only. The default behaviour of the TCP
keep-alive mechanism is OS-specific.
+
Search for `tcp_keepalive` in man:tcp(7) to learn more.

`LTTNG_RELAYD_TCP_KEEP_ALIVE_ABORT_THRESHOLD`::
   The time threshold (seconds) to abort a TCP connection after the
   keep-alive probing mechanism has failed.
+
Set to `0` or `-1` to use the value chosen by the operating system
(default).
+
Supported on Solaris 11 only.
+
Search for `tcp_keepalive_abort_threshold` in man:tcp(7) to learn more.

`LTTNG_RELAYD_TCP_KEEP_ALIVE_IDLE_TIME`::
    Number of seconds a connection needs to be idle before TCP begins
    sending out keep-alive probes.
+
Set to `0` or `-1` to use the value chosen by the operating system
(default).
+
Supported on Linux and Solaris 11 only.
+
On Solaris{nbsp}11, the accepted values are `-1`, `0`, and `10` to
`864000`.
+
Search for `tcp_keepalive_time` and `tcp_keepalive_interval`
in man:tcp(7) on Solaris{nbsp}11 to learn more.

`LTTNG_RELAYD_TCP_KEEP_ALIVE_MAX_PROBE_COUNT`::
    Maximum number of TCP keep-alive probes to send before giving up and
    killing the connection if no response is obtained from the other end.
+
Set to `0` or `-1` to use the value chosen by the operating system
(default).
+
Supported on Linux only.
+
Search for `tcp_keepalive_probes` in man:tcp(7) to learn more.

`LTTNG_RELAYD_TCP_KEEP_ALIVE_PROBE_INTERVAL`::
    Number of seconds between TCP keep-alive probes.
+
Set to `0` or `-1` to use the value chosen by the operating system
(default).
+
Supported on Linux only.
+
Search for `tcp_keepalive_intvl` in man:tcp(7) to learn more.

`LTTNG_RELAYD_WORKING_DIRECTORY`::
    Working directory of the processes the relay daemon creates.
+
The option:--working-directory option overrides this environment
variable.


FILES
-----
`$LTTNG_HOME/.lttng`::
    Unix user's LTTng runtime and configuration directory.

`$LTTNG_HOME/lttng-traces`::
    Default base output directory of LTTng traces.
+
Override this path with the option:--output option.

NOTE: `$LTTNG_HOME` defaults to `$HOME`.


include::common-footer.txt[]


SEE ALSO
--------
man:babeltrace2(1),
man:lttng(1),
man:lttng-sessiond(8)