diff --git a/README.md b/README.md index 8f2be40..3c1feb2 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,73 @@ # syslog-bulk-uploader -Utility to send a bunch of syslog records in text file to syslog server +Syslog-bulk-uploader is non-interactive utility designed to read syslog records from one or more files and send them +to remote syslog server. The format of syslog records in input files is: + + + +Field separator is one or more space (ASCII 32) or tab (ASCII 9) characters. +All whitespace characters in the _message_ field will be interpreted as part of the message, not as separators. + +Fields of the syslog record are: +
+
timestamp
+
in format YYYY-MM-DD HH:MM:SS
+
facility
+
one of syslog facility strings: *kern, user, mail, daemon, auth, syslog, lpr, news, uucp, clock, authpriv, ftp, ntp, logaudit, logalert, cron, local0, local1, local2, local3, local4, local5, local6, local7*
+
severity
+
one of syslog severity strings: *emergency, alert, critical, error, warning, notice, informational, debug*
+
source
+
IP address or host name of message source
+
message
+
the text of the message itself
+
+ +## Command line + +General invocation is: + + syslog-bulk-uploader [option]... [file]... + +Option is one of the following: + +
+
-h --help
+
display help message, then exit
+
-v --version
+
display version information, then exit
+
-m --mps num
+
send messages at specified rate per second; default, if not specified, is 1000
+
-d --dest dest
+
destination host name
+
-p --port arg
+
destination port; default, if not specified, is 514
+
[-f --files] filename
+
one or more input files; option name (-f or --file) is optional, i.e. all non-named arguments will be interpreted as filenames
+
+ +If more than one input file is specified on the command line, syslog-bulk-uploader will send contents of each one in the order specified. + +## Building from source + +### Dependencies +In order to build syslog-bulk-uploader from source, you will need to have a couple of dependencies pre-installed on your system: + +* [CMake](http://www.cmake.org) as the build system +* Any recent C++ compiler supported by CMake on your platform (GCC, Clang, Visual C++, etc) +* boost-date-time library +* boost-filesystem library +* boost-system library +* boost-thread library +* boost-program-options library +* `a2x` executable (part of [AsciiDoc](http://www.methods.co.nz/asciidoc), required to build man page) + +### Building +Once you have all the pre-requisites: + + git clone git@github.com:zmarko/syslog-bulk-uploader.git + cd syslog-bulk-uploader/build + cmake .. + make && make install + +### Installers +During the build it is also possible to build installer packages. Supported installers at this time are: +**RPM**, **DEB** and plain **.tar.gz** archive.