Short answer: Put a cheap, externally checked health signal in front of the notification service, but keep delivery cost attribution in structured events that can be searched after an alert. A heartbeat tool detects a silent worker; an uptime monitor checks an HTTP contract; a log API explains which provider, channel, or retry path caused the failure. Treating those as one product is how teams end up with a green endpoint and an unexplained invoice.
The page that fires at 02:13 should not be the first useful signal. By then, the notification service has already accepted work, retried a provider, and perhaps charged the wrong internal cost center. What the on-call sees is usually a symptom: delivery failures above a threshold, a queue that is not draining, or a health endpoint reporting stale state.…