AIS supports Weighted Clusters. That means, clusters that are composed of different weighted components. One of the components may be a small server and another a big servers. Maybe both are running the same services, but the users of those services will see a bigger impact if the big server goes down, so this needs to be replicated in the Impact Simulator.
The basic of the behavior is explained in the documentation. Here: Settings that affect the impact model - BMC Atrium Core 9.1 - BMC Documentation
But how does it really works on the background:
ImpactWeight is an attribute of the BMC_BaseRelationship class. It requires an integer value. The impact weight is used in impact relationships to determine how much importance (numerically weighted) to give to each provider relationship that impacts a consumer instance. A higher numerical value indicates a greater importance. Impact weight is used with the WEIGHTED_CLUSTER status computation model.
A consumer instance (C1) has impact relationships with three provider instances (P1, P2, P3). Each impact relationship can be ascribed a status weight to gauge the effect that an event propagating from the provider instance has on the consumer. In this example, the following status weight values are entered for each impact relationship:
C1 and P1: StatusWeight=100
C1 and P2: StatusWeight=50
C1 and P3: StatusWeight=25
All three impact relationships apply the direct propagation model.
Instance P3 has a critical event, making its status UNAVAILABLE, which becomes its propagated status. The propagated statuses of P1 and P2 are classified as OK. The propagated status of one impact relationship is UNAVAILABLE, while the other two are OK.
To determine the weighted impact on the consumer instance, refer to the following table of propagated status values for components and to the following formula:
P3 has the status of UNAVAILABLE, which has a value of 80. P1 and P2 have the status of OK, which is 30. P3 has a status weight value of 25; P1 has a status weight value of 100; P2 has a status weight value of 50.
To calculate the impact that the provider relationships have on the consumer and the consumer's impact status, use the following formula, which applies the status weight to each relationship:
(Propagated Status Value x Status Weight Value) of each impact relationship (P1,P2,P3) / sum of the Status Weight values of all impact relationships
In this example, the formula would be calculated as follows:
[ (30 x 100) + (30 x 50) + (80 x 25) ] / (100 + 50 + 25) = 37.14
- 37.14 is the weighted mean of the propagated status values. It determines the impact status of the consumer instance. 37.14 is rounded to the nearest propagated status value, which is 40. The impact status of the consumer instance is INFO.
In the actual implementation of AIS the table of propagated statuses is much shorter since we do not have that many options in AIS:
This is what we implemented.
UNAVAILABLE(3, "CRITICAL", "Unavailable", 80),
IMPACTED(2, "MAJOR", "Very Impaired", 70),
MINOR(1, "MINOR", "Impaired", 60),
WARNING(0, "WARNING", "Slightly Impaired", 50),
OK(-1, "OK", "Ok", 30)