Jump to: navigation, search

Vitrage/Blueprints/templates

< Vitrage‎ | Blueprints
Revision as of 11:05, 11 October 2015 by Ifat Afek (talk | contribs) (Created page with "== Introduction == In Vitrage we plan on analyzing patterns of alarms and other system events, and perform actions when a pattern is detected. In order to support complex algo...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Introduction

In Vitrage we plan on analyzing patterns of alarms and other system events, and perform actions when a pattern is detected. In order to support complex algorithms like RCA, deduced alarms, alarm aggregations etc., we need a way to express the conditions/triggers for the calculation and the resulted actions. We should define a language with a logical representation of, for example:

  • If
    • Ceilometer agent is down on host1 and
    • host1 contains vm1 and
    • we failed to get metrics on vm1
  • Then
    • Determine that the root cause of {failure to get metrics on vm1} is {Ceilometer agent down on host1}


Another example:

  • If
    • There is high CPU on host2 and
    • host2 contains several vms
  • Then
    • Deduce that the hosted vms have sub-optimal performance
    • Raise alarms on these vms
    • Set their states to sub-optimal


The defined language should let us describe conditions on different kinds of resources, their properties and the relations between them; We should then be able to define which actions should be taken if the conditions are met, e.g. determine RCA, raise/disable alarms, set resources states, etc. The model should be generic and flexible, so defining a new rule would not require change of code.