blob: d7caea83cce6018be4d8b6a1eaba63c403b917c2 [file] [log] [blame] [raw]
<?xml version='1.0'?> <!--*-nxml-*-->
<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of systemd.
Copyright 2010 Lennart Poettering
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
systemd is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="journald.conf">
<refentryinfo>
<title>journald.conf</title>
<productname>systemd</productname>
<authorgroup>
<author>
<contrib>Developer</contrib>
<firstname>Lennart</firstname>
<surname>Poettering</surname>
<email>lennart@poettering.net</email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>journald.conf</refentrytitle>
<manvolnum>5</manvolnum>
</refmeta>
<refnamediv>
<refname>journald.conf</refname>
<refpurpose>Journal service configuration file</refpurpose>
</refnamediv>
<refsynopsisdiv>
<para><filename>/etc/systemd/journald.conf</filename></para>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>This files configures various parameters of the
systemd journal service
<citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>All options are configured in the
<literal>[Journal]</literal> section:</para>
<variablelist>
<varlistentry>
<term><varname>Compress=</varname></term>
<listitem><para>Takes a boolean
value. If enabled (the default) data
objects that shall be stored in the
journal and are larger than a certain
threshold are compressed with the XZ
compression algorithm before they are
written to the file
system.</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
limit. Defaults to 100 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>SystemMinFileSize=</varname></term>
<term><varname>RuntimeMaxUse=</varname></term>
<term><varname>RuntimeKeepFree=</varname></term>
<term><varname>RuntimeMaxFileSize=</varname></term>
<term><varname>RuntimeMinFileSize=</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. <varname>SystemMaxUse=</varname>
and <varname>RuntimeMaxUse=</varname>
control how much disk space the
journal may use up at
maximum. Defaults to 10% of the size
of the respective file
system. <varname>SystemKeepFree=</varname>
and
<varname>RuntimeKeepFree=</varname>
control how much disk space the
journal shall always leave free for
other uses if less than the disk space
configured in
<varname>SystemMaxUse=</varname> and
<varname>RuntimeMaxUse=</varname> is
available. Defaults to 5% of the size
of the respective file
system. <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. <varname>SystemMinFileSize=</varname>
and
<varname>RuntimeMinFileSize=</varname>
control how large individual journal
files grow at minimum. Defaults to
64K. Specify values in bytes or use
K, M, G, T, P, E as units for the
specified sizes. Note that size limits
are enforced synchronously to journal
files as they are extended, and need
no explicit rotation step triggered by
time.</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>. If
forwarding to the kernel log buffer and
<varname>ImportKernel=</varname> is
enabled at the same time care is taken
to avoid logging loops. It is safe to
use these options in combination.
</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>
<varlistentry>
<term><varname>ImportKernel=</varname></term>
<listitem><para>Controls whether
kernel log messages shall be stored in
the journal. Takes a boolean argument
and defaults to disabled. Note that
currently only one userspace service
can read kernel messages at a time,
which means that kernel log message
reading might get corrupted if it
is enabled in more than one service,
for example in both the journal and a
traditional syslog service.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>Storage=</varname></term>
<listitem><para>Controls where to
store journal data. One of
<literal>volatile</literal>,
<literal>persistent</literal>,
<literal>auto</literal> and
<literal>none</literal>. If
<literal>volatile</literal> journal
log data will be stored only in
memory, i.e. below the
<filename>/run/log/journal</filename>
hierarchy (which is created if
needed). If
<literal>persistent</literal> data will
be stored preferably on disk,
i.e. below the
<filename>/var/log/journal</filename>
hierarchy (which is created if
needed), with a fallback to
<filename>/run/log/journal</filename>
(which is created if needed), during
early boot and if the disk is not
writable. <literal>auto</literal> is
similar to
<literal>persistent</literal> but the
directory
<filename>/var/log/journal</filename>
is not created if needed, so that its
existence controls where log data
goes. <literal>none</literal> turns
off all storage, all log data received
will be dropped. Forwarding to other
targets, such as the console, the
kernel log buffer or a syslog daemon
will still work however. Defaults to
<literal>auto</literal>.</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.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>