Інтеграція моніторингу з ServiceNow для Incident Management

Коли алерти моніторингу не доходять до ServiceNow, інциденти заводяться вручну, а дорогоцінні хвилини SLA йдуть на рутину. Ми автоматизуємо інтеграцію Prometheus і Grafana з ServiceNow, перетворюючи алерти на інциденти за секунди. Наша команда реалізує проєкт під ключ — від налаштування webhook до дедуплікації та подальшої підтримки, забезпечуючи надійну роботу вашої системи.
Часті запитання

Інтеграція моніторингу з ServiceNow для Incident Management

Алерти в Slack працюють до першого серйозного інциденту. Черговий інженер бачить повідомлення, відкриває вкладку — вже хвилина. Якщо заводити інцидент у ServiceNow вручну, втрачається 5–10 хвилин, а SLA-лічильник тікає. Для e-commerce з 200 мікросервісами кожна година простою — мільйонні збитки. Ми автоматизуємо пайплайн: Prometheus Alertmanager визначає severity, відправляє webhook, middleware перетворює поля та викликає REST API ServiceNow. Інцидент створюється за секунди, MTTR знижується на 35–50%. За 10+ впроваджень для клієнтів з e-commerce, fintech та телекому середня економія на операційних витратах склала від 400 000 до 800 000 ₴ на рік на проект.

Архітектура інтеграції

Два основні шляхи доставити алерт у ServiceNow:

Alertmanager webhook. Prometheus Alertmanager відправляє HTTP POST на endpoint. Між Alertmanager і ServiceNow зазвичай ставиться middleware — або готовий конектор (Alertmanager ServiceNow receiver), або кастомний webhook-обробник (serverless функція, простий Flask/Go сервіс).

Grafana Alerting. У Grafana є нативна інтеграція ServiceNow як Contact Point: Alerting → Contact points → Add → ServiceNow.

Як вибрати між Grafana Contact Point та webhook-сервісом?

Критерій Grafana Contact Point Alertmanager Webhook
Складність налаштування Низька (5 хвилин) Середня (потрібне написання webhook)
Гнучкість маппінгу полів Обмежена (тільки попередньо встановлені поля) Повна (будь-які поля через REST API)
Підтримка дедуплікації Використовує групування Grafana Потрібне налаштування Alertmanager
Можливість збагачення Тільки метадані Grafana Будь-які дані із зовнішніх джерел
Швидкість створення інциденту Миттєво Із затримкою (group_wait)

Для простих сценаріїв достатньо Grafana, для продакшену з ITSM-вимогами — webhook-підхід. Alertmanager webhook забезпечує в 5 разів гнучкіше налаштування маппінгу, ніж готова інтеграція Grafana — це критично, коли потрібно передати кастомні поля або збагатити алерт даними з CMDB.

Як боротися з alert storm?

Головна проблема наївної інтеграції — alert storm створює 50 інцидентів за 2 хвилини. ServiceNow перетворюється на сміттєву скриньку. Ми вирішуємо це комбінацією:

  • Групування в Alertmanager: group_by: ['alertname', 'cluster', 'service'], group_wait: 30s, group_interval: 5m, repeat_interval: 4h. Пов'язані алерти об'єднуються в один інцидент.
  • Інгібування правил: придушення warning-алертів при наявності critical.
  • Дедуплікація на стороні ServiceNow: використовуємо унікальний correlation ID з алерту для оновлення існуючого інциденту.

Приклад конфігурації alertmanager.yml:

---
receivers:
  - name: servicenow-critical
    webhook_configs:
      - url: http://snow-bridge:8080/webhook
        send_resolved: true
        http_config:
          bearer_token: "bridge_token"
  - name: servicenow-warning
    webhook_configs:
      - url: http://snow-bridge:8080/webhook
        send_resolved: false
route:
  receiver: default
  routes:
    - match:
        severity: critical
      receiver: servicenow-critical
    - match:
        severity: warning
      receiver: servicenow-warning

Як правильно мапити severity у priority ServiceNow?

Алерт severity ServiceNow Priority Urgency / Impact
critical P1 — Critical 1 / 1
high P2 — High 2 / 1
warning P3 — Moderate 2 / 2
info P4 — Low 3 / 3

Маппінг повинен узгоджуватися з ITSM-командою: у кожної організації своя матриця пріоритетів. Ми допомагаємо її формалізувати та закріпити в інтеграції. У 95% випадків коректний маппінг скорочує час обробки інцидентів на 30%.

Автоматична прив'язка до CMDB

Якщо в ServiceNow ведеться CMDB, алерт повинен створювати інцидент з прив'язкою до конкретного CI. Для цього label-и алертів містять ідентифікатор сервісу (cmdb_ci). У prometheus.yml додаємо релейблінг:

relabel_configs: - source_labels: [__meta_kubernetes_service_label_app] target_label: service 

У webhook-сервісі service мапиться на cmdb_ci через lookup-таблицю або прямий пошук через ServiceNow CMDB API.

Процес роботи

Починаємо з аудиту: які алерти вже налаштовані, чи є ServiceNow API access, хто власник ITSM-конфігурації. Без узгодження з ITSM-командою інтеграція перетворюється на джерело сміттєвих інцидентів.

Основні етапи:

  1. Вибір архітектури (Grafana Contact Point vs webhook-bridge) — аналіз потреб.
  2. Налаштування ServiceNow API credentials з мінімальними правами.
  3. Реалізація маппінгу полів та дедуплікації.
  4. Тестування наскрізного flow з тестовим алертом.
  5. Узгодження threshold створення інцидентів з ITSM-командою.

Терміни: 2–3 дні, включаючи узгодження та тестування.

Що входить у роботу

  • Розробка архітектури інтеграції.
  • Налаштування Alertmanager/Grafana для відправки алертів.
  • Реалізація webhook-сервісу (якщо потрібно).
  • Маппінг severity, пріоритетів, категорій та CI.
  • Дедуплікація та придушення шуму.
  • Документація з експлуатації (runbook).
  • Навчання чергових інженерів.
  • Гарантія 1 місяць на код конфігурації.

Типові помилки при інтеграції

  • Немає групування: 10 алертів на один сервіс = 10 інцидентів. Рішення — налаштувати group_by.
  • Некоректний маппінг severity: warning потрапляє у P1. Узгоджуйте матрицю заздалегідь.
  • Відсутність send_resolved: інцидент ніколи не закриється автоматично. Вмикайте для критичних.
  • Занадто короткий group_wait: не дає зібрати всі алерти. Ставте 30–60 секунд.

Зв'яжіться з нами для оцінки вашого проекту — проаналізуємо поточну систему моніторингу та розробимо інтеграцію за 2–3 дні під ключ. Отримайте консультацію: ми допоможемо уникнути типових помилок і одразу вибудувати правильну архітектуру. Замовте пілотну інтеграцію: отримайте працюючий пайплайн за 2–3 дні.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142