I want to accumulate logs on a central server. Typing appropriate keywords into Google takes me to all sorts of sophisticated tools like fluentd and elk - but I don't want to aggregate the logs and provide analytics, I only want to get them off the origin server as quickly, efficiently and reliably as possible.
Piping the stream output through logger would give me the ability to transfer the data as syslog - but that means UDP (not reliable) and I can't see how to de-multiplex the data from multiple servers at the log host.
Piping the data via netcat makes it easier to use TCP so it should be possible to build some sort of high availability capability and this has less overhead than sending each log entry as an http request, but this feels a little ad hoc and too minimalist.
Writing the logs to an NFS share has a lot going for it apart from the security aspect - the origin the log entries has too much control over the log file. And, since nfs4 is not an option, high availability is difficult.
Has anyone got a better robust and efficient solution?
(The logs all originate from applications on Linux / a single log entry may be multi-line)