Introduction
Grafana OnCall is an open-source incident response and on-call management platform that integrates directly into the Grafana ecosystem. It routes alerts from Grafana Alerting, Prometheus Alertmanager, and 30+ monitoring tools to the right on-call engineer through configurable escalation chains. Teams define schedules, rotations, and notification preferences in a single UI alongside their dashboards and alerts.
What Grafana OnCall Does
- Routes incoming alerts through escalation chains with configurable wait times and conditions
- Manages on-call schedules with rotation layers, overrides, and shift swaps
- Sends notifications via Slack, Telegram, SMS, phone calls, email, and mobile push
- Groups related alerts to reduce notification noise during incidents
- Provides a Grafana plugin UI for managing schedules and escalations alongside dashboards
Architecture Overview
OnCall runs as a Django application with Celery workers for async tasks and Redis for message queuing. It receives alerts via HTTP integrations (webhooks from monitoring tools), matches them to escalation chains, and dispatches notifications through configured channels. The Grafana plugin communicates with OnCall's API to render schedules, alert groups, and settings. In production, it uses PostgreSQL for persistence and can scale Celery workers horizontally for high alert volumes.
Self-Hosting & Configuration
- Deploy via Helm chart alongside Grafana or standalone with Docker Compose
- Configure integrations for each alert source (Grafana Alerting, Alertmanager, Datadog, etc.)
- Build escalation chains with steps: notify user, wait N minutes, notify schedule, repeat
- Define on-call schedules with multiple rotation layers and timezone-aware shifts
- Connect notification backends: Slack bot token, Telegram bot, Twilio for SMS and voice
Key Features
- Native Grafana integration shows on-call schedules and alert status in your existing dashboards
- Escalation chains with multi-step logic: notify, wait, escalate, repeat until acknowledged
- Alert grouping reduces noise by combining related alerts into a single actionable group
- Mobile app (iOS/Android) for push notifications and alert acknowledgment on the go
- ChatOps via Slack with slash commands for acknowledging, silencing, and resolving alerts
Comparison with Similar Tools
- PagerDuty — mature commercial platform; Grafana OnCall is free and self-hostable
- Opsgenie — Atlassian product with ITSM integration; OnCall integrates natively with Grafana
- Squadcast — SaaS incident management; OnCall's open source model avoids vendor lock-in
- ilert — European SaaS alternative; OnCall benefits from the Grafana ecosystem and plugin model
FAQ
Q: Can I use Grafana OnCall without self-hosting? A: Yes. Grafana Cloud includes OnCall as a managed service in the free and paid tiers.
Q: Does it support PagerDuty-style phone call escalations? A: Yes. Configure Twilio as a notification backend for SMS and voice call notifications with escalation.
Q: How does alert grouping work? A: OnCall groups alerts by integration and configurable grouping keys. Alerts with the same key within a time window are merged into one alert group.
Q: Can I import existing on-call schedules? A: Yes. OnCall supports iCal imports and Terraform provider for managing schedules as code.