Centinel Proposal
Name
Streaming Data Handler - Centinel (A distributed reliable framework for collection, aggregation and analysis of streaming data)
Repo Name
centinel
Description
The Centinel project aims at providing a distributed, reliable framework for efficiently collecting, aggregating and sinking streaming data across Persistence DB and stream analyzers (example: Graylog, Elastic search, Spark, Hive etc.).
This framework enables SDN applications/services to receive events from multiple streaming sources (example: Syslog, Thrift, Avro, AMQP, Log4j, HTTP/REST etc) and execute actions like network configuration/batch processing/real-time analytics.
Core features of Centinel framework are:
Stream collector - Collecting, aggregating and sinking streaming data
Log Service - Listen log stream events coming from log analyzer
Log Service - Enables user to configure rules (example: alerts, diagnostic, health, dashboard etc.)
Log Service - Performs event processing/analytics
User Interface - Enable set-rule, search, visualize, alert, diagnostic, dashboard etc.
Adaptor - Log analyzer plug-in to Graylog and a generic data-model to extend to other stream analyzers (Logstash etc.)
REST Services - Northbound APIs for Log Service and Steam collector framework
Leverages - TSDR persistence service, data query, purging and elastic search
The following architecure depicts the core components of the Centinel:
Scope
The scope of this project (Centinel for OpenDaylight Beryllium) is as follows:
Flume based framework for efficiently collecting, aggregating, and moving streaming data into different storage destinations like ODL Persistence DB, stream analyzer
Implementation of Log service to listen/processing for log events coming from open source Graylog analyser
Implements GrayLog plugin extending an abstraction layer for log analyzer
Integrated User interface for features provided by "log service"(configure-rules, alerts etc)
Functional overview of features provided by "log service" are give below:
Feature | Details |
---|---|
Streams |
|
Alerts |
|
Search and Analyze |
|
Dashboard |
|
Diagnostic |
|
Health |
|
Resources Committed (developers committed to working)
Sumit Kapoor < sumit.kapoor@tcs.com>
Rajender Joshi <rajender.joshi@tcs.com>
Shreshtha Joshi <Shreshtha.Joshi@tcs.com>
Rattenpal Amandeep <Rattenpal.Amandeep@tcs.com>
Abhishek Abhi <Abhishek.Abhi@tcs.com>
Sunaina Khanna <Sunaina.Khanna@tcsin.com>
Himanshu Yadav <Yadav.Himanshu1@tcs.com>
Swati Tyagi <Tyagi.Swati@tcs.com>
Initial Committers
Sumit Kapoor < sumit.kapoor@tcs.com> <ODL ID: sumitkapoor>
Shreshtha Joshi <Shreshtha.Joshi@tcs.com> <ODL ID: shreshthajoshi>
Rajender Joshi <rajender.joshi@tcs.com> <ODL ID: rajenderjoshi1>
Vendor Neutral
The project is made from scratch, no vendor code, logos nor is anything included.
Meets Board Policy (including IPR)
New Project. No Inbound Code Review required