Log messages contain information about the events happening on the hosts. Monitoring system events is essential for security and system health monitoring reasons.
The original syslog protocol separates messages based on the priority of the message and the facility sending the message. These two parameters alone are often inadequate to consistently classify messages, as many applications might use the same facility, and the facility itself is not even included in the log message. To make things worse, many log messages contain unimportant information. The syslog-ng application helps you to select only the really interesting messages, and forward them to a central server.
Company policies or other regulations often require log messages to be archived. Storing the important messages in a central location greatly simplifies this process.
This section lists the most recent changes of syslog-ng Open Source Edition (syslog-ng OSE).
New template function: filter()
From version 3.30, the syslog-ng OSE application supports using the filter() template function, which runs the filter expression on each element of a given list, and returns only those list elements that meet the requirements of the filter expression.
New option for systemd-journal() source: namespace()
From version 3.30, the syslog-ng OSE application supports using the namespace() option for the systemd-journal() source, which works exactly the same way as the respective option of the Journalctl command line tool.
Local timezone STD format supported for %z format element in date-parser()
From version 3.30, the syslog-ng OSE application supports using the local timezone STD format for the %z format element of date-parser().
New parser: panos-parser()
From version 3.29, the syslog-ng OSE application supports the panos-parser() parser as SCL.
New PCRE flag: dupnames
From version 3.29, the syslog-ng OSE application supports using the dupnames flag to be used in PCRE expressions, allowing duplicate names for named subpatterns.
Support for the proxy() option in HTTP-based destinations
From version 3.28, the syslog-ng OSE application supports using the proxy() option in HTTP-based destinations.
New template function: map()
From version 3.28, the syslog-ng OSE application supports the map() template function.
Load balancing support
From syslog-ng OSE version 3.28, you can load balance your logs between multiple destinations.
New destinations: sumologic-http() and sumologic-syslog()
From version 3.27, the syslog-ng OSE application can send logs to Sumo Logic through the sumologic-http() and sumologic-syslog() destinations.
New rewrite function: set-facility()
From version 3.27, the syslog-ng OSE application supports using the set-facility() rewrite function to change the syslog facility associated with the message.
New parameter: ca-dir()
From syslog-ng OSE version 3.27, you can use the ca-dir() parameter for the tls() option for the network() source to set a bundled CA-file for peer-verification.
From syslog-ng OSE version 3.27, three new macros are available:
Arrow syntax support (Java and Python options)
From version 3.27, syslog-ng OSE supports the "arrow" syntax for declaring custom Python and Java options in your configuration.
The syslog-ng application is used worldwide by companies and institutions who collect and manage the logs of several hosts, and want to store them in a centralized, organized way. Using syslog-ng is particularly advantageous for:
Internet Service Providers
Financial institutions and companies requiring policy compliance
Server, web, and application hosting companies
Wide area network (WAN) operators
Server farm administrators.
The syslog-ng Open Source Edition (syslog-ng OSE) application is highly portable and is known to run on a wide range of hardware architectures (x86, x86_64, SUN Sparc, PowerPC 32 and 64, Alpha) and operating systems, including Linux, BSD, Solaris, IBM AIX, HP-UX, Mac OS X, Cygwin, and others.
The source code of syslog-ng Open Source Edition is released under the GPLv2 license and is available on GitHub.
See the Downloads page for binary packages.