mqsinkd

requirements

  1. ruby 1.9+
  2. rubygems bunny

install

> gem install mqsink
>

run

> mqsinkd &

configuration

Base configuration: /etc/mqsink/mqsink.json (hard-coded)

{ "localhost":"0.0.0.0",
    "localport":514,
    "amqp_server":"127.0.0.1",
    "static_queue":"test_queue",
    "mode":"raw",
    "firewall":"on",
    "fw_refresh":"on",
    "fw_file":"/etc/mqsink/acl.conf",
    "debug":"off",
    "classifiers":"/etc/mqsink/classifiers.conf" }

Base configuration: /etc/mqsink/acl.conf

0.0.0.0

Base configuation: /etc/mqsink/classifiers.conf

test_queue [.*]

arguments:

  1. amqp_server : IP address or hostname of the AMQP server
  2. static_queue : name of the static queue (only used in 'raw' mode)
  3. mode : raw | xlate | classify
  4. firewall : on | off
  5. fw_file : contains a list of authorised IP addresses (only used when firewall is active)
  6. fw_refresh : on | off - reload ACL periodically (there is no dynamic counter for it, it just reloads the entire content of the fw_file every 5 packets)
  7. debug : on | off
  8. classifiers : contains a list of regular expressions and associated outbound amqp queue (only used in 'classify' mode)

modes:

  1. raw : mqsinkd writes all authorised input packets to a statically defined queue
  2. xlate : the amqp queue name is enclosed in the message
  3. classify : the amqp queue name is paired with user defined regular expressions and stored in a configuration file