]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/journald.conf.xml
core: Support system.conf.d and user.conf.d directories in the usual search paths
[thirdparty/systemd.git] / man / journald.conf.xml
CommitLineData
b47ffcfd
LP
1<?xml version='1.0'?> <!--*-nxml-*-->
2<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
3<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
4 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
5
6<!--
7 This file is part of systemd.
8
9 Copyright 2010 Lennart Poettering
10
11 systemd is free software; you can redistribute it and/or modify it
5430f7f2
LP
12 under the terms of the GNU Lesser General Public License as published by
13 the Free Software Foundation; either version 2.1 of the License, or
b47ffcfd
LP
14 (at your option) any later version.
15
16 systemd is distributed in the hope that it will be useful, but
17 WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5430f7f2 19 Lesser General Public License for more details.
b47ffcfd 20
5430f7f2 21 You should have received a copy of the GNU Lesser General Public License
b47ffcfd
LP
22 along with systemd; If not, see <http://www.gnu.org/licenses/>.
23-->
24
18b754d3 25<refentry id="journald.conf">
b47ffcfd 26 <refentryinfo>
18b754d3 27 <title>journald.conf</title>
b47ffcfd
LP
28 <productname>systemd</productname>
29
30 <authorgroup>
31 <author>
32 <contrib>Developer</contrib>
33 <firstname>Lennart</firstname>
34 <surname>Poettering</surname>
35 <email>lennart@poettering.net</email>
36 </author>
37 </authorgroup>
38 </refentryinfo>
39
40 <refmeta>
18b754d3 41 <refentrytitle>journald.conf</refentrytitle>
b47ffcfd
LP
42 <manvolnum>5</manvolnum>
43 </refmeta>
44
45 <refnamediv>
18b754d3 46 <refname>journald.conf</refname>
b47ffcfd
LP
47 <refpurpose>Journal service configuration file</refpurpose>
48 </refnamediv>
49
50 <refsynopsisdiv>
01cf0ca8 51 <para><filename>/etc/systemd/journald.conf</filename></para>
b47ffcfd
LP
52 </refsynopsisdiv>
53
54 <refsect1>
55 <title>Description</title>
56
409dee2e
JE
57 <para>This file configures various parameters of the
58 systemd journal service,
01cf0ca8 59 <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
b47ffcfd
LP
60
61 </refsect1>
62
63 <refsect1>
64 <title>Options</title>
65
66 <para>All options are configured in the
67 <literal>[Journal]</literal> section:</para>
68
69 <variablelist>
70
eb53b74f
LP
71 <varlistentry>
72 <term><varname>Storage=</varname></term>
73
74 <listitem><para>Controls where to
75 store journal data. One of
76 <literal>volatile</literal>,
77 <literal>persistent</literal>,
78 <literal>auto</literal> and
79 <literal>none</literal>. If
409dee2e 80 <literal>volatile</literal>, journal
eb53b74f
LP
81 log data will be stored only in
82 memory, i.e. below the
83 <filename>/run/log/journal</filename>
84 hierarchy (which is created if
85 needed). If
409dee2e 86 <literal>persistent</literal>, data will
eb53b74f
LP
87 be stored preferably on disk,
88 i.e. below the
89 <filename>/var/log/journal</filename>
90 hierarchy (which is created if
91 needed), with a fallback to
92 <filename>/run/log/journal</filename>
93 (which is created if needed), during
94 early boot and if the disk is not
95 writable. <literal>auto</literal> is
96 similar to
97 <literal>persistent</literal> but the
98 directory
99 <filename>/var/log/journal</filename>
100 is not created if needed, so that its
101 existence controls where log data
102 goes. <literal>none</literal> turns
103 off all storage, all log data received
104 will be dropped. Forwarding to other
105 targets, such as the console, the
106 kernel log buffer or a syslog daemon
107 will still work however. Defaults to
108 <literal>auto</literal>.</para></listitem>
109 </varlistentry>
110
b47ffcfd
LP
111 <varlistentry>
112 <term><varname>Compress=</varname></term>
113
114 <listitem><para>Takes a boolean
409dee2e 115 value. If enabled (the default), data
b47ffcfd
LP
116 objects that shall be stored in the
117 journal and are larger than a certain
118 threshold are compressed with the XZ
119 compression algorithm before they are
120 written to the file
121 system.</para></listitem>
122 </varlistentry>
123
eb53b74f
LP
124 <varlistentry>
125 <term><varname>Seal=</varname></term>
126
127 <listitem><para>Takes a boolean
409dee2e 128 value. If enabled (the default), and a
eb53b74f
LP
129 sealing key is available (as created
130 by
131 <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
132 <option>--setup-keys</option>
06d9d3ef 133 command), Forward Secure Sealing (FSS)
fe004b7c
LP
134 for all persistent journal files is
135 enabled. FSS is based on <ulink
6ed80a4e 136 url="https://eprint.iacr.org/2013/397">Seekable
fe004b7c 137 Sequential Key Generators</ulink> by
06d9d3ef
JSJ
138 G. A. Marson and B. Poettering
139 (doi:10.1007/978-3-642-40203-6_7)
140 and may be used to protect journal files
141 from unnoticed alteration.</para></listitem>
eb53b74f
LP
142 </varlistentry>
143
182b858f
LP
144 <varlistentry>
145 <term><varname>SplitMode=</varname></term>
146
147 <listitem><para>Controls whether to
148 split up journal files per user. One
edc3797f
LP
149 of <literal>uid</literal>,
150 <literal>login</literal> and
151 <literal>none</literal>. If
152 <literal>uid</literal>, all users will
153 get each their own journal files
154 regardless of whether they possess a
155 login session or not, however system
156 users will log into the system
157 journal. If <literal>login</literal>,
158 actually logged-in users will get each
159 their own journal files, but users
160 without login session and system users
161 will log into the system journal. If
409dee2e
JE
162 <literal>none</literal>, journal files
163 are not split up by user and all
edc3797f
LP
164 messages are instead stored in the
165 single system journal. Note that
166 splitting up journal files by user is
167 only available for journals stored
182b858f 168 persistently. If journals are stored
edc3797f
LP
169 on volatile storage (see above), only
170 a single journal file for all user IDs
182b858f 171 is kept. Defaults to
edc3797f 172 <literal>uid</literal>.</para></listitem>
182b858f
LP
173 </varlistentry>
174
b47ffcfd
LP
175 <varlistentry>
176 <term><varname>RateLimitInterval=</varname></term>
177 <term><varname>RateLimitBurst=</varname></term>
178
179 <listitem><para>Configures the rate
180 limiting that is applied to all
409dee2e 181 messages generated on the system. If,
b47ffcfd 182 in the time interval defined by
409dee2e 183 <varname>RateLimitInterval=</varname>,
b47ffcfd
LP
184 more messages than specified in
185 <varname>RateLimitBurst=</varname> are
409dee2e 186 logged by a service, all further
b47ffcfd 187 messages within the interval are
409dee2e 188 dropped until the interval is over. A
b47ffcfd
LP
189 message about the number of dropped
190 messages is generated. This rate
191 limiting is applied per-service, so
192 that two services which log do not
7d7681f7 193 interfere with each other's
8f18f550
MM
194 limits. Defaults to 1000 messages in
195 30s. The time specification for
b47ffcfd
LP
196 <varname>RateLimitInterval=</varname>
197 may be specified in the following
198 units: <literal>s</literal>,
199 <literal>min</literal>,
200 <literal>h</literal>,
201 <literal>ms</literal>,
202 <literal>us</literal>. To turn off any
203 kind of rate limiting, set either
204 value to 0.</para></listitem>
205 </varlistentry>
206
207 <varlistentry>
208 <term><varname>SystemMaxUse=</varname></term>
209 <term><varname>SystemKeepFree=</varname></term>
210 <term><varname>SystemMaxFileSize=</varname></term>
b47ffcfd
LP
211 <term><varname>RuntimeMaxUse=</varname></term>
212 <term><varname>RuntimeKeepFree=</varname></term>
213 <term><varname>RuntimeMaxFileSize=</varname></term>
b47ffcfd
LP
214
215 <listitem><para>Enforce size limits on
216 the journal files stored. The options
217 prefixed with
218 <literal>System</literal> apply to the
219 journal files when stored on a
3ab1e259 220 persistent file system, more
b47ffcfd
LP
221 specifically
222 <filename>/var/log/journal</filename>. The
223 options prefixed with
224 <literal>Runtime</literal> apply to
225 the journal files when stored on a
226 volatile in-memory file system, more
227 specifically
228 <filename>/run/log/journal</filename>. The
229 former is used only when
230 <filename>/var</filename> is mounted,
409dee2e 231 writable, and the directory
b47ffcfd 232 <filename>/var/log/journal</filename>
409dee2e 233 exists. Otherwise, only the latter
b47ffcfd
LP
234 applies. Note that this means that
235 during early boot and if the
3ab1e259 236 administrator disabled persistent
409dee2e 237 logging, only the latter options apply,
3ab1e259 238 while the former apply if persistent
b47ffcfd
LP
239 logging is enabled and the system is
240 fully booted
670b110c
ZJS
241 up. <command>journalctl</command> and
242 <command>systemd-journald</command>
243 ignore all files with names not ending
244 with <literal>.journal</literal> or
245 <literal>.journal~</literal>, so only
246 such files, located in the appropriate
247 directories, are taken into account
248 when calculating current disk usage.
249 </para>
250
251 <para><varname>SystemMaxUse=</varname>
b47ffcfd
LP
252 and <varname>RuntimeMaxUse=</varname>
253 control how much disk space the
348ced90
ZJS
254 journal may use up at maximum.
255 <varname>SystemKeepFree=</varname> and
b47ffcfd 256 <varname>RuntimeKeepFree=</varname>
65b571fc 257 control how much disk space
348ced90
ZJS
258 systemd-journald shall leave free for
259 other uses.
260 <command>systemd-journald</command>
261 will respect both limits and use the
262 smaller of the two values.</para>
263
264 <para>The first pair defaults to 10%
265 and the second to 15% of the size of
266 the respective file system. If the
267 file system is nearly full and either
268 <varname>SystemKeepFree=</varname> or
269 <varname>RuntimeKeepFree=</varname> is
270 violated when systemd-journald is
271 started, the value will be raised to
272 percentage that is actually free. This
66f756d4
JE
273 means that if there was enough
274 free space before and journal files were
348ced90
ZJS
275 created, and subsequently something
276 else causes the file system to fill
277 up, journald will stop using more
66f756d4 278 space, but it will not be removing
348ced90
ZJS
279 existing files to go reduce footprint
280 either.</para>
281
282 <para><varname>SystemMaxFileSize=</varname>
b47ffcfd
LP
283 and
284 <varname>RuntimeMaxFileSize=</varname>
285 control how large individual journal
286 files may grow at maximum. This
287 influences the granularity in which
288 disk space is made available through
289 rotation, i.e. deletion of historic
49f43d5f 290 data. Defaults to one eighth of the
b47ffcfd
LP
291 values configured with
292 <varname>SystemMaxUse=</varname> and
293 <varname>RuntimeMaxUse=</varname>, so
294 that usually seven rotated journal
6d908217
LP
295 files are kept as history. Specify
296 values in bytes or use K, M, G, T, P,
bdf874d4
ZJS
297 E as units for the specified sizes
298 (equal to 1024, 1024²,... bytes).
670b110c 299 Note that size limits are enforced
65b571fc
ZJS
300 synchronously when journal files are
301 extended, and no explicit rotation
302 step triggered by time is
303 needed.</para></listitem>
fb0951b0
LP
304 </varlistentry>
305
306 <varlistentry>
307 <term><varname>MaxFileSec=</varname></term>
308
309 <listitem><para>The maximum time to
310 store entries in a single journal
409dee2e
JE
311 file before rotating to the next
312 one. Normally, time-based rotation
fb0951b0
LP
313 should not be required as size-based
314 rotation with options such as
315 <varname>SystemMaxFileSize=</varname>
316 should be sufficient to ensure that
409dee2e 317 journal files do not grow without
fb0951b0
LP
318 bounds. However, to ensure that not
319 too much data is lost at once when old
409dee2e 320 journal files are deleted, it might
fb0951b0
LP
321 make sense to change this value from
322 the default of one month. Set to 0 to
323 turn off this feature. This setting
324 takes time values which may be
409dee2e
JE
325 suffixed with the units
326 <literal>year</literal>,
327 <literal>month</literal>,
328 <literal>week</literal>, <literal>day</literal>,
329 <literal>h</literal> or <literal>m</literal>
330 to override the default time unit of
fb0951b0
LP
331 seconds.</para></listitem>
332 </varlistentry>
333
334 <varlistentry>
335 <term><varname>MaxRetentionSec=</varname></term>
336
337 <listitem><para>The maximum time to
5a5c72ca 338 store journal entries. This
fb0951b0
LP
339 controls whether journal files
340 containing entries older then the
341 specified time span are
409dee2e 342 deleted. Normally, time-based deletion
fb0951b0
LP
343 of old journal files should not be
344 required as size-based deletion with
345 options such as
346 <varname>SystemMaxUse=</varname>
347 should be sufficient to ensure that
409dee2e 348 journal files do not grow without
fb0951b0 349 bounds. However, to enforce data
409dee2e 350 retention policies, it might make sense
5a5c72ca 351 to change this value from the
fb0951b0 352 default of 0 (which turns off this
5a5c72ca 353 feature). This setting also takes
fb0951b0 354 time values which may be suffixed with
409dee2e
JE
355 the units <literal>year</literal>,
356 <literal>month</literal>,
357 <literal>week</literal>, <literal>day</literal>,
358 <literal>h</literal> or <literal> m</literal>
fb0951b0 359 to override the default time unit of
409dee2e 360 seconds.</para></listitem>
26687bf8
OS
361 </varlistentry>
362
363
364 <varlistentry>
365 <term><varname>SyncIntervalSec=</varname></term>
366
d07f7b9e
LP
367 <listitem><para>The timeout before
368 synchronizing journal files to
369 disk. After syncing, journal files are
370 placed in the OFFLINE state. Note that
371 syncing is unconditionally done
372 immediately after a log message of
373 priority CRIT, ALERT or EMERG has been
d6ee7fa2 374 logged. This setting hence applies
d07f7b9e
LP
375 only to messages of the levels ERR,
376 WARNING, NOTICE, INFO, DEBUG. The
377 default timeout is 5 minutes.
26687bf8 378 </para></listitem>
b47ffcfd
LP
379 </varlistentry>
380
381 <varlistentry>
382 <term><varname>ForwardToSyslog=</varname></term>
383 <term><varname>ForwardToKMsg=</varname></term>
384 <term><varname>ForwardToConsole=</varname></term>
40b71e89 385 <term><varname>ForwardToWall=</varname></term>
b47ffcfd
LP
386
387 <listitem><para>Control whether log
388 messages received by the journal
389 daemon shall be forwarded to a
390 traditional syslog daemon, to the
40b71e89
ST
391 kernel log buffer (kmsg), to the
392 system console, or sent as wall
393 messages to all logged-in users. These
394 options take boolean arguments. If
395 forwarding to syslog is enabled but no
396 syslog daemon is running, the
397 respective option has no effect. By
46b13157
LP
398 default, only forwarding wall is
399 enabled. These settings may be
40b71e89
ST
400 overridden at boot time with the
401 kernel command line options
c66e7bc7 402 <literal>systemd.journald.forward_to_syslog=</literal>,
40b71e89
ST
403 <literal>systemd.journald.forward_to_kmsg=</literal>,
404 <literal>systemd.journald.forward_to_console=</literal>
b47ffcfd 405 and
40b71e89 406 <literal>systemd.journald.forward_to_wall=</literal>.
fb472900 407 When forwarding to the console, the
46b13157
LP
408 TTY to log to can be changed with
409 <varname>TTYPath=</varname>, described
410 below.</para></listitem>
b47ffcfd
LP
411 </varlistentry>
412
213ba152
LP
413 <varlistentry>
414 <term><varname>MaxLevelStore=</varname></term>
415 <term><varname>MaxLevelSyslog=</varname></term>
416 <term><varname>MaxLevelKMsg=</varname></term>
417 <term><varname>MaxLevelConsole=</varname></term>
40b71e89 418 <term><varname>MaxLevelWall=</varname></term>
213ba152
LP
419
420 <listitem><para>Controls the maximum
421 log level of messages that are stored
40b71e89
ST
422 on disk, forwarded to syslog, kmsg,
423 the console or wall (if that is
424 enabled, see above). As argument,
425 takes one of
213ba152
LP
426 <literal>emerg</literal>,
427 <literal>alert</literal>,
428 <literal>crit</literal>,
429 <literal>err</literal>,
430 <literal>warning</literal>,
431 <literal>notice</literal>,
432 <literal>info</literal>,
433 <literal>debug</literal> or integer
434 values in the range of 0..7 (corresponding
435 to the same levels). Messages equal or below
436 the log level specified are
437 stored/forwarded, messages above are
438 dropped. Defaults to
439 <literal>debug</literal> for
440 <varname>MaxLevelStore=</varname> and
441 <varname>MaxLevelSyslog=</varname>, to
442 ensure that the all messages are
443 written to disk and forwarded to
444 syslog. Defaults to
445 <literal>notice</literal> for
40b71e89 446 <varname>MaxLevelKMsg=</varname>,
213ba152 447 <literal>info</literal> for
40b71e89
ST
448 <varname>MaxLevelConsole=</varname> and
449 <literal>emerg</literal> for
450 <varname>MaxLevelWall=</varname>.</para></listitem>
213ba152
LP
451 </varlistentry>
452
0d9243f0
LP
453 <varlistentry>
454 <term><varname>TTYPath=</varname></term>
455
456 <listitem><para>Change the console TTY
457 to use if
458 <varname>ForwardToConsole=yes</varname>
459 is used. Defaults to
460 <filename>/dev/console</filename>.</para></listitem>
461 </varlistentry>
462
b47ffcfd
LP
463 </variablelist>
464
465 </refsect1>
466
467 <refsect1>
468 <title>See Also</title>
469 <para>
470 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
01cf0ca8 471 <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
169c4f65 472 <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
ffa16db0 473 <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
5f9cfd4c 474 <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
b47ffcfd
LP
475 </para>
476 </refsect1>
477
478</refentry>