]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/journald.conf.xml
journal: add references to SSKG paper FSS is based on
[thirdparty/systemd.git] / man / journald.conf.xml
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
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
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
19 Lesser General Public License for more details.
20
21 You should have received a copy of the GNU Lesser General Public License
22 along with systemd; If not, see <http://www.gnu.org/licenses/>.
23 -->
24
25 <refentry id="journald.conf">
26 <refentryinfo>
27 <title>journald.conf</title>
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>
41 <refentrytitle>journald.conf</refentrytitle>
42 <manvolnum>5</manvolnum>
43 </refmeta>
44
45 <refnamediv>
46 <refname>journald.conf</refname>
47 <refpurpose>Journal service configuration file</refpurpose>
48 </refnamediv>
49
50 <refsynopsisdiv>
51 <para><filename>/etc/systemd/journald.conf</filename></para>
52 </refsynopsisdiv>
53
54 <refsect1>
55 <title>Description</title>
56
57 <para>This files configures various parameters of the
58 systemd journal service
59 <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
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
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
80 <literal>volatile</literal> journal
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
86 <literal>persistent</literal> data will
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
111 <varlistentry>
112 <term><varname>Compress=</varname></term>
113
114 <listitem><para>Takes a boolean
115 value. If enabled (the default) data
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
124 <varlistentry>
125 <term><varname>Seal=</varname></term>
126
127 <listitem><para>Takes a boolean
128 value. If enabled (the default) and a
129 sealing key is available (as created
130 by
131 <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
132 <option>--setup-keys</option>
133 command), forward secure sealing (FSS)
134 for all persistent journal files is
135 enabled. FSS is based on <ulink
136 url="http://eprint.iacr.org/2013/397">Seekable
137 Sequential Key Generators</ulink> by
138 G. A. Marson and B. Poettering and
139 may be used to protect journal files
140 from unnoticed
141 alteration.</para></listitem>
142 </varlistentry>
143
144 <varlistentry>
145 <term><varname>SplitMode=</varname></term>
146
147 <listitem><para>Controls whether to
148 split up journal files per user. One
149 of <literal>login</literal>,
150 <literal>uid</literal> and
151 <literal>none</literal>. If
152 <literal>login</literal> each logged
153 in user will get his own journal
154 files, but systemd user IDs will log
155 into the system journal. If
156 <literal>uid</literal> any user ID
157 will get his own journal files
158 regardless whether it belongs to a
159 system service or refers to a real
160 logged in user. If
161 <literal>none</literal> journal files
162 are not split up per-user and all
163 messages are stored in the single
164 system journal. Note that splitting
165 up journal files per-user is only
166 available of journals are stored
167 persistently. If journals are stored
168 on volatile storage (see above) only a
169 single journal file for all user IDs
170 is kept. Defaults to
171 <literal>login</literal>.</para></listitem>
172 </varlistentry>
173
174 <varlistentry>
175 <term><varname>RateLimitInterval=</varname></term>
176 <term><varname>RateLimitBurst=</varname></term>
177
178 <listitem><para>Configures the rate
179 limiting that is applied to all
180 messages generated on the system. If
181 in the time interval defined by
182 <varname>RateLimitInterval=</varname>
183 more messages than specified in
184 <varname>RateLimitBurst=</varname> are
185 logged by a service all further
186 messages within the interval are
187 dropped, until the interval is over. A
188 message about the number of dropped
189 messages is generated. This rate
190 limiting is applied per-service, so
191 that two services which log do not
192 interfere with each other's
193 limits. Defaults to 200 messages in
194 10s. The time specification for
195 <varname>RateLimitInterval=</varname>
196 may be specified in the following
197 units: <literal>s</literal>,
198 <literal>min</literal>,
199 <literal>h</literal>,
200 <literal>ms</literal>,
201 <literal>us</literal>. To turn off any
202 kind of rate limiting, set either
203 value to 0.</para></listitem>
204 </varlistentry>
205
206 <varlistentry>
207 <term><varname>SystemMaxUse=</varname></term>
208 <term><varname>SystemKeepFree=</varname></term>
209 <term><varname>SystemMaxFileSize=</varname></term>
210 <term><varname>RuntimeMaxUse=</varname></term>
211 <term><varname>RuntimeKeepFree=</varname></term>
212 <term><varname>RuntimeMaxFileSize=</varname></term>
213
214 <listitem><para>Enforce size limits on
215 the journal files stored. The options
216 prefixed with
217 <literal>System</literal> apply to the
218 journal files when stored on a
219 persistent file system, more
220 specifically
221 <filename>/var/log/journal</filename>. The
222 options prefixed with
223 <literal>Runtime</literal> apply to
224 the journal files when stored on a
225 volatile in-memory file system, more
226 specifically
227 <filename>/run/log/journal</filename>. The
228 former is used only when
229 <filename>/var</filename> is mounted,
230 writable and the directory
231 <filename>/var/log/journal</filename>
232 exists. Otherwise only the latter
233 applies. Note that this means that
234 during early boot and if the
235 administrator disabled persistent
236 logging only the latter options apply,
237 while the former apply if persistent
238 logging is enabled and the system is
239 fully booted
240 up. <varname>SystemMaxUse=</varname>
241 and <varname>RuntimeMaxUse=</varname>
242 control how much disk space the
243 journal may use up at
244 maximum. Defaults to 10% of the size
245 of the respective file
246 system. <varname>SystemKeepFree=</varname>
247 and
248 <varname>RuntimeKeepFree=</varname>
249 control how much disk space the
250 journal shall always leave free for
251 other uses if less than the disk space
252 configured in
253 <varname>SystemMaxUse=</varname> and
254 <varname>RuntimeMaxUse=</varname> is
255 available. Defaults to 15% of the size
256 of the respective file
257 system. <varname>SystemMaxFileSize=</varname>
258 and
259 <varname>RuntimeMaxFileSize=</varname>
260 control how large individual journal
261 files may grow at maximum. This
262 influences the granularity in which
263 disk space is made available through
264 rotation, i.e. deletion of historic
265 data. Defaults to one eighth of the
266 values configured with
267 <varname>SystemMaxUse=</varname> and
268 <varname>RuntimeMaxUse=</varname>, so
269 that usually seven rotated journal
270 files are kept as history. Specify
271 values in bytes or use K, M, G, T, P,
272 E as units for the specified sizes
273 (equal to 1024, 1024²,... bytes).
274 Note that size limits are
275 enforced synchronously to journal
276 files as they are extended, and need
277 no explicit rotation step triggered by
278 time.</para></listitem>
279 </varlistentry>
280
281 <varlistentry>
282 <term><varname>MaxFileSec=</varname></term>
283
284 <listitem><para>The maximum time to
285 store entries in a single journal
286 file, before rotating to the next
287 one. Normally time-based rotation
288 should not be required as size-based
289 rotation with options such as
290 <varname>SystemMaxFileSize=</varname>
291 should be sufficient to ensure that
292 journal files don't grow without
293 bounds. However, to ensure that not
294 too much data is lost at once when old
295 journal files are deleted it might
296 make sense to change this value from
297 the default of one month. Set to 0 to
298 turn off this feature. This setting
299 takes time values which may be
300 suffixed with the units year, month,
301 week, day, h, m to override the
302 default time unit of
303 seconds.</para></listitem>
304 </varlistentry>
305
306 <varlistentry>
307 <term><varname>MaxRetentionSec=</varname></term>
308
309 <listitem><para>The maximum time to
310 store journal entries. This
311 controls whether journal files
312 containing entries older then the
313 specified time span are
314 deleted. Normally time-based deletion
315 of old journal files should not be
316 required as size-based deletion with
317 options such as
318 <varname>SystemMaxUse=</varname>
319 should be sufficient to ensure that
320 journal files don't grow without
321 bounds. However, to enforce data
322 retention policies it might make sense
323 to change this value from the
324 default of 0 (which turns off this
325 feature). This setting also takes
326 time values which may be suffixed with
327 the units year, month, week, day, h, m
328 to override the default time unit of
329 seconds. </para></listitem>
330 </varlistentry>
331
332
333 <varlistentry>
334 <term><varname>SyncIntervalSec=</varname></term>
335
336 <listitem><para>The timeout before syncing journal
337 data to disk. After syncing journal files have
338 OFFLINE state. Default timeout is 5 minutes.
339 </para></listitem>
340 </varlistentry>
341
342 <varlistentry>
343 <term><varname>ForwardToSyslog=</varname></term>
344 <term><varname>ForwardToKMsg=</varname></term>
345 <term><varname>ForwardToConsole=</varname></term>
346
347 <listitem><para>Control whether log
348 messages received by the journal
349 daemon shall be forwarded to a
350 traditional syslog daemon, to the
351 kernel log buffer (kmsg), or to the
352 system console. These options take
353 boolean arguments. If forwarding to
354 syslog is enabled but no syslog daemon
355 is running the respective option has
356 no effect. By default only forwarding
357 to syslog is enabled. These settings
358 may be overridden at boot time with
359 the kernel command line options
360 <literal>systemd.journald.forward_to_syslog=</literal>,
361 <literal>systemd.journald.forward_to_kmsg=</literal>
362 and
363 <literal>systemd.journald.forward_to_console=</literal>.
364 </para></listitem>
365 </varlistentry>
366
367 <varlistentry>
368 <term><varname>MaxLevelStore=</varname></term>
369 <term><varname>MaxLevelSyslog=</varname></term>
370 <term><varname>MaxLevelKMsg=</varname></term>
371 <term><varname>MaxLevelConsole=</varname></term>
372
373 <listitem><para>Controls the maximum
374 log level of messages that are stored
375 on disk, forwarded to syslog, kmsg or
376 the console (if that is enabled, see
377 above). As argument, takes one of
378 <literal>emerg</literal>,
379 <literal>alert</literal>,
380 <literal>crit</literal>,
381 <literal>err</literal>,
382 <literal>warning</literal>,
383 <literal>notice</literal>,
384 <literal>info</literal>,
385 <literal>debug</literal> or integer
386 values in the range of 0..7 (corresponding
387 to the same levels). Messages equal or below
388 the log level specified are
389 stored/forwarded, messages above are
390 dropped. Defaults to
391 <literal>debug</literal> for
392 <varname>MaxLevelStore=</varname> and
393 <varname>MaxLevelSyslog=</varname>, to
394 ensure that the all messages are
395 written to disk and forwarded to
396 syslog. Defaults to
397 <literal>notice</literal> for
398 <varname>MaxLevelKMsg=</varname> and
399 <literal>info</literal> for
400 <varname>MaxLevelConsole=</varname>.</para></listitem>
401 </varlistentry>
402
403 <varlistentry>
404 <term><varname>TTYPath=</varname></term>
405
406 <listitem><para>Change the console TTY
407 to use if
408 <varname>ForwardToConsole=yes</varname>
409 is used. Defaults to
410 <filename>/dev/console</filename>.</para></listitem>
411 </varlistentry>
412
413 </variablelist>
414
415 </refsect1>
416
417 <refsect1>
418 <title>See Also</title>
419 <para>
420 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
421 <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
422 <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
423 <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
424 <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
425 </para>
426 </refsect1>
427
428 </refentry>