All Projects → okumin → Influent

okumin / Influent

Licence: apache-2.0
A Fluentd server running on the JVM

Programming Languages

java
68154 projects - #9 most used programming language

Labels

Projects that are alternatives of or similar to Influent

fluency
High throughput data ingestion logger to Fluentd, AWS S3 and Treasure Data
Stars: ✭ 135 (+400%)
Mutual labels:  fluentd
Ansible Elk
📊 Ansible playbook for setting up an ELK/EFK stack and clients.
Stars: ✭ 284 (+951.85%)
Mutual labels:  fluentd
Presentations
📊Presentations from the CNCF community to share and reuse
Stars: ✭ 566 (+1996.3%)
Mutual labels:  fluentd
fluent-plugin-cloudwatch-ingest
Alternative to ryotarai/fluent-plugin-cloudwatch-logs for ingesting AWS Cloudwatch logs via fluentd
Stars: ✭ 11 (-59.26%)
Mutual labels:  fluentd
Aws Fluent Plugin Kinesis
Fluent Plugin for Amazon Kinesis
Stars: ✭ 272 (+907.41%)
Mutual labels:  fluentd
Fluent Logger Golang
A structured logger for Fluentd (Golang)
Stars: ✭ 294 (+988.89%)
Mutual labels:  fluentd
ansible-fluentd
Provision fluentd log collector
Stars: ✭ 20 (-25.93%)
Mutual labels:  fluentd
Fluentd
Log shipping mechanism for Deis Workflow
Stars: ✭ 10 (-62.96%)
Mutual labels:  fluentd
Fluent Plugin S3
Amazon S3 input and output plugin for Fluentd
Stars: ✭ 276 (+922.22%)
Mutual labels:  fluentd
Fluentd Ui
Web UI for Fluentd
Stars: ✭ 546 (+1922.22%)
Mutual labels:  fluentd
rack-fluentd-logger
Rack middleware to send traffic logs to Fluentd
Stars: ✭ 21 (-22.22%)
Mutual labels:  fluentd
Fluent Plugin Kafka
Kafka input and output plugin for Fluentd
Stars: ✭ 268 (+892.59%)
Mutual labels:  fluentd
Fluent Logger Python
A structured logger for Fluentd (Python)
Stars: ✭ 364 (+1248.15%)
Mutual labels:  fluentd
fluent-plugin-multiprocess
Multiprocess agent plugin for Fluentd
Stars: ✭ 42 (+55.56%)
Mutual labels:  fluentd
Loghouse
Ready to use log management solution for Kubernetes storing data in ClickHouse and providing web UI.
Stars: ✭ 805 (+2881.48%)
Mutual labels:  fluentd
fluent-plugin-webhdfs
Hadoop WebHDFS output plugin for Fluentd
Stars: ✭ 57 (+111.11%)
Mutual labels:  fluentd
Elk Kubernetes
This repo shows how to configure complete EFK stack on top of Kubernetes
Stars: ✭ 294 (+988.89%)
Mutual labels:  fluentd
Led
LED ( Logs Explorer for Docker ) is a tool used for visualizing and exploring docker container logs
Stars: ✭ 13 (-51.85%)
Mutual labels:  fluentd
Fluentd Sidecar Injector
Webhook server for kubernetes admission webhook to inject fluentd as sidecar
Stars: ✭ 22 (-18.52%)
Mutual labels:  fluentd
Fluentd Docker Image
Docker image for Fluentd
Stars: ✭ 383 (+1318.52%)
Mutual labels:  fluentd

Influent

Build Status Maven Central javadoc

Influent is a library to implement a Fluentd's forward server on the JVM.

Protocol

influent.forward.ForwardServer is almost compatible with Forward Protocol Specification v1.

This is the protocol for Fluentd's forward plugin.

Influent is a server implementation, so behaves as like in_forward.

There are some features that Influent does not support now. See also the TODO section.

Advantages over Fluentd

There are some reasons why Influent is developed.

Java integration

Influent enables users to handle Fluentd's events by Java. This means that they can use directly their domain logic written in Java or Java client APIs for some middleware.

High performance

JVM has high performance and Java has good thread API and IO API. Influent makes it possible to upgrade performance for some applications.

TODO

  • handshake phase implementation
  • CompressedPackedForward mode implementation
  • TLS support
  • load test and performance improvement
  • Scala API

Usage

Dependency

Maven

<dependency>
    <groupId>com.okumin</groupId>
    <artifactId>influent-java</artifactId>
    <version>0.3.0</version>
</dependency>

How to use

Give ForwardServer the callback function that receives EventStream. If you want to write EventStreams to stdout,

// The callback function
ForwardCallback callback = ForwardCallback.ofSyncConsumer(
  stream -> System.out.println(stream),
  Executors.newFixedThreadPool(1)
);

// Constructs a new server
int port = 24224;
ForwardServer server = new ForwardServer
  .Builder(callback)
  .localAddress(port)
  .build();

// Starts the server on a new thread
server.start();

Thread.sleep(60 * 1000);

// ForwardServer#shutdown returns a CompletableFuture
CompletableFuture<Void> stopping = server.shutdown();
// The future will be completed when the server is terminated
stopping.get();

Execute the above code, and send a message by fluent-cat command.

$ echo '{"foo": "bar", "scores": [33, 4]}' | fluent-cat mofu

The received EventStream is written to stdout.

EventStream(Tag(mofu), [EventEntry(2016-11-13T13:10:59Z,{"foo":"bar","scores":[33,4]})])
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].