Welcome to Monasca’s Documentation!¶
The monitoring requirements in OpenStack environments are vast, varied, and highly complex. Monasca’s project mission is to provide a monitoring-as-a-service solution that is multi-tenant, highly scalable, performant, and fault-tolerant. Monasca provides an extensible platform for advanced monitoring that can be used by both operators and tenants to gain operational insights about their infrastructure and applications.
Monasca uses REST APIs for high-speed metrics, logs processing and querying. It integrates a streaming alarm engine, a notification engine and an aggregation engine.
The use cases you can implement with Monasca are very diverse. Monasca follows a micro-services architecture, with several services split across multiple repositories. Each module is designed to provide a discrete service in the overall monitoring solution and can be deployed or omitted according to operators/customers needs.
Architecture¶
The following illustration provides an overview of Monasca’s metrics pipeline and the interaction of the involved components. For information on Monasca’s log pipeline, refer to this wiki page.
Repositories¶
monasca-api: RESTful API for metrics, alarms, and notifications.
monasca-agent: Agent for retrieving metrics data.
monasca-persister: Writes metrics and alarm state transitions to a time-series database.
monasca-thresh: Thresholding engine for computing thresholds on metrics and determining alarm states.
monasca-notification: Pluggable notification engine for consuming alarm state transitions and sending notifications for alarms.
monasca-transform: Aggregation engine based on Apache Spark.
monasca-aggregator: Light-weight metrics aggregator.
Apart from sending requests directly to the API, the following tools are available for interacting with Monasca:
Monasca Client: CLI and Python client.
Horizon plugin: Plugin adding the monitoring panel to Horizon.
Grafana app: Plugin for Grafana to view and configure alarm definitions, alarms, and notifications.
Libraries:
monasca-common: Common code used in the Monasca components.
monasca-statsd: StatsD-compatible library for sending metrics from instrumented applications.
Grafana integration:
monasca-grafana-datasource: Multi-tenant Monasca data source for Grafana.
grafana: Forked version of Grafana 4.1.2 with Keystone authentication added.