Replace supported admonitions with rst directives
[docs.git] / docs / developer-guide / cardinal_-opendaylight-monitoring-as-a-service.rst
1 Cardinal: OpenDaylight Monitoring as a Service
2 ==============================================
3
4 Overview
5 --------
6
7 Cardinal (OpenDaylight Monitoring as a Service) enables OpenDaylight and
8 the underlying software defined network to be remotely monitored by
9 deployed Network Management Systems (NMS) or Analytics suite. In the
10 Boron release, Cardinal adds:
11
12 1. OpenDaylight MIB.
13
14 2. Enable ODL diagnostics/monitoring to be exposed across SNMP (v2c, v3)
15    and REST north-bound.
16
17 3. Extend ODL System health, Karaf parameter and feature info, ODL
18    plugin scalability and network parameters.
19
20 4. Support autonomous notifications (SNMP Traps).
21
22 Cardinal Architecture
23 ---------------------
24
25 The Cardinal architecture can be found at the below link:
26
27 https://wiki.opendaylight.org/images/8/89/Cardinal-ODL_Monitoring_as_a_Service_V2.pdf
28
29 Key APIs and Interfaces
30 -----------------------
31
32 There are 2 main APIs for requesting snmpget request of the Karaf info
33 and System info. To expose these APIs, it assumes that you already have
34 the ``odl-cardinal`` and ``odl-restconf`` features installed. You can do
35 that by entering the following at the Karaf console:
36
37 ::
38
39     feature:install odl-cardinal
40     feature:install odl-restconf-all
41
42 System Info APIs
43 ~~~~~~~~~~~~~~~~
44
45 Open the REST interface and using the basic authentication, execute REST
46 APIs for system info as:
47
48 ::
49
50     http://localhost:8181/restconf/operational/cardinal:CardinalSystemInfo/
51
52 You should get the response code of the same as 200 OK with the
53 following output as:
54
55 ::
56
57     {
58       "CardinalSystemInfo": {
59         "odlSystemMemUsage": " 9",
60         "odlSystemSysInfo": " OpenDaylight Node Information",
61         "odlSystemOdlUptime": " 00:29",
62         "odlSystemCpuUsage": " 271",
63         "odlSystemHostAddress": " Address of the Host should come up"
64       }
65     }
66
67 Karaf Info APIs
68 ~~~~~~~~~~~~~~~
69
70 Open the REST interface and using the basic authentication, execute REST
71 APIs for system info as:
72
73 ::
74
75     http://localhost:8181/restconf/operational/cardinal-karaf:CardinalKarafInfo/
76
77 You should get the response code of the same as 200 OK with the
78 following output as:
79
80 ::
81
82       {
83       "CardinalKarafInfo": {
84         "odlKarafBundleListActive1": " org.ops4j.pax.url.mvn_2.4.5 [1]",
85         "odlKarafBundleListActive2": " org.ops4j.pax.url.wrap_2.4.5 [2]",
86         "odlKarafBundleListActive3": " org.ops4j.pax.logging.pax-logging-api_1.8.4 [3]",
87         "odlKarafBundleListActive4": " org.ops4j.pax.logging.pax-logging-service_1.8.4 [4]",
88         "odlKarafBundleListActive5": " org.apache.karaf.service.guard_3.0.6 [5]",
89         "odlKarafBundleListActive6": " org.apache.felix.configadmin_1.8.4 [6]",
90         "odlKarafBundleListActive7": " org.apache.felix.fileinstall_3.5.2 [7]",
91         "odlKarafBundleListActive8": " org.objectweb.asm.all_5.0.3 [8]",
92         "odlKarafBundleListActive9": " org.apache.aries.util_1.1.1 [9]",
93         "odlKarafBundleListActive10": " org.apache.aries.proxy.api_1.0.1 [10]",
94         "odlKarafBundleListInstalled1": " org.ops4j.pax.url.mvn_2.4.5 [1]",
95         "odlKarafBundleListInstalled2": " org.ops4j.pax.url.wrap_2.4.5 [2]",
96         "odlKarafBundleListInstalled3": " org.ops4j.pax.logging.pax-logging-api_1.8.4 [3]",
97         "odlKarafBundleListInstalled4": " org.ops4j.pax.logging.pax-logging-service_1.8.4 [4]",
98         "odlKarafBundleListInstalled5": " org.apache.karaf.service.guard_3.0.6 [5]",
99         "odlKarafFeatureListInstalled1": " config",
100         "odlKarafFeatureListInstalled2": " region",
101         "odlKarafFeatureListInstalled3": " package",
102         "odlKarafFeatureListInstalled4": " http",
103         "odlKarafFeatureListInstalled5": " war",
104         "odlKarafFeatureListInstalled6": " kar",
105         "odlKarafFeatureListInstalled7": " ssh",
106         "odlKarafFeatureListInstalled8": " management",
107         "odlKarafFeatureListInstalled9": " odl-netty",
108         "odlKarafFeatureListInstalled10": " odl-lmax",
109         "odlKarafBundleListResolved1": " org.ops4j.pax.url.mvn_2.4.5 [1]",
110         "odlKarafBundleListResolved2": " org.ops4j.pax.url.wrap_2.4.5 [2]",
111         "odlKarafBundleListResolved3": " org.ops4j.pax.logging.pax-logging-api_1.8.4 [3]",
112         "odlKarafBundleListResolved4": " org.ops4j.pax.logging.pax-logging-service_1.8.4 [4]",
113         "odlKarafBundleListResolved5": " org.apache.karaf.service.guard_3.0.6 [5]",
114         "odlKarafFeatureListUnInstalled1": " aries-annotation",
115         "odlKarafFeatureListUnInstalled2": " wrapper",
116         "odlKarafFeatureListUnInstalled3": " service-wrapper",
117         "odlKarafFeatureListUnInstalled4": " obr",
118         "odlKarafFeatureListUnInstalled5": " http-whiteboard",
119         "odlKarafFeatureListUnInstalled6": " jetty",
120         "odlKarafFeatureListUnInstalled7": " webconsole",
121         "odlKarafFeatureListUnInstalled8": " scheduler",
122         "odlKarafFeatureListUnInstalled9": " eventadmin",
123         "odlKarafFeatureListUnInstalled10": " jasypt-encryption"
124       }
125     }
126