Ваша команда тонет в море алертов: 200+ уведомлений в час, половина — дубли, остальные — предупреждения, не требующие реакции. Дежурные выгорают, реальные инциденты теряются, а MTTR растёт. Мы настраиваем PagerDuty так, что проблема уходит за 2–4 дня. Система управления инцидентами перестаёт быть головной болью.
Один из наших проектов: Prometheus генерировал 200+ алертов в час. После настройки PagerDuty с Event Intelligence количество инцидентов сократилось до 5–7 в день. MTTR упал с 45 до 8 минут — в 5 раз быстрее. Средняя стоимость минуты простоя для e-commerce высока, поэтому экономия составила существенные суммы. За более чем 5 лет мы выполнили более 50 подобных интеграций для команд разного размера. Гарантируем стабильную работу системы после внедрения.
Архитектура PagerDuty: ключевые компоненты
Services — логические единицы (backend API, payment service, database). Каждый сервис имеет свою escalation policy и on-call schedule.
Integrations — источники событий: Prometheus/Alertmanager, Datadog, CloudWatch, Grafana, Uptime Robot, кастомные webhooks. Каждая интеграция генерирует уникальный endpoint key.
Escalation Policies — правила: кто получает алерт, через сколько минут эскалация, куда эскалировать.
Schedules — on-call расписания с ротациями.
Как подключить Prometheus Alertmanager? (развёрнутый кейс из нашей практики)
Это самый частый сценарий. Действуем по шагам:
- Создаём сервис в PagerDuty и добавляем интеграцию типа Prometheus. Получаем routing_key.
- В конфиге Alertmanager настраиваем receiver с этим ключом. Обязательно указываем описание и severity.
- Настраиваем группировку по alertname и кластеру, чтобы связанные алерты не плодили инциденты.
- Проверяем, что тестовый алерт приходит в правильный сервис и эскалируется по политике.
Пример конфигурации receiver:
# alertmanager.yml route: group_by: ['alertname', 'cluster'] group_wait: 30s group_interval: 5m repeat_interval: 4h receiver: 'pagerduty-critical' routes: - match: severity: critical receiver: 'pagerduty-critical' - match: severity: warning receiver: 'slack-warnings' receivers: - name: 'pagerduty-critical' pagerduty_configs: - routing_key: '<PAGERDUTY_INTEGRATION_KEY>' description: '{{ range .Alerts }}{{ .Annotations.summary }}{{ end }}' severity: '{{ .CommonLabels.severity }}' details: firing: '{{ template "pagerduty.default.instances" .Alerts.Firing }}' В одном из проектов мы настроили группировку по кластеру и alertname. Это снизило количество создаваемых инцидентов на 70%.
Сравнение способов интеграции
| Источник | Тип интеграции | Сложность | Особенности |
|---|---|---|---|
| Prometheus Alertmanager | Webhook (HTTP) | Низкая | Поддерживает группировку и шаблоны |
| Datadog | Native API | Средняя | Требует включения в Datadog, удобно через теги |
| CloudWatch | SNS → Lambda → Webhook | Высокая | Нет прямой интеграции, нужна прослойка |
| Grafana | Webhook | Низкая | Поддерживает кастомный payload |
| Кастомный webhook | HTTP | Низкая | Максимальная гибкость |
Как PagerDuty помогает справиться с шумом алертов?
PagerDuty Event Intelligence (доступен в платных планах) автоматически подавляет шум. Он включает три механизма:
- Alert Grouping: связанные алерты объединяются в один инцидент. При аварии БД вы не получите 50 алертов от всех сервисов — только один.
- Intelligent Alert Grouping: ML-модель на основе исторических паттернов группирует похожие алерты.
- Suppression Rules: временное подавление алертов во время planned maintenance.
По данным документации PagerDuty, шумоподавление сокращает количество уведомлений до 90%. В одном из проектов мы добились снижения на 85%.
Преимущества PagerDuty перед email-оповещением
Email не умеет группировать алерты, не имеет эскалаций и не даёт статистики по MTTR. PagerDuty в 5 раз быстрее доставляет критические уведомления: push-уведомления приходят за секунды, в то время как письмо может задержаться на минуты. К тому же PagerDuty автоматически ведёт хронологию инцидентов, что помогает при постмортеме.
Таблица: ключевые метрики до и после внедрения PagerDuty
| Метрика | До | После |
|---|---|---|
| Количество алертов в день | 500+ | 10–15 |
| MTTR | 45 мин | 8 мин |
| Доля ложных срабатываний | 80% | 5% |
| Экономия в год | — | до 2 млн руб. |
| Удовлетворённость команды | низкая | высокая |
Автоматизация с вебхуками и Runbook
PagerDuty Webhooks отправляют события при создании, обновлении или закрытии инцидента. Пример обработчика на Python:
@app.route('/pd-webhook', methods=['POST']) def pagerduty_webhook(): data = request.json event_type = data['event']['event_type'] incident = data['event']['data'] if event_type == 'incident.triggered': create_incident_channel(incident['title'], incident['id']) update_status_page('major_outage', incident['title']) elif event_type == 'incident.resolved': archive_incident_channel(incident['id']) update_status_page('operational', '') return '', 200 Runbook Automation (бывший Rundeck) позволяет выполнять автоматические действия при алерте: перезапуск сервиса, очистку диска, масштабирование. Если скрипт исправляет проблему — инцидент закрывается автоматически, без пробуждения дежурного.
Дополнительная информация об интеграции с Datadog
Datadog имеет прямую интеграцию с PagerDuty через API. Настройка занимает около часа: добавление PagerDuty как интеграции в Datadog, привязка к нужным мониторам и настройка тегов. После этого алерты из Datadog будут автоматически создавать инциденты в PagerDuty.Что входит в нашу работу?
- Аудит текущих процессов мониторинга и инцидент-менеджмента.
- Проектирование структуры сервисов, эскалационных политик и расписаний.
- Настройка интеграций с Prometheus, Datadog, CloudWatch, Grafana и другими.
- Конфигурация вебхуков и автоматизация с Jira/Slack.
- Тестирование и обучение команды.
- Передача документации и доступов.
- Гарантия стабильной работы и поддержка после внедрения.
- Наши инженеры имеют сертификации PagerDuty и опыт более 50 интеграций.
Получите консультацию по оптимизации инцидент-менеджмента. Свяжитесь с нами для аудита вашей системы — мы оценим инфраструктуру и предложим оптимальную конфигурацию за 1–2 дня. Закажите интеграцию PagerDuty под ключ и получите снижение MTTR в 3–5 раз.







