Embedded syslog-ng: BMW i3 all-electric car

While most people know syslog-ng as a central syslog server, there is another use, which is less known but most likely has a lot larger installed base. It is syslog-ng embedded. Tens of millions of Kindle e-readers were sold around the world, all of them run syslog-ng. And now I found another interesting use: syslog-ng running on the BMW i3 all-electric car.

A few weeks ago I ran into a blog post, sharing the good news: BMW is complying with the GPL. The blog post recounts how BMW shared the sources of the applications they use with the author of the blog on a DVD disk. Luckily, the author uploaded the content of the DVD to GitHub. Browsing the directories, I have found that syslog-ng is also included among the open source applications. It is version 3.4, so it is quite old, but still almost a decade newer than the version included on the Kindle (version 1.6).

Looking at other files in the repository, I have found that BMW is using an SH4 CPU to run syslog-ng. This is the first time I have heard about this CPU in relation to syslog-ng, which is further proof that syslog-ng was designed with easy portability in mind.

Next to the syslog-ng source archive, there are two configuration files and an init script collected in another tgz file. The configuration files are based on the Debian syslog-ng.conf and differ only in the destination used, local file or network. None of the brand new features of syslog-ng are in use. On the other hand, they make heavy use of content-based filtering and complex filters using Boolean operators, a major strength of syslog-ng right from the beginning.

If you want to learn more about syslog-ng, visit https://www.syslog-ng.com/. If you need help or would share your embedded syslog-ng use case, there are many ways to contact us: https://www.syslog-ng.com/contact-sales/

If you happen to be in San Francisco for the Red Hat Summit (27-29 June), there will be a syslog-ng meetup, where you can talk to syslog-ng author Balázs Scheidler.

Related Content