= Mercury
== What is Mercury ?
Mercury is a syslog forwarder.
== Why another one ?
the main goals are :
- providing isolation between sources, and between destinations
- providing loading/unloading conf without restart
- providing FIFO support for software with file-only logging
- outputing only rfc5424 message
- if you use a log aggregator, all the filters and complex-dispatching will run on the aggregator not the source host
- if you have lots of vms, containers, jails, chroot, you may need a lightweight forwarder
== configuration
=== rules
- Each configuration block is a specific file.
- Each configuration block is a json serialization in a file.
- There is two kinds of drivers :
input driver
andoutput driver
- The only globally mandatories keys are :
"id"
and"driver"
- The key
"id"
is the name of a configuration block - The key
"driver"
is the used driver for a configuration block - An
instance
is aconfiguration block
with anid
and adriver
- An
output instance
is aconfiguration block
with anid
and adriver
using anoutput driver
- The key
"output"
is mandatory forinput drivers
- The key
"output"
is a list of"id"
ofoutput instance
=== i_devlog
driver
- type : input driver
- arguments :
socket
- optional
- default :
"/dev/log"
- meaning : the name of the datagram unix socket to listen to
=== i_krnlog
driver
- type : input driver
- arguments :
- none
=== i_devlog
driver
- type : input driver
- arguments :
tick
- optional
- default :
"300"
- meaning : seconds between two health report about mercury
=== i_fifo
driver
- type : input driver
- arguments :
file
- mandatory
- meaning : name of the local file where the log are stored
appname
- mandatory
- meaning : application name of any new message
priority
- mandatory
- meaning :
"facility.level"
of any new message
=== i_tailfile
driver
- type : input driver
- arguments :
file
- mandatory
- meaning : name of the local file where the log are stored
appname
- mandatory
- meaning : application name of any new message
priority
- mandatory
- meaning :
"facility.level"
of any new message
=== o_appendfile
driver
- type : input driver
- arguments :
file
- mandatory
- meaning : name of the local file where the log are stored
=== o_tcp5424
driver
- type : input driver
- arguments :
host
- mandatory
- meaning :
"hostname:port"
of the destination
=== o_tls5424
driver
- type : input driver
- arguments :
host
- mandatory
- meaning :
"hostname:port"
of the destination