Monitoring
Monitorimg
Any complicated system need to be monitored.
LMA (Logging Monitoring Alerting) Fuel Plugins provides complex logging, monitoring
and alerting system for Mirantis Openstack. LMA use open-source products and can be also integrated with currently existing monitoring systems.
In this manual will be described complex configuration include 4 plugins:
- ElasticSearch/Kibana – Log Search, Filtration and Analysis
- LMA Collector – LMA Toolchain Data Aggregation Client
- InfluxDB/Grafana – Time-Series Event Recording and Analysis
- LMA Nagios – Alerting for LMA Infrastructure
(more details about MOS fuel plugins: https://www.mirantis.com/products/openstack-drivers-and-plugins/fuel-plugins/)
It is possible to use LMA-related plugins separately but the are designed to be used in complex. In this document all examples are from cloud where all 4 plugins are installed and configured.
LMA DataFlow
LMA is complex system and contains the follwing parts:
- Collectd - data collecting http://collectd.org/
- Heka - data collecting and aggregation http://hekad.readthedocs.org
- InluxDB - non-SQL database for time-based data, in LMA it is is used for charts in Grafana https://influxdata.com/
- ElasticSearch - non-SQL database, in LMA it is used to save logs. https://www.elastic.co/
- Grafana - Graph and dashboard builder http://grafana.org/
- Kibana - Analytics and visualization platform https://www.elastic.co/products/kibana
- Nagios - Monitoring system https://www.nagios.org/
+--------------------------------+ Grafana dashboard Kibana Dashboard |Node N (compute or controller) | ------------------- ---------------------- | | ^ ^ |* collectd --->---+ | | | | | | +-<- Some data generated locally is looped to-<+ | | | | | | to be aggregated | | | |* hekad <---<---+ | | ^ | | | | | +-------------------------------------------+ | ^ | | +------------->To Aggregator|------>| Heka on aggregator (Controller with VIP) |---+------------+ | | | | | +-------------------------------------------+ | | | | | |to |to |to | | | | | |Influx |ElasticSearch |Nagios | | | +---------------------------|->-------->--- +-------->--|------->------|--->---------->---------->--------------[ InfuxDB ] ^ | | | | | | | | | | | | | +---------------------------|------------------------>--+------->------|--->---------->---------->--------------[ ElasticSearch ]-------------------------------+ | | | +--------------------------------+ | +----------------------------------------[ Nagios ]---> Alerts (e.g. email notifications)
Collectd
Collectd is collecting data, all details about collect are in separate document.
http://wiki.sirmax.noname.com.ua/index.php/Collectd
Heka
Heka is comolex tool so data flow in Heka is described in separate documents and divided on parts
http://wiki.sirmax.noname.com.ua/index.php/Heka_Inputs http://wiki.sirmax.noname.com.ua/index.php/Heka_Splitters http://wiki.sirmax.noname.com.ua/index.php/Heka_Decoders http://wiki.sirmax.noname.com.ua/index.php/Heka_Debugging http://wiki.sirmax.noname.com.ua/index.php/Heka_Filter_afd_example