Logging and Monitoring in Cisco NFVI
Cisco VIM uses a combination of open source tools to collect and monitor the Cisco OpenStack services including Elasticsearch, Logstash, and the Kibana (ELK) dashboard. OpenStack services that are tracked by ELK include:
-
MariaDB—A relational database management system based on MySQL. All the OpenStack components store their data in MariaDB.
-
HAProxy—HAProxy is a free open source software that provides a high-availability load balancer, and proxy server for TCP and HTTP-based applications that spreads requests across multiple servers.
-
Keystone—Keystone is an OpenStack project that provides identity, token, catalog, and policy services for use specifically by projects in the OpenStack.
-
Glance—An OpenStack project that allows you to upload and discover data assets meant for use with other services.
-
Neutron—An OpenStack project that provides network connectivity between interface devices, such as vNICs, managed by other OpenStack services, such as Nova.
-
Nova—An OpenStack project designed to provide massively scalable, on demand, self-service access to compute resources.
-
HTTPD—The Apache HTTP Server Project, an effort to develop and maintain an open-source HTTP server.
-
Cinder—An OpenStack block storage service designed to present storage resources to end users that are consumed by the OpenStack compute project (Nova).
-
Memcached—A general purpose distributed memory caching system.
-
CloudPulse—Is an OpenStack tool that checks the health of the cloud. CloudPulse includes operator and endpoint tests.
-
Heat—The main OpenStack Orchestration program. Heat implements an orchestration engine to launch multiple composite cloud applications based on text file templates.
-
Other OpenStack services—RabbitMQ, Ceph, Open vSwitch, Linux bridge, Neutron VTS (optional), and others.
-
VMTP—Integrated control and data plane log for testing the cloud.
-
NFVbench—Network performance benchmarking tool.
A Logstash forwarder container resides on each control, compute, and storage nodes. They forward logs to the Logstash server residing on the management node. The following figure shows a high-level schematic of the Logstash service assurance architecture.
The Logstash flow includes:
-
The Logstash forwarder verifies the identity of the Logstash server running on the management node and sends the logs from all the compute, controller, and storage nodes to the Logstash server.
-
Logstash extracts the relevant data from the forwarded logs using the custom grok filters and makes it available to Elasticsearch.
-
Elasticsearch stores the data, indexes it, and supports extremely fast queries against a large amount of log data.
-
Kibana visualizes the data in Elasticsearch using a custom dashboard with REST API calls to Elasticsearch.