Skip to content

Google Summer of Code 2015

Eduardo Silva edited this page Feb 20, 2015 · 34 revisions

The following page describe the project ideas that students can develop with our mentors and community in general. Keep in mind that for us the communication is a fundamental key and when applying you have to be very detailed about how do you plan to approach the project.

Fluentd UI

Difficulty: medium

Tags: C Ruby, Ruby, JSON, Web Services

Description

the Fluentd data collector program is a complete command line service, but there are some cases where a UI is required to handle multiple instances and perform complex configurations. Fluentd support many type of inputs and output data and recent version support specific filters to alter the data content. Having a UI aims to simplify the general overview of the Fluentd service instance.

This project requires a complete implementation of a Fluentd UI based on Ruby language with the following requirements:

  • Handle Fluentd configuration schemas (sources and matches).
  • Import Fluentd library and perform basic administration tasks such as start, stop, restart.
  • Import and Export configuration to different formats (e.g: JSON)
  • Templates support: templates aims to simplify the configuration when connecting with different services sush as Logstash, MongoDB, Elastic search. The number of templates and details will be defined later, the important idea is the engine to handle that capability.
  • On the design part, it must use Twitter Bootstrap and be Mobile friendly.
  • The complete implementation must use Ruby libraries and cannot use sources that are not part of the Ruby ecosystem

C# Logger Library

Fluentd is not just a data collector, it's also a complete ecosystem where different tools for different targets are provided. At the moment there is a missing component that we aim to implement: the C# Logger Library.

The student applying to this project, requires previous knowledge of C# language. The Library must be full documented and contain several examples of the usage to demonstrate it capabilities. The required features are the following:

  • The core library must support the MsgPack format, binary communication with Fluentd is fundamental for performance and network bandwidth reduction reasons.

  • Library must be capable to perform network operations with the main Fluentd service, it needs to support TCP_FASTOPEN options for Linux and offer KeepAlive persisten connection type.

Fluentd Core Profiling stack

Fluentd Cluster mode