Announcing remote_syslog2: aggregate text log files with one dependency-free binary - Papertrail Blog

The revolution will be verbosely {,b}logged

Announcing remote_syslog2: aggregate text log files with one dependency-free binary

Posted by Troy Davis on

We’re pleased to announce a new daemon for transmitting log messages
from text log files to Papertrail: remote_syslog2. remote_syslog2 replaces its predecessor, remote_syslog, and provides 2 major improvements:

  • no dependencies, so setup is painless. We rewrote the daemon in
    Go so it doesn’t require Ruby or any other VM.
    While we love the Ruby language, we love dependency-free apps a lot more.The tarball contains a single binary. “Installation” is simply copying
    that file and an optional configuration file. remote_syslog2 runs on
    almost any modern Unix with a working C library.
  • less code (read: potential idiosyncrasies) between the daemon and
    the OS
    . Most of this daemon’s work is file or network I/O. Because
    Go’s libraries are closer to direct mappings to the corresponding libc
    calls, they’re less likely to introduce bugs or implementation idiosyncrasies.Those which do occur are generally easier to reproduce and diagnose,
    since any two systems are much closer to identical. In contrast, the
    older remote_syslog has a known TLS bug that we believe was introduced
    by a dependency (rather than in remote_syslog itself), but which was
    effectively impossible to reproduce consistently enough to diagnose.

We’ll continue to support the older remote_syslog, so there’s no pressure
to upgrade. For new environments, we strongly recommend
remote_syslog2. To learn more or download a release tarball, visit the README.