This document describes an Abiquo Monitoring Cluster which runs the Abiquo Watchtower monitoring system in high availability in an Abiquo Distributed HA Cluster environment. For more details of the Abiquo Watchtower monitoring system, see Configure VM monitoring and metrics
The Abiquo monitoring cluster has monitoring components that communicate with RabbitMQ.
Monitoring cluster components
Component | Description |
HAproxy | Balancing across all Watchtower (Emmett) and KairosDB instances. |
Emmett | Abiquo Watchtower component that manages metrics for Abiquo. |
KairosDB | Fast scalable time series database used by Abiquo Watchtower. |
Cassandra | Distributed, wide column store, NoSQL database management system designed to handle large amounts of data. |
Delorean | Abiquo Watchtower component that evaluates alarms and alerts. |
Monitoring cluster description
Each monitoring node runs HAproxy and Keepalived with a virtual IP to create a highly available load balancer. HAproxy listens on port 36639/tcp to balance across all Emmett instances, which listen on port 36638/tcp, and KairosDB instances. The virtual IP will be active on one node at a time only. If a node fails, Keepalived will switch to another node.
To access Watchtower (Emmett), the Abiquo API and Remote Services will use the virtual IP. In a high-availability configuration, Emmett also uses the virtual IP to access KairosDB.
Each monitoring node runs all the Watchtower components:
abiquo-emmett
abiquo-delorean
kairosdb
cassandra service
Cassandra is configured as one cluster with 3 monitoring nodes, with the replication factor set to 3, so all nodes have the same data.
The Watchtower MySQL database is on the Datanode server, together with the other Abiquo databases.
All monitoring nodes can be in the same physical datacenter, so the data replication is faster. Each node will hold the same data, so if one of the nodes fails, there will be an exact copy on the other ones.
With the Watchtower MySQL database on the central database server, it is easier to configure the Emmett and Delorean database server because it will point to the central Datanode.