RELP input plugin
Plugin for input to fluentd using RELP protocol
this depends on
relp ruby gem which host server-side ruby implementation, available here.
Add this line to your application's Gemfile:
Or install it yourself as:
$ gem install fluent-plugin-relp
just note that you will probably need ruby development libraries installed to do this.
You can also install through
bundler and use
rake test to run unit tests for plugin.
To use the plugin just add tou your fluent.conf file:
<source> @type relp #optionally, specify port on which to start relp server, defaults to 5170 port XXXX #optionally, specify a tag with which to mark messages received over this connection tag your_tag_for_relp #optionally, determine remote IP to bind to, by default binds to all incoming connections bind XX.XX.XX.XX #if you want to use TLS encryption, specify this config string ssl_config /path_to/certificate_file:/path_to/key_file:/path_to/certificate_authority_file </source>
With the above set up your fluentd is ready to accept messages transported by RELP, for example logs
sent by rsyslog's
omrelp module, example of setting up (/etc/rsyslog.conf file):
module(load="omrelp") *.* action(type="omrelp" Target="your_fluentd_host_or_ip" Port="5170_or_yours_set" # Add below part to use SSL encryption tls="on" tls.permittedPeer="SHA1:hash_of_your_certificate_file" tls.authMode="fingerprint" tls.mycert="/path_to/certificate_file" tls.myprivkey="/path_to/key_file" tls.cacert="/path_to/certificate_authority_file" )
make sure you have librelp and rsyslog relp plugin present on your system.
Also you need to make sure that things lige firewall and selinux are set up so they do not block communication on configured port(s) and adress(es).
Additionally, if you have problems estabilishing connection over network, it may help to increase timeouts for socket connection and/or RELP session on clients.
That is all you need to reliably send system logs to remote fluentd instance.
The gem is available as open source under the terms of the MIT License.