Insider 2019-04: Tetris; Docker; Podman; python-fetcher

Dear syslog-ng users,

This is the 74th issue of syslog-ng Insider, a monthly newsletter that brings you news related to syslog-ng.


Tetris destination

In this blog post we show you a fun way of using the Python destination of syslog-ng. We will write a Tetris destination. We will use the built-in Tetris implementation of Emacs. The syslog-ng Python destination will connect to an Emacs server. The log messages will be turned into Tetris commands inside Emacs. Using an stdin source, users can interactively feed syslog-ng with messages that will control the Tetris in the end.

A simplified guide to logging Docker to Elasticsearch in 2019 using syslog-ng

This simplified guide shows you how to send logs of containers into Elasticsearch. Although there are several tutorials on logging Docker to Elasticsearch, this one is entirely different, as it uses syslog-ng. You can also visualize your Docker logs on a nice dashboard in Kibana.

Replacing Docker with Podman in the syslog-ng build container

The syslog-ng source code includes a container-based build system. You can use this build system to generate source tarballs (the official syslog-ng release tarball is also generated this way) and to build packages for RHEL 7 as well as different Debian and Ubuntu releases. Although it was originally built around Docker, with the general availability of RHEL 8 is drawing near, I wanted to know how difficult it is to replace Docker with Podman in the syslog-ng build system. Originally I tested this replacement on Fedora Silverblue (Silverblue), then a week later on RHEL 8 Beta. While the syslog-ng build scripts do not support these distributions (yet), the point was to check Podman as a Docker replacement.

The syslog-ng python-fetcher(): collecting load average data

Using python-fetcher() simplifies developing a source driver for syslog-ng even further. You do not have to implement your own event loop, since syslog-ng does it for you. You only need to focus on what information you need and how you (or your code) can fetch it.

In this blog I will show you two examples. The first one is a dead end: it is a project that looked simple at first but turned out to be problematic later on. The second one is simple but still manages to illustrate most features of the python-fetcher.


syslog-ng featured in my sudo talk

One Identity booth



You can watch our past webinars:

Your feedback and news, or tips about the next issue are welcome. To read this newsletter online, visit: