syslog-ng — syslog-ng system logger application
The syslog-ng OSE 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 OSE process with the specified POSIX capability flags.
--no-capsoption is not set,syslog-ng OSE has been compiled with the
--enable-linux-capscompile option, and the host supports CAP_SYSLOG, syslog-ng OSE 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 OSE 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 OSE configuration file. The following modules are loaded by default: affile, afprog, afsocket, afuser, basicfuncs, csvparser, dbparser, syslogformat, afsql, system-source. Available only in syslog-ng Open Source Edition 3.3 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 OSE starts from the current directory (
$CWD) so it can create core files (normally, syslog-ng OSE 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 Open Source Edition 3.3 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 OSE 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 Open Source Edition 3.3 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 OSE can use, including the main syslog-ng OSE thread. Note that certain operations in syslog-ng OSE can use threads that are not limited by this option. This setting has effect only when syslog-ng OSE is running in multithreaded mode. Available only in syslog-ng Open Source Edition 3.3 and later. See The syslog-ng Open Source Edition 3.13 Administrator Guide for details.