Grafana Cloud

Migrate to Grafana IRM with the migration tool

The open-source IRM migration tools provide an efficient way to migrate your on-call configuration to Grafana IRM. Use this path if you’re migrating from:

  • PagerDuty
  • Splunk OnCall (VictorOps)
  • Opsgenie
  • Grafana OnCall OSS

Before you begin

Ensure you have the following:

  • Docker: Install and run Docker to build and run the migration tool images.
  • Grafana IRM API token and API URL: Obtain these from the Settings page in the IRM plugin of your Grafana instance.
  • Source platform credentials (depending on which tool you’re migrating from):

Run the migration

  1. Clone the grafana/irm-tooling repository.

  2. Build the Docker image from the tools/migrators directory:

    sh
    docker build -t oncall-migrator .
  3. Run the tool in plan mode to preview what will be migrated and identify potential issues, for example, unmatched users or unsupported resources.

  4. Review the migration report. The tool migrates resources marked with a check mark and skips those marked with a cross.

  5. When you’re satisfied with the migration plan, run the tool in migrate mode. The migration tool is idempotent and safe to run multiple times.

You can customize the migration using filter and configuration options described in the Grafana IRM tooling migration documentation, for example, team filters, user filters, or regex-based name filters.

After migration

After migration, complete the following steps:

  1. Connect integrations by clicking How to connect on the integration page.
  2. Ensure users verify and configure their notification preferences, phone numbers, and Slack accounts in IRM user settings.
  3. Check that your schedules are properly configured. If you migrated schedules via iCal (PagerDuty), consider recreating them using the IRM UI or Terraform to make them editable.
  4. Test and validate all critical workflows.

For platform-specific instructions, refer to the Grafana IRM tooling migration documentation.

Supported resources

Supported resources vary by source platform.

PagerDuty

  • User notification rules
  • On-call schedules (via iCal import or web-based migration)
  • Escalation policies
  • Services and integrations (supported types only; unsupported types can optionally be migrated as webhooks)
  • Event rules (experimental, global event rulesets only)
  • Technical and business services (optional, migrated to Grafana’s service model)

Splunk OnCall (VictorOps)

  • Escalation policies
  • On-call schedules (including rotations and scheduled overrides)
  • User paging policies (primary paging policy only; custom paging policies aren’t supported)

Opsgenie

  • User notification rules
  • On-call schedules (including rotations and overrides)
  • Escalation policies
  • Integrations (supported types only; unsupported types can optionally be migrated as webhooks)

Limitations

The migration tools cover most scenarios, but some limitations apply:

  • Integration support: The tools don’t support all integration types. You can optionally migrate unsupported types as webhook integrations.
  • Timing discrepancies: Migrated notification or escalation rules may have slight timing differences. For example, a four-minute delay in PagerDuty might become five minutes in IRM.
  • Schedule restrictions:
    • PagerDuty schedules migrated via iCal are read-only in IRM.
    • Opsgenie schedules with time restrictions (time-of-day or weekday-and-time-of-day) aren’t supported.
    • Splunk OnCall multi-day shifts with hand-off periods greater than one week aren’t supported.
  • Escalation step types: The tools don’t support all escalation step types from Splunk OnCall or Opsgenie.
  • Manual configuration: Some PagerDuty resources may require manual adjustments before you can migrate them in web schedule migration mode.

Note

Supported resources and limitations vary by source platform. For your specific platform, refer to the Grafana IRM tooling migration documentation.

Next steps