No commit activity in last 3 years
No release in over 3 years
Input plugin for Fluent, reads from TCP socket
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

>= 0.9.2
>= 3.0.8

Runtime

>= 0.10.58, < 2
 Project Readme

fluent-plugin-tcp_socket_client , a plugin for Fluentd

Build Status

A fluentd input plugin for read TCP socket.

Installation

Add this line to your application's Gemfile:

gem 'fluent-plugin-tcp_socket_client'

And then execute:

$ bundle

Or install it yourself as:

$ gem install fluent-plugin-tcp_socket_client --no-document

Requirements

  • Ruby 2.1 or later
  • fluentd v0.12 or later

Usage

Input plugin (@type 'tcp_socket_client')

Read events from TCP sockets.

<source>
  @type tcp_socket_client
  @log_level debug
  server localhost
  port 3000
  tag prueba
  interval 1s
  format text
</source>

Common parameters

interval

Interval for retry connect to socket.

interval 5s

server

Socket server name or IP address.

server localhost

port

Socket port.

port 3000

format

Default: json

Format of the message (json|text|ltsv)

format json

emit_messages

Default: 10

Batch size for emit messages.

emit_messages 10

Example

<system>
  workers 1
</system>
<source>
  @type tcp_socket_client
  server localhost
  port 3000
  tag prueba
  interval 1s
  format json
</source>
<match prueba>
  @type stdout
</match>

In another terminal run:

require 'socket'
puts "Starting the Server..................."
server = TCPServer.open(3000) # Server would listen on port 3000
loop{                         # Servers run forever
   client_connection = server.accept # Establish client connect connection
   client_connection.puts('{"key":"val"}')
   client_connection.close      # Disconnect from the client
}