Vitrage Use Cases

Add Nova Instance

_images/add_nova_instance_flow.png
  1. Nova datasource Driver queries all Nova instances, or gets a message bus notification about a new Nova instance
  2. Nova datasource Driver sends corresponding events to the Entity Queue
  3. The Entity Processor polls the Entity Queue and gets the new Nova Instance event
  4. 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
  5. The Entity Processor adds the new vertex and edge to the Graph
_images/add_nova_instance_graph.png

Add Aodh Alarm

_images/add_aodh_alarm_flow.png
  1. Aodh Driver queries all Aodh alarms
  2. Aodh Driver sends corresponding events to the Entity Queue
  3. The Entity Processor polls the Entity Queue and gets the Aodh Alarm event, for example threshold alarm on Instance-1 CPU
  4. 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
  5. The Entity Processor adds the new vertex and edge to the Graph
_images/add_aodh_alarm_graph.png

Nagios Alarm Causes Deduced Alarm

_images/nagios_causes_deduced_flow.png
  1. (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
  2. The Evaluator is notified about a new Vertex (Nagios switch alarm) that was added to the graph
  3. The Evaluator performs its calculations and deduces that alarms should be triggered on every instance on every host attached to this switch
  4. The Evaluator pushes alarms to the Entity Queue
  5. The graph is updated with these new alarms
  6. The graph writes to the message bus that new alarms were created
  7. Aodh Notifier creates new alarm definitions in Aodh, and sets their states to “alarm”
_images/nagios_causes_deduced_graph.png

Create RCA Insights

_images/rca_flow.png
  1. The Evaluator is notified of a new alarm Alarm-X.
  2. 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
_images/rca_graph.png

Note that in future versions the graph with RCA information may become more complex, for example:

_images/complex_rca_graph.png