{"slug":"monitoring-alerting","title":"Alerting","description":"DanubeData alerts you when something needs attention — either against thresholds you set yourself, or automatically when a resource's health degrades. Alerts arrive by email and in the in-app Notifica...","section":"Features","url":"https://docs.danubedata.ro/monitoring-alerting","markdown_url":"https://docs.danubedata.ro/monitoring-alerting.md","breadcrumbs":[{"title":"Features","slug":null},{"title":"Monitoring","slug":"monitoring-overview"},{"title":"Alerting","slug":"monitoring-alerting"}],"headings":[{"level":1,"title":"Alerting","id":"alerting"},{"level":2,"title":"Metric alerts","id":"metric-alerts"},{"level":3,"title":"How they work","id":"how-they-work"},{"level":3,"title":"Creating a metric alert","id":"creating-a-metric-alert"},{"level":3,"title":"Examples","id":"examples"},{"level":2,"title":"Pod health alerts","id":"pod-health-alerts"},{"level":2,"title":"Notification channels","id":"notification-channels"},{"level":3,"title":"Webhook payload","id":"webhook-payload"},{"level":2,"title":"Best practices","id":"best-practices"},{"level":2,"title":"Troubleshooting","id":"troubleshooting"},{"level":2,"title":"Related Documentation","id":"related-documentation"}],"format":"markdown","word_count":693,"content":"# Alerting\n\nDanubeData alerts you when something needs attention — either against thresholds you set yourself, or automatically when a resource's health degrades. Alerts arrive by email and in the in-app Notification Center, and critical alerts can also be sent to a webhook.\n\n## Metric alerts\n\nMetric alerts let you set your own thresholds on a resource's core metrics — **CPU usage**, **memory usage**, and **disk usage** — and be notified when they're crossed.\n\n### How they work\n\n- **Threshold + comparison** — for example, *CPU usage greater than 90%*.\n- **Duration** — the condition must hold for a sustained period before the alert fires (default 5 minutes for CPU and memory, 10 minutes for disk), so a brief spike won't notify you.\n- **Breach and resolve** — you get an email when the threshold is breached, and another when the metric returns to normal.\n- **Delivery** — email and the in-app Notification Center.\n\nSensible defaults are filled in for you (for example, a 90% CPU threshold), and you can adjust the threshold, comparison, and duration to fit your workload. Alerts are evaluated every minute.\n\n### Creating a metric alert\n\n1. Open the resource you want to monitor.\n2. Go to its **Alerts** section and click **Create Alert**.\n3. Choose the metric, threshold, comparison, and duration.\n4. Save — the alert is evaluated from then on, and you can edit or delete it, or review a history of when it fired and resolved.\n\nEach resource can have up to 10 alerts, and each team up to 50.\n\n### Examples\n\n| Metric | Condition | Duration |\n|--------|-----------|----------|\n| CPU Usage | greater than 90% | 5 minutes |\n| Memory Usage | greater than 90% | 5 minutes |\n| Disk Usage | greater than 85% | 10 minutes |\n\n## Pod health alerts\n\nSeparately from the thresholds you set, DanubeData watches the health of your running resources around the clock and alerts you automatically the moment one runs into trouble — no configuration required.\n\n- **Covered resources** — Databases, Cache, Queues, Managed Apps, VPS, and Serverless Containers.\n- **What it catches** — problems like crash loops, out-of-memory, and image-pull failures.\n- **Notified immediately** — the moment an alert opens, your whole team is notified by email and in the Notification Center, with the reason included. If you have a webhook configured, the alert flows through it too.\n- **On the page** — a warning banner appears directly on the affected Database, Cache, Queue, or Managed App page.\n- **Self-clearing** — the alert clears itself automatically once the resource recovers.\n\nServerless Containers additionally get deploy-failure alerts: if a new revision fails to roll out while your last healthy version keeps serving, your team is emailed and a `serverless.build_failed` webhook fires (when webhooks are enabled). See the [Rapids docs](https://docs.danubedata.ro/serverless-overview) for details.\n\n## Notification channels\n\n- **Email** — includes the resource, the metric or issue, the value and threshold, and a link to investigate.\n- **In-app Notification Center** — every alert also appears in the dashboard.\n- **Webhook** — critical alerts (such as pod health issues) are POSTed to your configured webhook endpoint with signed payloads.\n\nChoose which categories reach you from **Profile → Notification Preferences**.\n\n### Webhook payload\n\nWebhook deliveries share a common envelope:\n\n```json\n{\n  \"event\": \"pod.health.issue\",\n  \"timestamp\": \"2026-07-14T10:30:00+00:00\",\n  \"category\": \"pod_health_issue\",\n  \"severity\": \"critical\",\n  \"data\": {\n    \"title\": \"Container health issue\",\n    \"message\": \"prod-postgres restarted repeatedly (CrashLoopBackOff)\",\n    \"resource_type\": \"database\",\n    \"resource_id\": 123,\n    \"resource_name\": \"prod-postgres\",\n    \"team_id\": 1,\n    \"team_name\": \"Acme\",\n    \"action_url\": \"https://danubedata.ro/databases\",\n    \"action_text\": \"View Details\"\n  }\n}\n```\n\nPoint the webhook at any HTTPS endpoint you control — your own service, or a tool that accepts inbound webhooks.\n\n## Best practices\n\n1. **Start conservative** to avoid alert fatigue, then tune thresholds against your baselines.\n2. **Use the duration** so short, self-correcting spikes don't fire an alert.\n3. **Know your normal** — check the [Metrics](https://docs.danubedata.ro/monitoring-metrics) page to understand typical ranges before setting thresholds.\n\n## Troubleshooting\n\n**Not receiving alerts?**\n- Check the recipient email address (and your spam folder).\n- Confirm the category is enabled in **Profile → Notification Preferences**.\n- For webhooks, confirm the endpoint is reachable and returns a 2xx response.\n\n**Too many alerts?**\n- Raise the threshold, or lengthen the required duration.\n- Remove alert rules you no longer need.\n\n## Related Documentation\n\n- [Monitoring Overview](https://docs.danubedata.ro/monitoring-overview)\n- [Metrics](https://docs.danubedata.ro/monitoring-metrics)\n- [Logs](https://docs.danubedata.ro/monitoring-logs)\n- [Uptime Checks](https://docs.danubedata.ro/monitoring-uptime)\n","prev":{"title":"Metrics","slug":"monitoring-metrics","url":"https://docs.danubedata.ro/monitoring-metrics","markdown_url":"https://docs.danubedata.ro/monitoring-metrics.md","json_url":"https://docs.danubedata.ro/monitoring-metrics.json"},"next":{"title":"Logs","slug":"monitoring-logs","url":"https://docs.danubedata.ro/monitoring-logs","markdown_url":"https://docs.danubedata.ro/monitoring-logs.md","json_url":"https://docs.danubedata.ro/monitoring-logs.json"},"index_url":"https://docs.danubedata.ro/index.json"}