Aggregates (K-of-N redundancy)¶
Some infrastructure is deliberately built redundant — two internet uplinks, three cluster nodes, a storage array with several disks. A single failed uplink is not a problem there, as long as the other one carries the load. An aggregate models exactly that: a set of like-kind members plus a threshold K, the number of healthy members below which the function is actually lost.
Standalone object¶
An aggregate is not a check and is attached to no host — it's a standalone object on the logical map with its own name, its own threshold K, and a member list. Creating, editing (name/K/members), and deleting all happen directly on the map via a popup on the node. Deleting removes both the object and all of its member edges.
An aggregate needs at least two members.
How the status is derived¶
The status is computed live from the current member states at display time — there's no periodic check of its own and no state-history row for the aggregate itself. When a member's status changes, the aggregate's status changes in the same instant.
A member counts as healthy at status OK or WARNING — a merely degraded leg still carries the redundancy. Only a real failure (CRITICAL) or a member not reporting (NO_DATA/UNKNOWN) removes it from the healthy count.
| Condition | Aggregate status | Meaning |
|---|---|---|
| all N members healthy | OK |
full redundancy |
| K ≤ healthy < N | WARNING |
degraded, but still viable — redundancy nibbled, function still up |
| healthy < K | CRITICAL |
function lost |
| no members (N = 0) | NO_DATA |
nothing to evaluate |
The status line reads accordingly, e.g. "3/4 members healthy (at least 2 required)".
The inhibition reversal¶
This is the actual point of an aggregate: a WARNING (nibbled but viable) never suppresses the alerts of dependent services — only a CRITICAL (function genuinely lost) does, exactly like any other supplier node.
Without an aggregate, one failed leg of a redundant pair would be mistakenly treated as the whole supplier being down — with an aggregate, alerting stays quiet for as long as the redundancy holds.
Typical use cases¶
- 1-of-2: two internet uplinks, two power supplies — one is enough.
- N-of-N (K = number of members): a series where every link is required — here the aggregate behaves like a simple AND.
- K-of-N in general: e.g. 2-of-3 cluster nodes for quorum.
Where aggregates appear¶
Aggregates are a construct of the logical map — the physical map deliberately doesn't have them (it only places things, it doesn't draw logic).
Next¶
- Logical map — dependencies and aggregate nodes in the graph
- Dependencies & inhibition — inhibition rules in general
- Maps & sites — overview