amqp: Publish messages using AMQP
The amqp() driver publishes messages using the AMQP (Advanced Message Queuing Protocol). AxoSyslog supports AMQP versions 0.9.1 and 1.0. The AxoSyslog amqp() driver supports persistence, and every available exchange types.
The name-value pairs selected with the value-pairs() option will be sent as AMQP headers, while the body of the AMQP message is empty by default (but you can add custom content using the body() option). Publishing the name-value pairs as headers makes it possible to use the Headers exchange-type and subscribe only to interesting log streams. This solution is more flexible than using the routing-key() option.
For the list of available parameters, see amqp() destination options.
Prerequisites
This feature requires a separate module. Install the axosyslog-mod-amqp package on Debian/Ubuntu, or the axosyslog-amqp package on RHEL and compatible distributions. If the module isn’t installed, AxoSyslog fails to start with an unexpected LL_IDENTIFIER error.
Declaration:
amqp( host("<amqp-server-address>") );Example: Using the amqp() driver
The following example shows the default values of the available options.
destination d_amqp {
amqp(
vhost("/")
host("127.0.0.1")
port(5672)
exchange("syslog")
exchange-type("fanout")
routing-key("")
body("")
persistent(yes)
value-pairs(
scope("selected-macros" "nv-pairs" "sdata")
)
);
};