Contrail Analytics Optional Modules
Analytics Optional Components
Contrail analytics is comprised of four building blocks. The last three listed are optional components.
Analytics collector
Analytics alarm
Analytics SNMP
Analytics database
Regardless that the alarm, SNMP, and database analytics roles have not been installed and if installed are disabled, these components show as active when you run the Linux $sudo commands or view in Contrail Command. For more information, see the section “TripleO Provisioning” below.
- Contrail Infrastructure Installed without Optional Analytics Components
- Multi-Nodes Contrail Controller
- Single Node Contrail Controller
Contrail Infrastructure Installed without Optional Analytics Components
Two topologies are considered in this example: multi-nodes or single node.
Multi-nodes | Contrail controller components are split onto three servers (Contrail controller, Contrail analytics, and Contrail analytics database). Only the first two servers are mandatory since Contrail analytics database is an optional component. This type of topology is used in production deployments. |
Single node | This type of topology is used in test deployments. |
Multi-Nodes Contrail Controller
Contrail Controller Node
Following is an example of the Contrail status on the Contrail controller node:
$ sudo contrail-status == Contrail control == control: active nodemgr: active named: active dns: active == Contrail config-database == nodemgr: active zookeeper: active rabbitmq: active cassandra: active == Contrail config == svc-monitor: active nodemgr: active device-manager: active api: active schema: active == Contrail webui == web: active job: active
Contrail Analytics Node (with All Optional Components)
Following is the Contrail status on Contrail analytics node when Contrail analytics SNMP and Contrail analytics alarm have both been deployed:
$ sudo contrail-status Pod Service Original Name Original Version State Id Status analytics api contrail-analytics-api rhel- queens-1910-23 running 62980f3e6479 Up 2 weeks analytics collector contrail-analytics-collector rhel- queens-1910-23 running b777437946c2 Up 2 weeks analytics nodemgr contrail-nodemgr rhel- queens-1910-23 running aeeb744a5b5e Up 2 weeks analytics redis contrail-external-redis rhel- queens-1910-23 running 150b6225bd93 Up 2 weeks analytics-alarm alarm-gen contrail-analytics-alarm-gen rhel- queens-1910-23 running d655146cb8d0 Up 2 weeks analytics-alarm kafka contrail-external-kafka rhel- queens-1910-23 running 8cfa8c7da4bd Up 2 weeks analytics-alarm nodemgr contrail-nodemgr rhel- queens-1910-23 running 685a5f817f0b Up 2 weeks analytics-alarm zookeeper contrail-external-zookeeper rhel- queens-1910-23 running a41dc5658c72 Up 2 weeks analytics-snmp nodemgr contrail-nodemgr rhel- queens-1910-23 running 0afd301ccbd8 Up 2 weeks analytics-snmp snmp-collector contrail-analytics-snmp-collector rhel- queens-1910-23 running 2bde6aa39250 Up 2 weeks analytics-snmp topology contrail-analytics-snmp-topology rhel- queens-1910-23 running a16f983ed162 Up 2 weeks == Contrail analytics == nodemgr: active api: active collector: active == Contrail analytics-alarm == nodemgr: active kafka: active alarm-gen: active == Contrail analytics-snmp == snmp-collector: active nodemgr: active topology: active
Contrail analytics alarm and SNMP are deployed and active.
Contrail Analytics Node (without Analytics Optional Components)
Following is an example of the Contrail status on Contrail analytics node when Contrail analytics SNMP and Contrail analytics alarm have not been deployed:
$ sudo contrail-status Pod Service Original Name Original Version State Id Status analytics api contrail-analytics-api rhel-queens-2005-62 running 489b07cbbbef Up 18 hours analytics collector contrail-analytics-collector rhel-queens-2005-62 running 5da4f99b045f Up 18 hours analytics nodemgr contrail-nodemgr rhel-queens-2005-62 running 28053f64f1bc Up 18 hours analytics provisioner contrail-provisioner rhel-queens-2005-62 running faa8de6d17e4 Up 18 hours analytics redis contrail-external-redis rhel-queens-2005-62 running 3e29dcc475d1 Up 18 hours analytics stunnel contrail-external-stunnel rhel-queens-2005-62 running 11a30f0f5e3b Up 18 hours == Contrail analytics == nodemgr: active api: active collector: active
Only Contrail analytics collector is deployed and active.
Contrail Analytics Database Node
Contrail analytics database is only deployed when the analytics database component is enabled. The following example shows the Contrail status on the Contrail analytics database node:
$ sudo contrail-status Pod Service Original Name Original Version State Id Status database cassandra contrail-external-cassandra rhel-queens-1910- 23 running ec05bd8c34c4 Up 2 weeks database nodemgr contrail-nodemgr rhel-queens-1910- 23 running 25a6c58d5144 Up 2 weeks database query-engine contrail-analytics-query-engine rhel-queens-1910- 23 running f90f7ae16b48 Up 2 weeks == Contrail database == nodemgr: active query-engine: active cassandra: active
Single Node Contrail Controller
Contrail Controller Node (with All Analytics Optional Components)
Following is the Contrail status on Contrail controller node when Contrail analytics SNMP, Contrail analytics alarm, and Contrail analytics database have been deployed:
$ sudo contrail-status Pod Service Original Name Original Version State Id Status analytics api contrail-analytics-api rhel-queens-1912-46 running bf87cc51fb36 Up 8 weeks analytics collector contrail-analytics-collector rhel-queens-1912-46 running 0ae1ca0fb1f2 Up 8 weeks analytics nodemgr contrail-nodemgr rhel-queens-1912-46 running 24e9174056d0 Up 8 weeks analytics redis contrail-external-redis rhel-queens-1912-46 running 9d7135b6b9d8 Up 8 weeks analytics stunnel contrail-external-stunnel rhel-queens-1912-46 running 30d413bad4f1 Up 8 weeks analytics-alarm alarm-gen contrail-analytics-alarm-gen rhel-queens-1912-46 running 2f40aeb42154 Up 8 weeks analytics-alarm kafka contrail-external-kafka rhel-queens-1912-46 running 8cd54b9520af Up 8 weeks analytics-alarm nodemgr contrail-nodemgr rhel-queens-1912-46 running afeadd231273 Up 8 weeks analytics-alarm zookeeper contrail-external-zookeeper rhel-queens-1912-46 running 118b116b2721 Up 8 weeks analytics-snmp nodemgr contrail-nodemgr rhel-queens-1912-46 running f623346fff53 Up 8 weeks analytics-snmp snmp-collector contrail-analytics-snmp-collector rhel-queens-1912-46 running 152b037af72d Up 8 weeks analytics-snmp topology contrail-analytics-snmp-topology rhel-queens-1912-46 running 5226847e74f3 Up 8 weeks config api contrail-controller-config-api rhel-queens-1912-46 running b8ba22697cfe Up 8 weeks config device-manager contrail-controller-config-devicemgr rhel-queens-1912-46 running 29f9b248f850 Up 8 weeks config nodemgr contrail-nodemgr rhel-queens-1912-46 running 2f3f84d5d2b4 Up 8 weeks config schema contrail-controller-config-schema rhel-queens-1912-46 running 334906b962fb Up 8 weeks config svc-monitor contrail-controller-config-svcmonitor rhel-queens-1912-46 running a8581c37f9ab Up 8 weeks config-database cassandra contrail-external-cassandra rhel-queens-1912-46 running e47a3e430fe6 Up 8 weeks config-database nodemgr contrail-nodemgr rhel-queens-1912-46 running 4798399f0ec5 Up 8 weeks config-database rabbitmq contrail-external-rabbitmq rhel-queens-1912-46 running d80a5e8e8801 Up 8 weeks config-database zookeeper contrail-external-zookeeper rhel-queens-1912-46 running b1c430201497 Up 8 weeks control control contrail-controller-control-control rhel-queens-1912-46 running e478128385f7 Up 8 weeks control dns contrail-controller-control-dns rhel-queens-1912-46 running f9752a324d71 Up 8 weeks control named contrail-controller-control-named rhel-queens-1912-46 running 66c992adced5 Up 8 weeks control nodemgr contrail-nodemgr rhel-queens-1912-46 running 3c9a0270ab1a Up 8 weeks database cassandra contrail-external-cassandra rhel-queens-1912-46 running f85ead18fb26 Up 8 weeks database nodemgr contrail-nodemgr rhel-queens-1912-46 running 0d9f471003ea Up 8 weeks database query-engine contrail-analytics-query-engine rhel-queens-1912-46 running 40a092abbccf Up 8 weeks webui job contrail-controller-webui-job rhel-queens-1912-46 running 432f686a8abf Up 8 weeks webui web contrail-controller-webui-web rhel-queens-1912-46 running 4341432ce9a4 Up 8 weeks == Contrail control == control: active nodemgr: active named: active dns: active == Contrail analytics-alarm == nodemgr: active kafka: active alarm-gen: active == Contrail database == nodemgr: active query-engine: active cassandra: active == Contrail analytics == nodemgr: active api: active collector: active == Contrail config-database == nodemgr: active zookeeper: active rabbitmq: active cassandra: active == Contrail webui == web: active job: active == Contrail analytics-snmp == snmp-collector: active nodemgr: active topology: active == Contrail config == svc-monitor: active nodemgr: active device-manager: active api: active schema: active
Contrail database (query), analytics alarm, and SNMP are deployed and active.
Contrail Controller Node (without Analytics Optional Components)
Following is an example of the Contrail status on Contrail controller node when Contrail analytics SNMP, Contrail analytics alarm, and Contrail analytics database have not been deployed:
$ sudo contrail-status Pod Service Original Name Original Version State Id Status analytics api contrail-analytics-api rhel-queens-2005-62 running b1ddca562595 Up 10 hours analytics collector contrail-analytics-collector rhel-queens-2005-62 running f6860911ee16 Up 10 hours analytics nodemgr contrail-nodemgr rhel-queens-2005-62 running 37a0d8744e31 Up 10 hours analytics provisioner contrail-provisioner rhel-queens-2005-62 running e2f9a4605d63 Up 10 hours analytics redis contrail-external-redis rhel-queens-2005-62 running 1d0a193983b0 Up 10 hours analytics stunnel contrail-external-stunnel rhel-queens-2005-62 running 695d61045e63 Up 10 hours config api contrail-controller-config-api rhel-queens-2005-62 running 41eb0caef12d Up 10 hours config device-manager contrail-controller-config-devicemgr rhel-queens-2005-62 running f3158c67d792 Up 10 hours config nodemgr contrail-nodemgr rhel-queens-2005-62 running 4138cc386e69 Up 10 hours config provisioner contrail-provisioner rhel-queens-2005-62 running 45aae86bb41a Up 10 hours config schema contrail-controller-config-schema rhel-queens-2005-62 running 2497392980d0 Up 10 hours config svc-monitor contrail-controller-config-svcmonitor rhel-queens-2005-62 running b2ed20209aa7 Up 10 hours config-database cassandra contrail-external-cassandra rhel-queens-2005-62 running abd3efad8075 Up 10 hours config-database nodemgr contrail-nodemgr rhel-queens-2005-62 running bcc74ecb37cc Up 10 hours config-database provisioner contrail-provisioner rhel-queens-2005-62 running 9de114119be5 Up 10 hours config-database rabbitmq contrail-external-rabbitmq rhel-queens-2005-62 running d623f5d3da79 Up 10 hours config-database zookeeper contrail-external-zookeeper rhel-queens-2005-62 running 2c4f47c2fdc1 Up 10 hours control control contrail-controller-control-control rhel-queens-2005-62 running 56e238791c60 Up 10 hours control dns contrail-controller-control-dns rhel-queens-2005-62 running 6cfc801451f9 Up 10 hours control named contrail-controller-control-named rhel-queens-2005-62 running f033a8bf5b88 Up 10 hours control nodemgr contrail-nodemgr rhel-queens-2005-62 running 7381053ff80f Up 10 hours control provisioner contrail-provisioner rhel-queens-2005-62 running a3851c25f427 Up 10 hours webui job contrail-controller-webui-job rhel-queens-2005-62 running 80cd5c06ff39 Up 10 hours webui web contrail-controller-webui-web rhel-queens-2005-62 running 51a2f164a259 Up 10 hours == Contrail control == control: active nodemgr: active named: active dns: active == Contrail analytics == nodemgr: active api: active collector: active == Contrail config-database == nodemgr: active zookeeper: active rabbitmq: active cassandra: active == Contrail config == svc-monitor: active nodemgr: active device-manager: active api: active schema: active == Contrail webui == web: active job: active
Contrail database (query), analytics alarm, and SNMP are not deployed.
Contrail Web UI
- Web UI with Optional Components
- Web UI without Optional Components
- Analytics Alarm Feature Enabled
- Analytics Alarm Feature Disabled
- Analytics SNMP Feature Enabled
- Analytics SNMP Feature Disabled
- Analytics Database Enabled
- Analytics Database Disabled
Web UI with Optional Components
Figure 2 displays the Contrail Web UI dashboard with all optional analytics components deployed.
A database node is visible in the infrastructure dashboard.
Web UI without Optional Components
Figure 4 displays the Contrail Web UI dashboard without optional analytics components deployed.
No database node is visible in the infrastructure dashboard:
Analytics Alarm Feature Enabled
Figure 6 displays the Monitor > Alarms menu.
Figure 7 displays the Configure > Alarms menu.
Figure 8 displays the dialog box which appears when Global Alarm, next to Logged in User in the upper right, is selected.
Analytics Alarm Feature Disabled
If the alarm analytics component is not deployed, then Contrail Web UI should not display the following alarm references:
Global Alarm (Next to Logged in User)
Monitor > Alarms
Configure > Alarms
There is not an appearance of Global Alarm or Alarms entry in the Monitor menu:
Alarms menu still available in Configure menu.
Analytics SNMP Feature Enabled
Figure 11 displays the Physical Topology option in the Monitor menu.
Analytics SNMP Feature Disabled
If the alarm analytics component is not provisioned, then Contrail Web UI does not display the Physical Topology menu option.
Analytics Database Enabled
If analytics database is provisioned, then Contrail Web UI displays the Query page.
Analytics Database Disabled
If analytics database is not provisioned, then Contrail Web UI should not display the Query page. Query page logo is unavailable to launch Query page.
Tripleo Provisioning
- Multi-Nodes Contrail Controller Topology
- Single Node Contrail Controller Topology
- TripleO Template Update
Multi-Nodes Contrail Controller Topology
In order to enable or disable the Contrail analytics optional components, TripleO templates have to be modified.
In ContrailAnalytics role, ContrailAnalyticsSnmp, and ContrailAnalyticsAlarm resources can be removed:
- OS::TripleO::Services::ContrailAnalytics - OS::TripleO::Services::ContrailAnalyticsSnmp - OS::TripleO::Services::ContrailAnalyticsAlarm
ContrailAnalyticsDatabase role can also be removed (not selected using ContrailAnalyticsDatabaseCount = 0) into a rollout as this role is deploying only ContrailAnalyticsDatabase resource:
- OS::TripleO::Services::ContrailAnalyticsDatabase
ContrailController role is kept unchanged.
Single Node Contrail Controller Topology
In order to enable or disable the Contrail analytics optional components, TripleO templates have to be modified. In ContrailController role, ContrailAnalyticsSnmp, ContrailAnalyticsAlarm, and ContrailAnalyticsDatabase resources can be removed, other contrail resources are kept:
- name: ContrailController - OS::TripleO::Services::ContrailAnalytics - OS::TripleO::Services::ContrailAnalyticsAlarm - OS::TripleO::Services::ContrailAnalyticsDatabase - OS::TripleO::Services::ContrailAnalyticsSnmp - OS::TripleO::Services::ContrailCertmongerUser - OS::TripleO::Services::ContrailConfig - OS::TripleO::Services::ContrailConfigDatabase - OS::TripleO::Services::ContrailControl - OS::TripleO::Services::ContrailWebui
TripleO Template Update
TripleO templates were updated in June 2020 to allow disabling the provisioning of Contrail analytics components.
Earlier Contrail TripleO templates have to be patched in order
to replace docker/services/contrail/contrail-base.yaml
file in which optional analytics component provision is hardcoded:
... ANALYTICS_ALARM_ENABLE: 'False' ANALYTICS_SNMP_ENABLE: 'True' ANALYTICSDB_ENABLE: 'True' ...
Appendix
Contrail Command UI
The disabled roles and charts are visible on the Query page but they are not operational.
Regardless that the alarm, SNMP, and database analytics roles have been disabled, they are still reported by Contrail Command.
The following five charts will always display empty.
The Alarms page displays alarms pulled from the Contrail analytics_alarm
component. When the analytics_alarm
component is disabled, the Alarms page will always display no data.