Ваша команда тоне в морі алертів: 200+ сповіщень на годину, половина — дублі, решта — попередження, що не потребують реакції. Чергові вигорають, реальні інциденти губляться, а MTTR зростає. Ми налаштовуємо PagerDuty так, що проблема йде за 2–4 дні. Система управління інцидентами перестає бути головним болем.
Один із наших клієнтів мав проблему: Prometheus генерував 200+ алертів на годину. Після налаштування PagerDuty з Event Intelligence кількість інцидентів скоротилася до 5–7 на день. MTTR впав з 45 до 8 хвилин — у 5 разів швидше. Середня вартість хвилини простою для e-commerce висока, тому економія склала суттєві суми. Наша компанія має 5+ років досвіду в управлінні інцидентами та виконала понад 50 інтеграцій PagerDuty для команд різного розміру. За 5 років роботи наші клієнти заощадили в середньому значні кошти. Гарантуємо стабільну роботу системи після впровадження.
Архітектура 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 краще за email-сповіщення в 5 разів за швидкістю доставки: push-сповіщення приходять за секунди, тоді як лист може затриматися на хвилини. До того ж PagerDuty автоматично веде хронологію інцидентів, що допомагає при постмортемі.
Таблиця: ключові метрики до та після впровадження PagerDuty
| Метрика | До | Після |
|---|---|---|
| Кількість алертів на день | 500+ | 10–15 |
| MTTR | 45 хв | 8 хв |
| Частка хибних спрацьовувань | 80% | 5% |
| Середній час реакції | 5 хв | 1 хв |
| Задоволеність команди | низька | висока |
Автоматизація з вебхуками та 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 разів.







