Представьте: в три часа ночи падает прод. Алерты уходят в общий Slack-канал, где 15 человек. У каждого включен Do Not Disturb, кто-то спит, кто-то в отпуске. В итоге через час выясняется, что дежурный — тот, кто вчера был, а сегодня смена уже другая. Такая ситуация — не редкость, если настройка дежурств не автоматизирована. Grafana OnCall — это система управления дежурствами, которая берет на себя ротацию расписаний, эскалацию инцидентов и гарантирует, что каждый критический алерт дойдет до ответственного. Мы, наша команда, внедрили OnCall в 50+ проектах и знаем, как настроить его под любую инфраструктуру — от одного сервиса до тысячи. С OnCall вы перестаете терять алерты и забывать, кто дежурит. Система сама назначает ответственного, принудительно эскалирует при отсутствии ответа и автоматически переключает ротации. Свяжитесь с нами — мы подберем конфигурацию под ваш масштаб и настроим под ключ.
Что такое Grafana OnCall?
Grafana OnCall — это open-source система для управления дежурствами, интегрированная в экосистему Grafana. Она доступна как managed-сервис в Grafana Cloud, так и для самостоятельного развертывания (self-hosted) через Docker или Kubernetes. Исходный код — на GitHub. Grafana OnCall GitHub repository
Основные сущности: Integration, Escalation Chain, On-Call Schedule и Notification Policy. Каждая энтити настраивается через веб-интерфейс или API.
Как Grafana OnCall ускоряет реакцию на инциденты?
Правильно настроенная эскалация сокращает время реакции с 15–20 минут до 2–3 минут — это в 5 раз быстрее, чем ручные процессы. Как это работает? Алерт приходит дежурному, если он не подтвердил получение в течение 5 минут, эскалация переходит на следующего по цепочке. Еще через 10 минут — всей команде в Slack, через 15 — CTO по телефону. Каждый шаг настраивается отдельно.
Сравним каналы уведомлений по скорости и надежности:
| Канал | Время доставки | Надёжность | Проходит Do Not Disturb |
|---|---|---|---|
| Slack DM | 1–2 сек | Средняя | Нет |
| Telegram | 1–2 сек | Средняя | Нет |
| SMS | 5–30 сек | Высокая | Да |
| Голосовой звонок | 10–20 сек | Очень высокая | Да |
| Push-уведомление (моб. приложение) | 2–5 сек | Очень высокая | Да (Critical Alert) |
Голосовые звонки — самый надежный канал: они доходят в 99% случаев, даже если на телефоне включен беззвучный режим.
Развертывание и настройка
Self-hosted деплой
Для self-hosted используем Docker Compose. Пример конфигурации:
services:
oncall:
image: grafana/oncall:latest
ports:
- "8080:8080"
environment:
DATABASE_TYPE: postgresql
DATABASE_HOST: postgres
DATABASE_NAME: oncall
DATABASE_USER: oncall
DATABASE_PASSWORD: secret
BROKER_TYPE: redis
REDIS_URI: redis://redis:6379/0
SECRET_KEY: "change-me-in-production"
GRAFANA_API_URL: http://grafana:3000
GRAFANA_TOKEN: "glsa_serviceaccount_token"
depends_on:
- postgres
- redis
celery:
image: grafana/oncall:latest
command: celery
environment: *oncall-env
depends_on:
- oncall
Celery — обязательный компонент: обрабатывает асинхронные задачи (отправка уведомлений, escalation timers). После развертывания подключите плагин в Grafana: Administration → Plugins → Grafana OnCall → Enable.
Сравним self-hosted и Grafana Cloud:
| Критерий | Self-hosted | Grafana Cloud |
|---|---|---|
| Контроль данных | Полный | Ограниченный |
| Обслуживание | Вы сами | Вендор |
| Стоимость | Только ресурсы инфраструктуры | По подписке |
| SLA | Нет | Да, 99.9% |
Создание расписания дежурств
Расписания настраиваются через UI или API. Типовое расписание — недельные ротации:
- Заходим в On-Call Schedules → Create schedule.
- Выбираем тип: Web (UI-based), iCal (интеграция с Google Calendar/Outlook) или API.
- Добавляем участников ротации.
- Настраиваем временные слоты.
Для команды из 4 человек с недельной ротацией каждый дежурит неделю по кругу. Расписание автоматически учитывает праздники и временные зоны. Экспортируется как iCal URL — участники могут подписаться в своем календаре.
Построение цепочек эскалации
Это сердце системы. В интерфейсе цепочка собирается как drag-and-drop конструктор:
- Шаг 1: Уведомить дежурного из расписания (таймаут 10 минут).
- Шаг 2: Уведомить всю команду в Slack (таймаут 15 минут).
- Шаг 3: Уведомить CTO лично (таймаут 5 минут).
- Шаг 4: Повторять шаги 1–3 до подтверждения.
Каждый шаг может уведомлять конкретного пользователя, группу, ставить паузу, вызывать webhook или создавать инцидент в Jira.
Настройка уведомлений пользователей
Каждый пользователь настраивает свои способы уведомлений. Пример политики по умолчанию:
- Slack DM — сразу.
- Ожидание 5 минут.
- Голосовой звонок.
Для важных инцидентов можно настроить немедленный звонок. Grafana OnCall поддерживает Slack, Telegram, Email, SMS, голосовые звонки (через Twilio или AWS SNS). Для ночных дежурств настоятельно рекомендуем голосовые — они проходят через Do Not Disturb.
Мобильное приложение (iOS/Android) отправляет push-уведомления Critical Alert, которые также игнорируют беззвучный режим.
Интеграция с Grafana Alerting
Создайте Contact Point типа Grafana OnCall:
Name: oncall-backend
Integration: Grafana OnCall
OnCall integration URL: http://oncall:8080/integrations/v1/grafana_alerting/abc123/Настройте роутинг в Grafana Alerting по меткам:
- receiver: oncall-backend matchers: - team = backend - severity =~ critical|high Теперь все критические алерты от backend-сервисов автоматически идут в OnCall и запускают цепочку эскалации.
Что входит в работу?
Мы предоставляем полный комплект результатов:
- Документация по развертыванию и конфигурации (включая схемы эскалации и политики уведомлений).
- Доступы к инфраструктуре (self-hosted или Grafana Cloud) с ролевой моделью.
- Обучение команды: как управлять расписаниями, цепочками и уведомлениями.
- Постпродакшн-поддержка 2 недели для корректировок.
Пример чек-листа проверки
- Проверить, что все дежурные настроили уведомления.
- Протестировать эскалацию в нерабочее время.
- Убедиться, что алерты без меток не попадают в OnCall.
- Настроить оповещения об изменениях расписания.
Процесс работы и гарантии
- Аудит текущего процесса дежурств и уведомлений.
- Деплой OnCall (self-hosted или подключение к Grafana Cloud).
- Настройка расписаний, цепочек эскалации, интеграций.
- Тестирование полного flow: от алерта до подтверждения и эскалации.
- Документирование конфигураций и политик.
- Обучение команды управлению дежурствами.
- Постпродакшн-поддержка в течение двух недель.
Сертифицированные инженеры с опытом работы с Grafana, Kubernetes и облачными провайдерами. Гарантируем, что каждый критический алерт дойдет до ответственного, а эскалация сработает корректно. Реализовали проекты для компаний с нагрузкой до 100 000 алертов в день.
Сроки и стоимость
Базовая настройка (один кластер, одно расписание, одна цепочка эскалации) занимает от 2 дней. Полный проект с интеграцией нескольких команд и кастомными политиками — до 5 дней. Стоимость рассчитывается индивидуально. Получите консультацию — мы оценим ваш проект и подберем оптимальную конфигурацию.







