syslog-ng — syslog-ng system logger application
The syslog-ng PE application is a flexible and highly scalable system logging application. Typically, syslog-ng is used to manage log messages and implement centralized logging, where the aim is to collect the log messages of several devices on a single, central log server. The different devices - called syslog-ng clients - all run syslog-ng, and collect the log messages from the various applications, files, and other sources. The clients send all important log messages to the remote syslog-ng server, where the server sorts and stores them.
Run syslog-ng PE process with the specified POSIX capability flags.
--no-capsoption is not set, and the host supports CAP_SYSLOG, syslog-ng PE uses the following capabilities: "cap_net_bind_service, cap_net_broadcast, cap_net_raw, cap_dac_read_search, cap_dac_override, cap_chown, cap_fowner=p cap_syslog=ep"
--no-capsoption is not set, and the host does not support CAP_SYSLOG, syslog-ng PE uses the following capabilities: "cap_net_bind_service, cap_net_broadcast, cap_net_raw,cap_dac_read_search, cap_dac_override, cap_chown, cap_fowner=p cap_sys_admin=ep"
/opt/syslog-ng/sbin/syslog-ng -Fv --caps cap_sys_admin,cap_chown,cap_dac_override,cap_net_bind_service,cap_fowner=pi
Note that the capabilities are not case sensitive, the following command is also good: /opt/syslog-ng/sbin/syslog-ng -Fv --caps CAP_SYS_ADMIN,CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_NET_BIND_SERVICE,CAP_FOWNER=pi
For details on the capability flags, see the following man pages:
- --cfgfile <file> or -f <file>
Use the specified configuration file.
- --chroot <dir> or -C <dir>
Change root to the specified directory. The configuration file is read after chrooting so, the configuration file must be available within the chroot. That way it is also possible to reload the syslog-ng configuration after chrooting. However, note that the
--groupoptions are resolved before chrooting.
- --control <file> or -c <file>
Set the location of the syslog-ng control socket. Default value:
- --debug or -d
Start syslog-ng in debug mode.
A comma-separated list of the modules that are loaded automatically. Modules not loaded automatically can be loaded by including the
@module <modulename>statement in the syslog-ng PE configuration file. Available only in syslog-ng Premium Edition 4.1 and later.
Enable syslog-ng to write core files in case of a crash to help support and debugging.
- --fd-limit <number>
Set the minimal number of required file descriptors (fd-s). This sets how many files syslog-ng can keep open simultaneously. Default value:
4096. Note that this does not override the global ulimit setting of the host.
- --foreground or -F
Do not daemonize, run in the foreground. When running in the foreground, syslog-ng PE starts from the current directory (
$CWD) so it can create core files (normally, syslog-ng PE starts from
- --group <group> or -g <group>
Switch to the specified group after initializing the configuration file.
- --help or -h
Display a brief help message.
Display the list and description of the available modules. Note that not all of these modules are loaded automatically, only the ones specified in the --default-modules option. Available only in syslog-ng Premium Edition 4 F1 and later.
Run syslog-ng as root, without capability-support. This is the default behavior. On Linux, it is possible to run syslog-ng as non-root with capability-support if syslog-ng was compiled with the
--enable-linux-capsoption enabled. (Execute syslog-ng --version to display the list of enabled build parameters.)
To run syslog-ng PE with specific capabilities, use the
- --persist-file <persist-file> or -R <persist-file>
Set the path and name of the
syslog-ng.persistfile where the persistent options and data are stored.
- --pidfile <pidfile> or -p <pidfile>
Set path to the PID file where the pid of the main process is stored.
- --preprocess-into <output-file>
After processing the configuration file and resolving included files and variables, write the resulting configuration into the specified output file. Available only in syslog-ng Premium Edition 4 F1 and later.
- --process-mode <mode>
Sets how to run syslog-ng: in the
foreground(mainly used for debugging), in the
backgroundas a daemon, or in
safe-backgroundmode. By default, syslog-ng runs in
safe-backgroundmode. This mode creates a supervisor process called
supervising syslog-ng, that restarts syslog-ng if it crashes.
- --stderr or -e
Log internal messages of syslog-ng to stderr. Mainly used for debugging purposes in conjunction with the
--foregroundoption. If not specified, syslog-ng will log such messages to its internal source.
- --syntax-only or -s
Verify that the configuration file is syntactically correct and exit.
- --user <user> or -u <user>
Switch to the specified user after initializing the configuration file (and optionally chrooting). Note that it is not possible to reload the syslog-ng configuration if the specified user has no privilege to create the
- --verbose or -v
Enable verbose logging used to troubleshoot syslog-ng.
- --version or -V
Display version number and compilation information, and also the list and short description of the available modules. For detailed description of the available modules, see the --module-registry option. Note that not all of these modules are loaded automatically, only the ones specified in the --default-modules option.
Sets the number of worker threads syslog-ng PE can use, including the main syslog-ng PE thread. Note that certain operations in syslog-ng PE can use threads that are not limited by this option. This setting has effect only when syslog-ng PE is running in multithreaded mode. Available only in syslog-ng Premium Edition 4 F1 and later. See The syslog-ng Premium Edition 7 Administrator Guide for details.
Setting default command-line options
You can set default settings for syslog-ng PE — syslog-ng PE will always run with these default command-line parameters. You can specify your default settings in the following files:
/etc/sysconfig/syslog-ng(only for RedHat platforms)
$SYSLOGNG_PREFIX/etc/default/syslog-ng, where $SYSLOGNG_PREFIX is the installation directory of syslog-ng PE. For version 4.0, this is
During startup, syslog-ng PE will automatically use the settings from these files if they exist. You can set the following options:
The number of seconds the init script will wait for syslog-ng PE to shut down properly. If the syslog-ng PE process does not shut down during this period, it is terminated with a SIGKILL signal. Increase this value if you have lots of separate disk-buffer files (for example, to 60 seconds).
A string of additional command-line options for the syslog-ng daemon.