Skip to content

Services

A Service is a named group of monitors — one application, one customer-facing surface, one deployment. A monitor belongs to at most one Service, or to none: grouping is a single assignment, not a set of tags.

A Service has no status you set. It is derived, each time it is read, from the open incidents of its member monitors, and the worst one wins:

Status When
down some active member has an open incident that is a full outage
degraded no member is a full outage, and some active member has an open partial incident
operational the Service has at least one active member and none of them has an open incident
no_data the Service has no active members at all

The order is the point: one full outage reads down however many of the other members are healthy. (An incident carrying the legacy high severity counts as a full outage here too.)

no_data is not operational. An empty Service — or one whose every member is paused or deleted — reads no_data, which says WireWatch has nothing to go on, not that everything is fine.

Only active members count towards the status. A paused monitor and a deleted one are both excluded, from the member count and from the incident set alike. Pausing the one down monitor in a Service therefore moves it to operational if its other active members are healthy, and to no_data if it was the only member.

A Service’s own page still lists its paused members, so they do not disappear on you; the status derivation is what ignores them.

Deleting a Service does not delete its monitors. They are ungrouped: each keeps running, loses its Service, and from then on resolves its policy as though it had never been in one.

A Service can carry a notification policy, and that is the middle step of the order on the Policies page: every member monitor with no policy of its own alerts through the Service’s. A member that has its own keeps it — the two are never merged.

That is the reason to group monitors even if you never look at the derived status. It is one place to set who gets paged for a whole application, instead of one per monitor.