Nightly syslog-ng builds for Debian and Ubuntu

The syslog-ng team made nightly builds available for Debian and Ubuntu running on the AMD64 architecture. These packages are not intended to be used in production, they are only for testing fixes and new features.

Before you begin

Normally, I list here the prerequisites of a new feature: which syslog-ng version, and possibly what other software you need to install. This time, I would rather ask you a question. Do you really need nightly builds? As I mentioned earlier, it is not intended to be used in production.

Then what is a nightly build good for? The primary use is testing. New features are added to syslog-ng on a regular basis, which you might want to test. Not on a production machine, but in a testing environment. You might want to test the latest nightly release, because of the bug fixes. You can check if a problem you reported is really fixed. This is a situation, where you might also want to use the given nightly build in production until the next stable version is available.

Of course, nightly builds also have quality control. Thousands of automatic tests run before each new pull request is merged into the git master branch, yet it is easier to run into undetected regressions in nightly builds than in releases.

Installation

The currently supported Debian and Ubuntu releases are listed on the syslog-ng GitHub README: https://github.com/syslog-ng/syslog-ng/blob/master/README.md#nightly-release. You can check the release names on that list as well (very useful for me, for example, as I can only remember version numbers, but not code names).

  1. Download and install the release signing key with the following command:

wget -qO - https://ose-repo.syslog-ng.com/apt/syslog-ng-ose-pub.asc | sudo apt-key add –
  1. Add the repository and replace ubuntu-focal with the release name of Linux running on your host:

echo "deb https://ose-repo.syslog-ng.com/apt/ stable ubuntu-focal" | sudo tee -a /etc/apt/sources.list.d/syslog-ng-ose.list
  1. When you use the “apt-get update” command, you will see a warning message at the end:

Reading package lists... Done
N: Skipping acquire of configured file 'ubuntu-focal/binary-i386/Packages' as repository 'https://ose-repo.syslog-ng.com/apt stable InRelease' doesn't support architecture 'i386'

The nightly repositories only contain AMD64 / x86_64 architecture packages. If you want to get rid of this message, modify syslog-ng-ose.list, and add [arch=amd64]:

deb [arch=amd64] https://ose-repo.syslog-ng.com/apt/ nightly ubuntu-jammy

If you install the syslog-ng meta-package, it will install all sub-packages. You might want to avoid this, as it pulls in all the necessary dependencies for the sub-packages, including Java. The syslog-ng-core package only installs the core of syslog-ng, and you can list all the available sub-packages using:

apt-cache search syslog-ng

For example, if you want to store logs in Elasticsearch, you might want to install the http sub-package:

apt-get install syslog-ng-mod-http

If syslog-ng is not yet installed, it will pull in the syslog-ng-core package and its dependencies as well.

Testing

You can print the version number with some more information, send a test message using logger and check if it arrived successfully:

root@ubi2204:~# syslog-ng -V
syslog-ng 3 (3.37.1.48.ga538b9d)
Config version: 3.35
Installer-Version: 3.37.1.48.ga538b9d
Revision: 3.37.1.48.ga538b9d-snapshot+20220623T232022
Compile-Date: Jun 23 2022 23:20:22
Module-Directory: /usr/lib/syslog-ng/3.37
Module-Path: /usr/lib/syslog-ng/3.37
Include-Path: /usr/share/syslog-ng/include
Available-Modules: pacctformat,timestamp,cryptofuncs,regexp-parser,afsocket,affile,azure-auth-header,rate-limit-filter,http,sdjournal,disk-buffer,afuser,appmodel,json-plugin,cef,pseudofile,hook-commands,linux-kmsg-format,dbparser,system-source,csvparser,afprog,kvformat,confgen,basicfuncs,tags-parser,syslogformat
Enable-Debug: off
Enable-GProf: off
Enable-Memtrace: off
Enable-IPv6: on
Enable-Spoof-Source: on
Enable-TCP-Wrapper: on
Enable-Linux-Caps: on
Enable-Systemd: on
root@ubi2204:~# logger this is a test
root@ubi2204:~# tail -f /var/log/messages
Jun 24 15:42:43 ubi2204 root[4753]: this is a test
root@ubi2204:~#

What is next?

We hope you find the nightly builds useful. Please share your experiences with these packages, we are interested in both your positive and negative reviews.

Finally, let me repeat, these packages are not intended for use in production, they are only for testing new features and bug fixes.


-

If you have questions or comments related to syslog-ng, do not hesitate to contact us. You can reach us by email or even chat with us. For a list of possibilities, check our GitHub page under the “Community” section at https://github.com/syslog-ng/syslog-ng. On Twitter, I am available as @PCzanik.

Related Content