No commit activity in last 3 years
No release in over 3 years
Plugin allowing recieving log messages via RELP protocol from e.g. syslog
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

~> 0.12.0
~> 0.2
 Project Readme

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.

Gem Version Build Status Coverage Status

Installation

Add this line to your application's Gemfile:

gem 'fluent-plugin-relp'

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.

Usage

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, specify a field name to record relp peer information
  peer_field your_field_for_relp_peer_infomation
  #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
  <ssl_cert>
    cert /path_to/certificate_file
    key /path_to/key_file
    <extra_cert>
      cert /path_to/chain_file
    </extra_cert>
  </ssl_cert>
  #if you need a CA file to verify clients specify this
  ssl_ca_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="your_fluentd_host"
	tls.authMode="name"
	tls.mycert="/path_to/syslog_host_certificate_file"
	tls.myprivkey="/path_to/syslog_host_key_file"
	tls.cacert="/path_to/certificate_authority_file_for_fluentd_host"
	)

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.

Contributing

Before filing a bug check whether you are using latest version AND latest version of Relp library. Bug reports and pull requests are welcome on GitHub at https://github.com/ViaQ/fluent-plugin-relp.

License

The gem is available as open source under the terms of the MIT License.