Vitrage Use Cases¶
Add Nova Instance¶
 
- Nova datasource Driver queries all Nova instances, or gets a message bus notification about a new Nova instance 
- Nova datasource Driver sends corresponding events to the Entity Queue 
- The Entity Processor polls the Entity Queue and gets the new Nova Instance event 
- The Entity Processor passes the event to the Nova Instance Transformer, which returns a Vertex with the instance data, with an edge to the host Vertex in the graph 
- The Entity Processor adds the new vertex and edge to the Graph 
 
Add Aodh Alarm¶
 
- Aodh Driver queries all Aodh alarms 
- Aodh Driver sends corresponding events to the Entity Queue 
- The Entity Processor polls the Entity Queue and gets the Aodh Alarm event, for example threshold alarm on Instance-1 CPU 
- The Entity Processor passes the event to the Aodh Alarm Transformer, which returns a Vertex with the alarm data, with an edge to the instance Vertex 
- The Entity Processor adds the new vertex and edge to the Graph 
 
Nagios Alarm Causes Deduced Alarm¶
 
- (steps 1-4) Nagios datasource driver pushes a nagios alarm on a switch to the Entity Queue, which is converted by Nagios Transformer to a vertex and inserted to the Graph 
- The Evaluator is notified about a new Vertex (Nagios switch alarm) that was added to the graph 
- The Evaluator performs its calculations and deduces that alarms should be triggered on every instance on every host attached to this switch 
- The Evaluator pushes alarms to the Entity Queue 
- The graph is updated with these new alarms 
- The graph writes to the message bus that new alarms were created 
- Aodh Notifier creates new alarm definitions in Aodh, and sets their states to “alarm” 
 
Create RCA Insights¶
 
- The Evaluator is notified of a new alarm Alarm-X. 
- The Evaluator evaluates the templates and the Graph, and decides that there is a root cause relation between Alarm-X and Alarm-Y. It adds a “causes” edge to the Graph 
 
Note that in future versions the graph with RCA information may become more complex, for example:
 
