Centinel | Example Use case

Centinel
A framework for monitoring and predictive analytics of
SDN ecosystem
Presented by:
Sumit Kapoor
Abhishek A
www.opendaylight.org
Centinel | Example Use case
User Actions
1. Log In: User logs into the Centinel with required credentials
using following URL:Localhost:8181/index.html
 Use Case :
Detection of flapping of switch links
very frequently If multiple applications start reacting
to the link-up down events at a very
high rate, the possibility of system
becoming unstable is very high. So,
selective Openflow must be
dampened before escalating the same
to the applications layer
2. Set detaild for dependencies:
a) Select Centinel sub-tree present in left side and go to Settings
tab.
b) Provide IP and port details for shown dependencies.
2. Set Rule:
a) Go to Rule tab and create Rule with title and description.
a) Configure flow rule on the stream to filter the logs accordingly
i.e.
bundle_name=org.opendaylight.openflow-plugin
3. Set Alarm Condition: Configure alarm condition e.g.
message-count-rule such that if 10 messages comes on a stream
( i.e openflow-plugin) in last 1 minute with an alert is generated.
4. Create Dashboard: Configure dashboard for stream and
alert widgets.
www.opendaylight.org
2
Centinel | Example Use case(Contd..)
Technical Details :
1. Data collection: a) Syslog collector of Centinel listens for
Syslog messages on TCP socket 3335. Syslog messages parsing
is done as per RFC 3164 and 5424. b) Openflow plugin is
 Use Case :
configured to send link up down log messages to TCP port
Detection of flapping of switch links
exposed by Syslog collector.
very frequently -
2. Data Persistence : Syslog data is persisted to hbase using
Storage RPC which intently implements flume client. syslog data
If multiple applications start reacting
is also sent to Graylog. Storage and Query RPCs are generic and
to the link-up down events at a very
can be used for all type of data models.
high rate, the possibility of system
3. Rules configuration : CRUD operations on Stream/Alert rules
becoming unstable is very high. So,
are saved onto MD-SAL data-store (Both Config and Operational)
selective Openflow must be
and communicated to Graylog. Dashboard Rules are stored into
dampened before escalating the same
MD-SAL.
to the applications layer
4. Event Processing : Graylog plugin process events from
Graylog server and send it to LAAS module. Event handler
module receives Events from MD-SAL and process it.
5. Event persistence : Events( Streaming data/ Alarms) are
persisted to hbase using storage API( Supports JSON / AVRO)
www.opendaylight.org
3
Centinel | Example Use case(Contd..)
Technical Details (contd..) :
 Use Case :
6. Data Query : Web UI support data( Streaming data/Alarms
Detection of flapping of switch links
and Dashboard stats) query using Query RPC ( SQL and Lucene )
very frequently -
provided by Stream Handler module.
7. Subscription for Stream and Alert: Events are sent to
If multiple applications start reacting
subscribed application using HTTP post.
to the link-up down events at a very
high rate, the possibility of system
Expected result :
becoming unstable is very high. So,
1. Verify event i.e. Alarm and corresponding stream in Event
selective Openflow must be
page.
dampened before escalating the same
2. Verify Alarm and Stream count in Dashboard.
to the applications layer
3. Also, verify history of this alarms using histogram in
dashboard.
www.opendaylight.org
4
Centinel | Backup slides to present stated
use case – Configuring dependencies
www.opendaylight.org
5
Centinel | Backup slides to present
stated use case – Creating a Rule
www.opendaylight.org
6
Centinel | Rule created
www.opendaylight.org
7
Centinel |Adding a Flow Rule
www.opendaylight.org
8
Centinel |Flow Rule added
www.opendaylight.org
9
Centinel |Creating an Alarm Condition
www.opendaylight.org
10
Centinel | Adding an Alarm Condition
(Contd..)
www.opendaylight.org
11
Centinel | Alarm Condition added
www.opendaylight.org
12
Centinel | Creating a Dashboard
www.opendaylight.org
13
Centinel | Dashboard created
www.opendaylight.org
14
Centinel | Adding widgets to
Dashboard
www.opendaylight.org
15
Centinel | Widget added
www.opendaylight.org
16
Centinel | Starting the Rule
www.opendaylight.org
17
Centinel | Rule started
www.opendaylight.org
18
Centinel | Counter widget updates
www.opendaylight.org
19
Centinel | Events (Querying the
records )
www.opendaylight.org
20
Centinel | Events (Querying the
records – A sample record)
www.opendaylight.org
21
Centinel | Events (An alarm)
www.opendaylight.org
22
Thanks
www.opendaylight.org