Add BSM reduction function to better model clusters of servers/services

Description

In the current implementation of the BSM stuff it is quite difficult to
model things like „I have a cluster of 3 servers, if only one is failing
all is ok, if two are failing I want propagate a higher severity to the
parent business service“.

The idea of this function is as follow: by defining a base number you decide
how many childs with a severity of X will result in a severity of X+1 of the
parent service.

For example if you decide to use a base of two, two child services with
reporting a severity of WARNING will result in a MINOR for the parent
service. In the case of a base of three, three WARNINGs will result in
a MINOR and so on.

The implementation sums up the ordinal numbers of severities higher
than NORMAL (the ordinal number are decreased by 2 to reflect this)
like
parent severity = log_base(base^WARNING + base^MINOR + base^WARNING)

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

fooker September 14, 2016 at 4:11 AM

Was Merged already in 18.0.1

fooker June 22, 2016 at 9:34 AM

No, thats just an example showing that the status of each incoming each is handled...

Michael June 21, 2016 at 3:25 AM

If the formula above is a "cut&paste" from the code than there is an error in the code:
parent severity = log_base(base^WARNING + base^MINOR + base^WARNING)

WARNING is used twice here.

-Michael

Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

PagerDuty

Created June 10, 2016 at 3:34 AM
Updated June 3, 2019 at 7:23 AM
Resolved September 14, 2016 at 4:11 AM