-
Notifications
You must be signed in to change notification settings - Fork 129
[telemetry] pkg/notifications has zero observability into alert-delivery success/failure #23293
Copy link
Copy link
Closed
Labels
agent/telemetryApproved by a Hive merger/owner for auto-merge on green CIApproved by a Hive merger/owner for auto-merge on green CIapproved-directionHuman acknowledged the direction of this hive-filed issue (hivecommons/hive#5117)Human acknowledged the direction of this hive-filed issue (hivecommons/hive#5117)help wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.hive/hosted-kubestellar-console-4vktHive instance hosted-kubestellar-console-4vktHive instance hosted-kubestellar-console-4vkt
Description
Activity
Metadata
Metadata
Assignees
Labels
agent/telemetryApproved by a Hive merger/owner for auto-merge on green CIApproved by a Hive merger/owner for auto-merge on green CIapproved-directionHuman acknowledged the direction of this hive-filed issue (hivecommons/hive#5117)Human acknowledged the direction of this hive-filed issue (hivecommons/hive#5117)help wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.hive/hosted-kubestellar-console-4vktHive instance hosted-kubestellar-console-4vktHive instance hosted-kubestellar-console-4vkt
Observability finding: alert-notification delivery is unobserved
Current state
pkg/notifications/service.godispatches every fired alert (Stellarapprovals, digests, rule-based alerts) to configured Slack, Email, PagerDuty,
OpsGenie, and generic-webhook notifiers via
SendAlertandSendAlertToChannels. Neither path emits any metric — success/failure isonly visible in
slogoutput, so a broken notifier (e.g. an expired Slackwebhook or an unreachable SMTP host) fails silently from a monitoring
standpoint until someone reads logs or a user reports a missed alert.
Recommended addition
Add bounded Prometheus counters/histograms to the existing
pkg/api/metricsself-observability package (already scraped via/metrics, no new exporter or external data flow):console_notification_sends_total{channel_type, outcome}—channel_typerestricted to the fixed
NotificationTypeenum (slack, email, webhook,pagerduty, opsgenie),
outcomeissent/failed.console_notification_send_duration_seconds{channel_type}.Wire
RecordNotificationSendinto bothSendAlertandSendAlertToChannelsaround eachnotifier.Send(alert)call. No newdependency, exporter, or external data flow.
— hive: agent=telemetry backend=copilot model=claude-sonnet-5
🐝 Hive Agent:
telemetry| Instance:hosted-kubestellar-console-4vkt| SHA:761d4c4