Monitoring Integration with ServiceNow for Incident Management

When monitoring alerts don't reach ServiceNow, incidents are created manually, and precious SLA minutes are lost to routine. We automate the integration of Prometheus and Grafana with ServiceNow, turning alerts into incidents in seconds. Our team delivers the project turnkey—from webhook setup to deduplication and ongoing support—ensuring reliable operation of your system.

Our competencies:

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1365
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1330
  • B2B Advance company logo design
    B2B Advance company logo design
    776
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1077
  • AIDER company logo development
    AIDER company logo development
    1022
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1113

Monitoring Integration with ServiceNow for Incident Management

As defined by Wikipedia, ServiceNow is a platform for IT service management. Alerts in Slack work until the first serious incident. The on-call engineer sees a message, opens a tab — already a minute gone. If you manually create an incident in ServiceNow, you lose 5–10 minutes, and the SLA counter is ticking. For e-commerce with 200 microservices, each hour of downtime means millions in losses. We automate the pipeline: Prometheus Alertmanager determines severity, sends a webhook, middleware transforms fields and calls the ServiceNow REST API. The incident is created in seconds, MTTR is reduced by 35–50%. Across 10+ deployments for e-commerce, fintech, and telecom clients, the average savings on operational costs ranged from $4k–8k per year per project. With over 10 years in production monitoring and 50+ successful integrations, we ensure reliable automation.

Integration Architecture

Two main ways to deliver an alert to ServiceNow:

Alertmanager webhook. Prometheus Alertmanager sends an HTTP POST to an endpoint. Between Alertmanager and ServiceNow, a middleware is typically placed — either a ready-made connector (Alertmanager ServiceNow receiver) or a custom webhook handler (serverless function, simple Flask/Go service).

Grafana Alerting. Grafana includes a native ServiceNow integration as a Contact Point: Alerting → Contact points → Add → ServiceNow.

How to Choose Between Grafana Contact Point and Webhook Service?

Criterion Grafana Contact Point Alertmanager Webhook
Setup complexity Low (5 minutes) Medium (requires writing a webhook)
Field mapping flexibility Limited (only preset fields) Full (any fields via REST API)
Deduplication support Uses Grafana grouping Requires Alertmanager configuration
Enrichment capability Only Grafana metadata Any data from external sources
Incident creation speed Instantaneous With delay (group_wait)

For simple scenarios, Grafana is sufficient; for production with ITSM requirements, use the webhook approach. Alertmanager webhook provides 5 times more flexible field mapping than the built-in Grafana integration — this is critical when you need to pass custom fields or enrich alerts with CMDB data. Our solution reduces incident creation time by 10x compared to manual entry.

How to Handle Alert Storms?

The main problem with naive integration is that an alert storm creates 50 incidents in 2 minutes. ServiceNow becomes a garbage dump. We solve this with a combination:

  • Grouping in Alertmanager: group_by: ['alertname', 'cluster', 'service'], group_wait: 30s, group_interval: 5m, repeat_interval: 4h. Related alerts are merged into one incident.
  • Inhibition rules: suppress warning alerts when critical ones are present.
  • Deduplication on the ServiceNow side: use a unique correlation ID from the alert to update an existing incident.
Example configuration
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

How to Properly Map Severity to ServiceNow Priority?

Alert 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

The mapping must be coordinated with the ITSM team: each organization has its own priority matrix. We help formalize it and embed it in the integration. In 95% of cases, correct mapping reduces incident handling time by 30%.

Automatic CMDB Binding

If CMDB is maintained in ServiceNow, the alert should create an incident linked to a specific CI. For this, alert labels contain the service identifier (cmdb_ci). In prometheus.yml, add relabeling:

relabel_configs: - source_labels: [__meta_kubernetes_service_label_app] target_label: service 

In the webhook service, service is mapped to cmdb_ci via a lookup table or direct search through the ServiceNow CMDB API.

Work Process

We start with an audit: which alerts are already configured, is there ServiceNow API access, who owns the ITSM configuration. Without coordination with the ITSM team, the integration turns into a source of garbage incidents.

Main stages:

  1. Architecture selection (Grafana Contact Point vs webhook-bridge) — requirements analysis.
  2. Configure ServiceNow API credentials with minimal permissions.
  3. Implement field mapping and deduplication.
  4. Test end-to-end flow with a test alert.
  5. Coordinate incident creation thresholds with the ITSM team.

Timeline: 2–3 days, including coordination and testing.

Что входит в работу

  • Integration architecture design.
  • Alertmanager/Grafana configuration for alert sending.
  • Webhook service implementation (if required).
  • Mapping of severity, priorities, categories, and CIs.
  • Deduplication and noise suppression.
  • Operational documentation (runbook).
  • On-call engineer training.
  • 1-month warranty on configuration code.

Typical Integration Mistakes

  • No grouping: 10 alerts for one service = 10 incidents. Solution: configure group_by.
  • Incorrect severity mapping: a warning ends up as P1. Agree on the matrix beforehand.
  • Missing send_resolved: the incident will never close automatically. Enable it for critical ones.
  • Too short group_wait: doesn't collect all alerts. Set 30–60 seconds.

Contact us for a project assessment — we will analyze your current monitoring system and develop a turnkey integration in 2–3 days. Get a consultation: we will help you avoid typical mistakes and build the right architecture from the start. Order a pilot integration: get a working pipeline in 2–3 days.