Skip to content

Alerts

Enabled with monitoring.rules.enabled: true (needs the Prometheus Operator CRDs; see Monitoring and alert runbooks ). Thresholds for the key-expiry alerts come from monitoring.rules.apiKeyExpiryWarningSeconds (default 7 days) and monitoring.rules.authKeyExpiryWarningSeconds (default 1 day). Non-empty monitoring.rules.groups replaces the whole bundled group.

AlertSeverityFires whenRunbook
TailnetOperatorDowncriticalno healthy operator metrics endpoint for 5 min (up absent or 0)operator down
TailnetReconcileErrorswarningmore than 0.1 controller-runtime reconcile errors/s for 10 minreconcile errors
TailnetHeadscaleAPIErrorswarningmore than 5 % HTTP 5xx on Headscale operations over 10 min (code 0 = transport, not 5xx)Headscale API
TailnetResourceNotReadywarninga CR has been Ready=False for 10 min; the reason label is the current Ready reasonresource not ready
TailnetPolicyStalewarningtailnet_policy_pending == 1 for 15 min (Apply mode, render ≠ applied)policy stale
TailnetPolicyRejectedwarningPolicyApplied=False/PolicyRejected for 5 min; the previous policy stays livepolicy rejected
TailnetPolicyApplyErrorswarningat least 6 failed policy writes in 30 minpolicy apply errors
TailnetPolicyGeneratedDropwarninggenerated tags, grants or routes fell by more than half within 10 minpolicy generated drop
TailnetApprovalReplayswarningmore than 3 routes re-approved by replay within 1 hroute replays
TailnetRouteConflictwarninga TailnetSite has carried RouteConflict (OverlapsReserved / OverlapsSite) for 15 minroute conflict
TailnetUnmanagedRouteOverlapinfofor 30 min a node without an advertiser tag advertises a route overlapping a TailnetSiteunmanaged route overlap
TailnetGatewayFreshBlockedwarninga TailnetGateway has reported Ready=False/FreshBlocked for 5 mingateway fresh blocked
TailnetNodeOfflinewarningHeadscale has listed the resource’s node as offline for 5 minnode offline
TailnetAPIKeyExpiringSoonwarningtailnet_apikey_expires_seconds below the API-key threshold for 5 minkey expiry
TailnetEgressAuthKeyExpiringSoonwarningtailnetegress_authkey_expires_seconds below the auth-key threshold for 5 minkey expiry
TailnetIngressAuthKeyExpiringSoonwarningtailnetingress_authkey_expires_seconds below the auth-key threshold for 5 minkey expiry

The runbook_url annotation of every rule is the repository-relative path of its runbook (docs/OPERATIONS.md#monitoring-…); prefix it with your docs base URL in Alertmanager templates.

Source: docs/reference/alerts.md at v0.18.0 — found a mistake? Tell us.