Contents
Introduction
Aim of Centinel is to assist operators by providing visibility into the OpenDaylight management software defined network ecosystem (network via plugins, apps and infrastructure). To accomplish this, Centinel - Boron aims at a multi phased approach that includes:
- Data Collection: IPFIX, OpenFlow (from ODL-OF Plugin) and SNMP (from ODL-SNMP Plugin)
- Data Analysis: Using Kafka, Storm/Spark, Flume (replace Graylog)
- Analytics Dashboard: Inter-op with DLUX framework and ensure UX/UI (Graphana/Kibana)
- Machine Learning: Leverage Apache Mahout/SparkMlib to enable machine learning based on above analysis
- Additionally from usage-deployment, Embedded installation is proposed (Support for Embedded flume agent. Support for embedded installation of Query engine)
- Framework enhancement -
Enhance Centinel architecture to have two branches
A. Batch processing system(BPS)-BPS comprise of flume, hbase.
B. Real time analytics system(RAS)- RAS comprise of apache strom (Embed and distributed mode) for real time prediction.
In embed mode, storm will be used instead of Graylog server.In distributed mode, user will have both the options for log analysis.
Target Use-Cases
- Bandwidth utilization across WAN link
- Performance monitoring
Release Deliverable
Name | Description |
---|
Collectors | - IPFIX Collector: Collects IPFIX datagrams from Network for further analytic.
- SNMP Collector: Collects data from SNMP plugin.
- OpenFlow Collector: Collects OpenFlow datagrams from Network for further analytic.
|
Embedded installation and Framework enhancement support | - Embedded installation of Flume agent and query engine
- Enhance Centinel architecture and replace Graylog with Storm.
- Support for Distributed and Co-resident (Embedded) mode installation
|
Monitoring and Analytics | - Provides SDN infrastructure (Server, Network ,Application etc) monitoring and analysis
- Dashboard to present Analytics and monitoring data
|
Predictive Analytics | - Machine Learning: Leverage Apache Mahout/SparkMlib to enable machine learning based on above analysis
|
Release Milestones
Milestone | Offset 2 Date | Deliverables |
---|
M1 | 3/24/2016 | Name | Status | Description |
---|
Intent to participate | Completed | Intent to participate in Boron Simultaneous Release | Candidate Release Plan | Completed | Candidate Release Plan |
|
M2 | 5/5/2016 | Name | Status | Description |
---|
Release Plan |
| Final Release Plan | Design document | Completed' | - Design document - Collectors (IPFIX collector, SNMP collector, OpenFlow collector)
- Design document - Monitoring and Analytics.
| Feature(s) | Completed | - IPFIX collector: Implementation of IPFIX collector.
|
|
M3 | 6/2/2016 | Name | Status | Description |
---|
Code skeleton | Completed | Submit skeleton for Enhancement features. | Implementation | Completed | Submit architectural diagrams for the Centinel enhancement features. | Feature(s) | Completed | - Framework Enhancement: Kafka consumer/publisher, Strom topology for real-time data analytics
- Bandwidth utilization across WAN link, Performance monitoring: REST API defined
| Unit Test | Completed | Unit Test development of each module | Integration and System test | Completed | Simple system test on a karaf distribution with the project's recommended features installed |
|
M4 | 6/30/2016 | Name | Status | Description |
---|
API Freeze |
| - REST API from all Centinel Services freeze
| Feature(s) |
| - Enhance Centinel architecture and replace Graylog with Storm.
- Support for Distributed and Co-resident (Embedded) mode installation
- Dashboard to present Analytics and monitoring data
| Unit Test |
| Unit Test development of each module | Integration testing |
| Manual integration testing | System test |
| Run a simple system test on a karaf distribution with the project's recommended features installed on Code Merge | Documentation |
| Create draft documentation of Centinel modules/interfaces |
|
M5 | 8/4/2016 | Name | Status | Description |
---|
Code Freeze |
|
| Documentation |
| - Update Project wiki - User Guide, Installation Guide, Getting Started Guide and Others
- Updated System Test approach and test cases Wiki page
| Feature(s) |
| - Machine Learning (post Network monitoring and Analysis) and Predictive Analytics
- End to End use-cases integration - Bandwidth utilization across WAN link, Performance monitoring
| Unit Test |
| Unit Test development of each module | Integration testing |
| Manual integration testing. | System test |
| Run system test for Centinel |
|
RC0 | TBD | Name | Status | Description |
---|
Deliverable Name |
| Deliverable Description |
|
RC1 | TBD | Name | Status | Description |
---|
Deliverable Name |
| Deliverable Description |
|
RC2 | TBD | Name | Status | Description |
---|
Release Review |
| Release Review Description | Deliverable Name |
| Deliverable Description |
|
Formal Release | TBD | Name | Status | Description |
---|
Deliverable Name |
| Deliverable Description |
|
Externally Consumable APIs
- None Listed. Centinel creates own APIs based upon relevant data required.
Expected Dependencies on Other Projects
None
Expected Incompatibilities with Other Projects
None
Compatibility with Previous Releases
Changed APIs and/or Functionality
- Not applicable. This would be first release of Centinel in OpenDaylight Boron release.
Themes and Priorities
Requests from Other Projects
None Listed
- Java unit and integration tests
Other
See also