8 lttng-relayd - LTTng 2 relay daemon
14 *lttng-relayd* [option:--background | option:--daemonize]
15 [option:--control-port='URL'] [option:--data-port='URL'] [option:--fd-pool-size='COUNT']
16 [option:--live-port='URL'] [option:--output='PATH']
17 [option:-v | option:-vv | option:-vvv] [option:--working-directory='PATH']
18 [option:--group-output-by-session | option:--group-output-by-host]
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.
26 LTTng consists of Linux kernel modules (for Linux kernel tracing) and
27 dynamically loaded libraries (for user application and library tracing).
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.
35 The relay daemon listens by default on all network interfaces to gather
36 trace data, but only on localhost for LTTng live connections.
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}+.
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
53 By default (option:--group-output-by-host), the relay daemon writes the traces
57 $LTTNG_HOME/lttng-traces/'HOSTNAME'/'SESSION'/'DOMAIN'
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:
75 $LTTNG_HOME/lttng-traces/'SESSION'/'HOST'/'DOMAIN'
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.
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
85 A best effort backward compatibility is done for peers version greater or equal to
86 2.4 and smaller than 2.11.
91 The option:--control-port, option:--data-port, and option:--live-port
94 The format of those URLs is:
97 tcp://('HOST' | 'IPADDR'):__PORT__
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]).
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
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
124 option:--fd-pool-size='SIZE'::
125 Set the size of the file descriptor pool. This effectively sets a
126 limit on the number of file descriptors that may be kept open
127 simultaneously by the daemon (default: the soft `RLIMIT_NOFILE` resource
128 limit of the process).
130 option:-g 'GROUP', option:--group='GROUP'::
131 Use 'GROUP' as Unix tracing group (default: `tracing`).
133 option:-o 'PATH', option:--output='PATH'::
134 Set base directory of written trace data to 'PATH'.
136 See the <<output-directory,Output directory>> section above for more
139 option:-p, option:--group-output-by-host::
140 Organize the output directory by host. Default behavior.
142 See the <<output-directory,Output directory>> section above for more
145 option:-s, option:--group-output-by-session::
146 Organize the output directory by session.
148 See the <<output-directory,Output directory>> section above for more
151 option:-w 'PATH', option:--working-directory='PATH'::
152 Set the working directory of the processes this relay daemon creates.
154 option:-v, option:--verbose::
157 Three levels of verbosity are available, which are triggered by
158 appending additional `v` letters to the option
159 (that is, `-vv` and `-vvv`).
164 See the <<url-format,URL format>> section above for more information
165 about the syntax of the following options' 'URL' argument.
167 option:-C 'URL', option:--control-port='URL'::
168 Listen to control data on URL 'URL' (default:
169 +tcp://{default_network_control_bind_address}:{default_network_control_port}+).
171 option:-D 'URL', option:--data-port='URL'::
172 Listen to trace data on URL 'URL' (default:
173 +tcp://{default_network_data_bind_address}:{default_network_data_port}+).
175 option:-L 'URL', option:--live-port='URL'::
176 Listen to LTTng live connections on URL 'URL'
178 +tcp://{default_network_viewer_bind_address}:{default_network_viewer_port}+).
183 option:-h, option:--help::
186 option:-V, option:--version::
190 ENVIRONMENT VARIABLES
191 ---------------------
192 `LTTNG_ABORT_ON_ERROR`::
193 Set to 1 to abort the process after the first error is encountered.
195 `LTTNG_NETWORK_SOCKET_TIMEOUT`::
196 Socket connection, receive and send timeout (milliseconds). A value
197 of 0 or -1 uses the timeout of the operating system (default).
199 `LTTNG_RELAYD_DISALLOW_CLEAR`::
200 Set to 1 to disallow the use of lttng-clear(1) on sessions collected by
203 `LTTNG_RELAYD_HEALTH`::
204 Path to relay daemon health's socket.
206 `LTTNG_RELAYD_TCP_KEEP_ALIVE`::
207 Set to 1 to enable TCP keep-alive.
209 The TCP keep-alive mechanism allows the detection of dead peers
210 (man:lttng-sessiond(8)) in cases of unclean termination
211 (for example, a hard reset) of a peer.
213 Supported on Linux and Solaris only. The default behaviour of the TCP
214 keep-alive mechanism is OS-specific.
216 Search for `tcp_keepalive` in man:tcp(7) for more information.
218 `LTTNG_RELAYD_TCP_KEEP_ALIVE_ABORT_THRESHOLD`::
219 The time threshold in seconds to abort a TCP connection after the keep-alive
220 probing mechanism has failed.
222 Set to 0 or -1 to use the value chosen by the operating system (default).
224 Supported on Solaris 11 only.
226 Search for `tcp_keepalive_abort_threshold` in man:tcp(7) for more information.
228 `LTTNG_RELAYD_TCP_KEEP_ALIVE_IDLE_TIME`::
229 Number of seconds a connection needs to be idle before TCP begins
230 sending out keep-alive probes.
232 Set to 0 or -1 to use the value chosen by the operating system (default).
234 Supported on Linux and Solaris 11 only.
236 On Solaris{nbsp}11, the accepted values are -1, 0, and 10 to 864000.
238 Search for `tcp_keepalive_time` and `tcp_keepalive_interval`
239 in man:tcp(7) on Solaris 11 for more information.
241 `LTTNG_RELAYD_TCP_KEEP_ALIVE_MAX_PROBE_COUNT`::
242 Maximum number of TCP keep-alive probes to send before giving up and
243 killing the connection if no response is obtained from the other end.
245 Set to 0 or -1 to use the value chosen by the operating system (default).
247 Supported on Linux only.
249 Search for `tcp_keepalive_probes` in man:tcp(7) for more information.
251 `LTTNG_RELAYD_TCP_KEEP_ALIVE_PROBE_INTERVAL`::
252 Number of seconds between TCP keep-alive probes.
254 Set to 0 or -1 to use the value chosen by the operating system (default).
256 Supported on Linux only.
258 Search for `tcp_keepalive_intvl` in man:tcp(7) for more information.
260 `LTTNG_RELAYD_WORKING_DIRECTORY`::
261 Working directory of the processes this relay daemon creates.
263 The option:--working-directory option overrides this variable.
268 `$LTTNG_HOME/.lttng`::
269 User LTTng runtime and configuration directory.
271 `$LTTNG_HOME/lttng-traces`::
272 Default output directory of LTTng traces. This can be overridden
273 with the option:--output option.
275 NOTE: `$LTTNG_HOME` defaults to `$HOME` when not explicitly set.
292 As of this version, only the TCP protocol is supported for both control
293 and data ports. In future versions, TCP will remain the sole available
294 protocol for control data since those communications are low-volume and
295 need absolute reliability; trace data could be carried over UDP.
297 For an unprivileged user running `lttng-relayd`, the maximum number of
298 file descriptors per process is usually 1024. This limits the number of
299 connections and opened trace files. This limit can be configured with
303 include::common-footer.txt[]
309 man:lttng-sessiond(8),