JOURNAL-UPLOAD.CONF(5)
π journal-upload.conf(5) β the config files for the journal upload service, bestie
okay so this page is all about journal-upload.conf and journal-upload.conf.d β the configuration files for the journal upload service. yes queen, it's a manual page, but it's also your new bestie. let's get into it π
β¨ NAME β¨
journal-upload.conf, journal-upload.conf.d β Configuration files for the journal upload service π«Ά
π¦ SYNOPSIS π¦
/etc/systemd/journal-upload.conf
/run/systemd/journal-upload.conf
/usr/lib/systemd/journal-upload.conf
/etc/systemd/journal-upload.conf.d/*.conf
/run/systemd/journal-upload.conf.d/*.conf
/usr/lib/systemd/journal-upload.conf.d/*.conf
like, that's the whole map of where these files live. iconic. π
πΈ DESCRIPTION πΈ
These files configure various parameters of systemd-journal-upload.service(8). If you wanna know the general syntax of these files (the ins and outs of how they're written), go peek at systemd.syntax(7) β it's the grammar guide of the systemd world, no cap π
π CONFIGURATION DIRECTORIES AND PRECEDENCE π
So the default configuration is set during compilation β which means you literally only need a config file when you wanna deviate from those defaults. The main configuration file is loaded from one of the listed directories in order of priority, and only the first file found is used: /etc/systemd/, /run/systemd/, /usr/local/lib/systemd/ [1], /usr/lib/systemd/. The vendor version of the file contains commented out entries showing the defaults, as a lil guide for the administrator β¨
Local overrides can also be created by creating drop-ins, as described below. The main configuration file can also be edited for this purpose (or a copy in /etc/ if it is shipped under /usr/), however using drop-ins for local configuration is recommended over modifications to the main configuration file. like, the drop-in way is the main character way, periodt π
In addition to the main configuration file, drop-in configuration snippets are read from /usr/lib/systemd/*.conf.d/, /usr/local/lib/systemd/*.conf.d/, and /etc/systemd/*.conf.d/. Those drop-ins have higher precedence and override the main configuration file. Files in the *.conf.d/ configuration subdirectories are sorted by their filename in lexicographic order, regardless of in which of the subdirectories they reside. When multiple files specify the same option, for options which accept just a single value, the entry in the file sorted last takes precedence, and for options which accept a list of values, entries are collected as they occur in the sorted files π₯
When packages need to customize the configuration, they can install drop-ins under /usr/. Files in /etc/ are reserved for the local administrator, who may use this logic to override the configuration files installed by vendor packages. Drop-ins have to be used to override package drop-ins, since the main configuration file has lower precedence. It is recommended to prefix all filenames in those subdirectories with a two-digit number and a dash, to simplify the ordering π’
This also defines a concept of drop-in priorities to allow OS vendors to ship drop-ins within a specific range lower than the range used by users. This should lower the risk of package drop-ins overriding accidentally drop-ins defined by users. It is recommended to use the range 10-40 for drop-ins in /usr/ and the range 60-90 for drop-ins in /etc/ and /run/, to make sure that local and transient drop-ins take priority over drop-ins shipped by the OS vendor π
To disable a configuration file supplied by the vendor, the recommended way is to place a symlink to /dev/null in the configuration directory in /etc/, with the same filename as the vendor configuration file. poof, gone, ghosted π»
π OPTIONS π
All options are configured in the [Upload] section β that's the section header, don't forget it bestie π«Ά
URL=β The URL to upload the journal entries to. See the description of--url=option insystemd-journal-upload(8)for the description of possible values. There is no default value, so either this option or the command-line option must be always present to make an upload. like, it's mandatory bestie, you literally can't skip it π
Added in version 232.
ServerKeyFile=β SSL key in PEM format. π
Added in version 232.
ServerCertificateFile=β SSL CA certificate in PEM format. π
Added in version 232.
TrustedCertificateFile=β SSL CA certificate. π€
Added in version 232.
NetworkTimeoutSec=β When network connectivity to the server is lost, this option configures the time to wait for the connectivity to get restored. If the server is not reachable over the network for the configured time,systemd-journal-uploadexits. Takes a value in seconds (or in other time units if suffixed with"ms","min","h", etc). For details, seesystemd.time(7). β³
Added in version 249.
Compression=β Configures compression algorithm to be applied to logs data before sending. Takes a space separated list of compression algorithms, or"no". Supported algorithms are"zstd","xz", or"lz4". Optionally, each algorithm followed by a colon (":") and its compression level, for example"zstd:4". The compression level is expected to be a positive integer. When"no"is specified, no compression algorithm will be applied to data to be sent. This option can be specified multiple times. If an empty string is assigned, then all previous assignments are cleared. Defaults to unset, and all supported compression algorithms with their default compression levels are listed. ποΈ
Example:
Compression=zstd:4 lz4:2
Even when compression is enabled, the initial requests are sent without compression. It becomes effective either if "ForceCompression=" is enabled, or the server response contains "Accept-Encoding" headers with a list of compression algorithms that contains one of the algorithms specified in this option. it's giving β¨negotiationβ¨
Added in version 258.
ForceCompression=β Takes a boolean value, enforces using compression without content encoding negotiation. Defaults to"false". πͺ
Added in version 258.
Header=β Specifies an additional HTTP header to be added to each request to a URL. Takes a pair of header name and value separated with a colon (":"), e.g."Name:Value". Header name can contain alphanumeric values,"_"and"-"symbols additionally. This option may be specified more than once, in which case all listed headers will be set. If the same header name is listed more than once, all its unique values will be concatenated with comma. SettingHeader=to empty string clears all previous assignments. π¨
Example:
Header=HeaderName: HeaderValue
Header=HeaderName: NewValue
Header=HeaderName: HeaderValue
adds "HeaderName" header with "HeaderValue, NewValue" to each HTTP request. look at that deduplication slay π
Added in version 258.
π SEE ALSO π
systemd-journal-upload.service(8), systemd(1), systemd-journald.service(8) β go read these next, bestie, they're the whole friend group π
β NOTES β
- π£π₯π§¨π₯π₯π£ Please note that those configuration files must be available at all times. If
/usr/local/is a separate partition, it may not be available during early boot, and must not be used for configuration. like literally do not do it, this is your warning bestie π
aaaand that's the whole page π«Ά this was brought to you by systemd 261.3, JOURNAL-UPLOAD.CONF(5) β go forth and configure, you absolute icon πβ¨
π¦ where this page comes from
- ubuntu stonking: systemd-journal-remote 261.3-0ubuntu3 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms