journald.conf.xml revision c305c32580a1d7689a401e8cf673ec7936c12bbe
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe<?xml version='1.0'?> <!--*-nxml-*-->
19d8729755d7f4d9503029a628dacbbdabcd2264wrowe<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe<!--
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe This file is part of systemd.
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe Copyright 2010 Lennart Poettering
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe systemd is free software; you can redistribute it and/or modify it
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe under the terms of the GNU Lesser General Public License as published by
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe the Free Software Foundation; either version 2.1 of the License, or
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe (at your option) any later version.
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe systemd is distributed in the hope that it will be useful, but
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe WITHOUT ANY WARRANTY; without even the implied warranty of
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe Lesser General Public License for more details.
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe You should have received a copy of the GNU Lesser General Public License
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe along with systemd; If not, see <http://www.gnu.org/licenses/>.
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe-->
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
19d8729755d7f4d9503029a628dacbbdabcd2264wrowe<refentry id="journald.conf">
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <refentryinfo>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <title>journald.conf</title>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <productname>systemd</productname>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <authorgroup>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <author>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <contrib>Developer</contrib>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <firstname>Lennart</firstname>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <surname>Poettering</surname>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <email>lennart@poettering.net</email>
9ec65cbae2f760e485a1c54df5b19853688d5c91wrowe </author>
9ec65cbae2f760e485a1c54df5b19853688d5c91wrowe </authorgroup>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe </refentryinfo>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <refmeta>
9ec65cbae2f760e485a1c54df5b19853688d5c91wrowe <refentrytitle>journald.conf</refentrytitle>
9ec65cbae2f760e485a1c54df5b19853688d5c91wrowe <manvolnum>5</manvolnum>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe </refmeta>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
9ec65cbae2f760e485a1c54df5b19853688d5c91wrowe <refnamediv>
56e85d89d42a6980f31b800266649efbed338da3wrowe <refname>journald.conf</refname>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <refpurpose>Journal service configuration file</refpurpose>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe </refnamediv>
4439ba95daf7b82794fe338726790e2dab89d119wrowe
37ad54b8fd2611b7a4f2b269eec3d27ed784a25dwrowe <refsynopsisdiv>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <para><filename>/etc/systemd/journald.conf</filename></para>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe </refsynopsisdiv>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <refsect1>
94b262d3639149df0b02642a9daa6db8bff58577wrowe <title>Description</title>
94b262d3639149df0b02642a9daa6db8bff58577wrowe
94b262d3639149df0b02642a9daa6db8bff58577wrowe <para>This file configures various parameters of the
94b262d3639149df0b02642a9daa6db8bff58577wrowe systemd journal service,
94b262d3639149df0b02642a9daa6db8bff58577wrowe <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
94b262d3639149df0b02642a9daa6db8bff58577wrowe
94b262d3639149df0b02642a9daa6db8bff58577wrowe </refsect1>
94b262d3639149df0b02642a9daa6db8bff58577wrowe
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <refsect1>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <title>Options</title>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <para>All options are configured in the
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <literal>[Journal]</literal> section:</para>
9ec65cbae2f760e485a1c54df5b19853688d5c91wrowe
9ec65cbae2f760e485a1c54df5b19853688d5c91wrowe <variablelist>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <varlistentry>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <term><varname>Storage=</varname></term>
9ec65cbae2f760e485a1c54df5b19853688d5c91wrowe
9ec65cbae2f760e485a1c54df5b19853688d5c91wrowe <listitem><para>Controls where to
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe store journal data. One of
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <literal>volatile</literal>,
5ac28f3fe2417368757f29cf381338357605fd52wrowe <literal>persistent</literal>,
e1ad80c048e29e968221817698529d73098f07a4wrowe <literal>auto</literal> and
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <literal>none</literal>. If
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <literal>volatile</literal>, journal
4439ba95daf7b82794fe338726790e2dab89d119wrowe log data will be stored only in
37ad54b8fd2611b7a4f2b269eec3d27ed784a25dwrowe memory, i.e. below the
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <filename>/run/log/journal</filename>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe hierarchy (which is created if
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe needed). If
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <literal>persistent</literal>, data will
94b262d3639149df0b02642a9daa6db8bff58577wrowe be stored preferably on disk,
94b262d3639149df0b02642a9daa6db8bff58577wrowe i.e. below the
94b262d3639149df0b02642a9daa6db8bff58577wrowe <filename>/var/log/journal</filename>
94b262d3639149df0b02642a9daa6db8bff58577wrowe hierarchy (which is created if
94b262d3639149df0b02642a9daa6db8bff58577wrowe needed), with a fallback to
94b262d3639149df0b02642a9daa6db8bff58577wrowe <filename>/run/log/journal</filename>
94b262d3639149df0b02642a9daa6db8bff58577wrowe (which is created if needed), during
94b262d3639149df0b02642a9daa6db8bff58577wrowe early boot and if the disk is not
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe writable. <literal>auto</literal> is
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe similar to
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <literal>persistent</literal> but the
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe directory
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <filename>/var/log/journal</filename>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe is not created if needed, so that its
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe existence controls where log data
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe goes. <literal>none</literal> turns
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe off all storage, all log data received
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe will be dropped. Forwarding to other
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe targets, such as the console, the
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe kernel log buffer or a syslog daemon
990e1969a428b8844e07aad088df41340cd009d4wrowe will still work however. Defaults to
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <literal>auto</literal>.</para></listitem>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe </varlistentry>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
990e1969a428b8844e07aad088df41340cd009d4wrowe <varlistentry>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <term><varname>Compress=</varname></term>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <listitem><para>Takes a boolean
990e1969a428b8844e07aad088df41340cd009d4wrowe value. If enabled (the default), data
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe objects that shall be stored in the
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe journal and are larger than a certain
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe threshold are compressed with the XZ
990e1969a428b8844e07aad088df41340cd009d4wrowe compression algorithm before they are
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe written to the file
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe system.</para></listitem>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe </varlistentry>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <varlistentry>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe <term><varname>Seal=</varname></term>
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe
990e1969a428b8844e07aad088df41340cd009d4wrowe <listitem><para>Takes a boolean
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe value. If enabled (the default), and a
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe sealing key is available (as created
4439ba95daf7b82794fe338726790e2dab89d119wrowe by
4439ba95daf7b82794fe338726790e2dab89d119wrowe <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
8c8173f49dd7122e10636b3d20ae841551bd0b43wrowe <option>--setup-keys</option>
4439ba95daf7b82794fe338726790e2dab89d119wrowe command), Forward Secure Sealing (FSS)
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe for all persistent journal files is
e222f356e5328e9e4e91054ac080888d34ac5ea4wrowe enabled. FSS is based on <ulink
url="https://eprint.iacr.org/2013/397">Seekable
Sequential Key Generators</ulink> by
G. A. Marson and B. Poettering
(doi:10.1007/978-3-642-40203-6_7)
and may be used to protect journal files
from unnoticed alteration.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>SplitMode=</varname></term>
<listitem><para>Controls whether to
split up journal files per user. One
of <literal>login</literal>,
<literal>uid</literal> and
<literal>none</literal>. If
<literal>login</literal>, each logged-in
user will get his own journal
files, but systemd user IDs will log
into the system journal. If
<literal>uid</literal>, any user ID
will get his own journal files
regardless of whether it belongs to a
system service or refers to a real
logged in user. If
<literal>none</literal>, journal files
are not split up by user and all
messages are instead stored in the single
system journal. Note that splitting
up journal files by user is only
available for journals stored
persistently. If journals are stored
on volatile storage (see above), only a
single journal file for all user IDs
is kept. Defaults to
<literal>login</literal>.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>RateLimitInterval=</varname></term>
<term><varname>RateLimitBurst=</varname></term>
<listitem><para>Configures the rate
limiting that is applied to all
messages generated on the system. If,
in the time interval defined by
<varname>RateLimitInterval=</varname>,
more messages than specified in
<varname>RateLimitBurst=</varname> are
logged by a service, all further
messages within the interval are
dropped until the interval is over. A
message about the number of dropped
messages is generated. This rate
limiting is applied per-service, so
that two services which log do not
interfere with each other's
limits. Defaults to 200 messages in
10s. The time specification for
<varname>RateLimitInterval=</varname>
may be specified in the following
units: <literal>s</literal>,
<literal>min</literal>,
<literal>h</literal>,
<literal>ms</literal>,
<literal>us</literal>. To turn off any
kind of rate limiting, set either
value to 0.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>SystemMaxUse=</varname></term>
<term><varname>SystemKeepFree=</varname></term>
<term><varname>SystemMaxFileSize=</varname></term>
<term><varname>RuntimeMaxUse=</varname></term>
<term><varname>RuntimeKeepFree=</varname></term>
<term><varname>RuntimeMaxFileSize=</varname></term>
<listitem><para>Enforce size limits on
the journal files stored. The options
prefixed with
<literal>System</literal> apply to the
journal files when stored on a
persistent file system, more
specifically
<filename>/var/log/journal</filename>. The
options prefixed with
<literal>Runtime</literal> apply to
the journal files when stored on a
volatile in-memory file system, more
specifically
<filename>/run/log/journal</filename>. The
former is used only when
<filename>/var</filename> is mounted,
writable, and the directory
<filename>/var/log/journal</filename>
exists. Otherwise, only the latter
applies. Note that this means that
during early boot and if the
administrator disabled persistent
logging, only the latter options apply,
while the former apply if persistent
logging is enabled and the system is
fully booted
up. <command>journalctl</command> and
<command>systemd-journald</command>
ignore all files with names not ending
with <literal>.journal</literal> or
<literal>.journal~</literal>, so only
such files, located in the appropriate
directories, are taken into account
when calculating current disk usage.
</para>
<para><varname>SystemMaxUse=</varname>
and <varname>RuntimeMaxUse=</varname>
control how much disk space the
journal may use up at maximum.
<varname>SystemKeepFree=</varname> and
<varname>RuntimeKeepFree=</varname>
control how much disk space
systemd-journald shall leave free for
other uses.
<command>systemd-journald</command>
will respect both limits and use the
smaller of the two values.</para>
<para>The first pair defaults to 10%
and the second to 15% of the size of
the respective file system. If the
file system is nearly full and either
<varname>SystemKeepFree=</varname> or
<varname>RuntimeKeepFree=</varname> is
violated when systemd-journald is
started, the value will be raised to
percentage that is actually free. This
means that if before there was enough
free space and journal files were
created, and subsequently something
else causes the file system to fill
up, journald will stop using more
space, but it'll will not removing
existing files to go reduce footprint
either.</para>
<para><varname>SystemMaxFileSize=</varname>
and
<varname>RuntimeMaxFileSize=</varname>
control how large individual journal
files may grow at maximum. This
influences the granularity in which
disk space is made available through
rotation, i.e. deletion of historic
data. Defaults to one eighth of the
values configured with
<varname>SystemMaxUse=</varname> and
<varname>RuntimeMaxUse=</varname>, so
that usually seven rotated journal
files are kept as history. Specify
values in bytes or use K, M, G, T, P,
E as units for the specified sizes
(equal to 1024, 1024²,... bytes).
Note that size limits are enforced
synchronously when journal files are
extended, and no explicit rotation
step triggered by time is
needed.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>MaxFileSec=</varname></term>
<listitem><para>The maximum time to
store entries in a single journal
file before rotating to the next
one. Normally, time-based rotation
should not be required as size-based
rotation with options such as
<varname>SystemMaxFileSize=</varname>
should be sufficient to ensure that
journal files do not grow without
bounds. However, to ensure that not
too much data is lost at once when old
journal files are deleted, it might
make sense to change this value from
the default of one month. Set to 0 to
turn off this feature. This setting
takes time values which may be
suffixed with the units
<literal>year</literal>,
<literal>month</literal>,
<literal>week</literal>, <literal>day</literal>,
<literal>h</literal> or <literal>m</literal>
to override the default time unit of
seconds.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>MaxRetentionSec=</varname></term>
<listitem><para>The maximum time to
store journal entries. This
controls whether journal files
containing entries older then the
specified time span are
deleted. Normally, time-based deletion
of old journal files should not be
required as size-based deletion with
options such as
<varname>SystemMaxUse=</varname>
should be sufficient to ensure that
journal files do not grow without
bounds. However, to enforce data
retention policies, it might make sense
to change this value from the
default of 0 (which turns off this
feature). This setting also takes
time values which may be suffixed with
the units <literal>year</literal>,
<literal>month</literal>,
<literal>week</literal>, <literal>day</literal>,
<literal>h</literal> or <literal> m</literal>
to override the default time unit of
seconds.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>SyncIntervalSec=</varname></term>
<listitem><para>The timeout before
synchronizing journal files to
disk. After syncing, journal files are
placed in the OFFLINE state. Note that
syncing is unconditionally done
immediately after a log message of
priority CRIT, ALERT or EMERG has been
logged. This setting hence applies
only to messages of the levels ERR,
WARNING, NOTICE, INFO, DEBUG. The
default timeout is 5 minutes.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>ForwardToSyslog=</varname></term>
<term><varname>ForwardToKMsg=</varname></term>
<term><varname>ForwardToConsole=</varname></term>
<listitem><para>Control whether log
messages received by the journal
daemon shall be forwarded to a
traditional syslog daemon, to the
kernel log buffer (kmsg), or to the
system console. These options take
boolean arguments. If forwarding to
syslog is enabled but no syslog daemon
is running, the respective option has
no effect. By default, only forwarding
to syslog is enabled. These settings
may be overridden at boot time with
the kernel command line options
<literal>systemd.journald.forward_to_syslog=</literal>,
<literal>systemd.journald.forward_to_kmsg=</literal>
and
<literal>systemd.journald.forward_to_console=</literal>.
When forwarding to the console, the
TTY to log to can be changed
with <varname>TTYPath=</varname>,
described below.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>MaxLevelStore=</varname></term>
<term><varname>MaxLevelSyslog=</varname></term>
<term><varname>MaxLevelKMsg=</varname></term>
<term><varname>MaxLevelConsole=</varname></term>
<listitem><para>Controls the maximum
log level of messages that are stored
on disk, forwarded to syslog, kmsg or
the console (if that is enabled, see
above). As argument, takes one of
<literal>emerg</literal>,
<literal>alert</literal>,
<literal>crit</literal>,
<literal>err</literal>,
<literal>warning</literal>,
<literal>notice</literal>,
<literal>info</literal>,
<literal>debug</literal> or integer
values in the range of 0..7 (corresponding
to the same levels). Messages equal or below
the log level specified are
stored/forwarded, messages above are
dropped. Defaults to
<literal>debug</literal> for
<varname>MaxLevelStore=</varname> and
<varname>MaxLevelSyslog=</varname>, to
ensure that the all messages are
written to disk and forwarded to
syslog. Defaults to
<literal>notice</literal> for
<varname>MaxLevelKMsg=</varname> and
<literal>info</literal> for
<varname>MaxLevelConsole=</varname>.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>TTYPath=</varname></term>
<listitem><para>Change the console TTY
to use if
<varname>ForwardToConsole=yes</varname>
is used. Defaults to
<filename>/dev/console</filename>.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>