Skip to main content

xMatters

CatalogScorecards

xMatters is an on-call management platform. By integrating xMatters with Cortex, you can drive insights into your on-call rotations and trigger incidents directly.

Setup and configuration

Configuration

To connect Cortex to your xMatters instance, you’ll need to add your username, password, and host under xMatters settings in Cortex.

  • Username: Username for your xMatters account.
  • Password: Password for your xMatters account.
  • Organization slug: Slug for your xMatters instance. Can be found in the URL for your instance (e.g. https://{organization_slug}.xmatters.com).
    • Only enter the slug, not the entire URL for your instance.
caution

If you do not see the settings page you're looking for, you likely don't have the proper permissions and need to contact your admin.

If you’ve set everything up correctly, you’ll see the option to Remove Integration in settings.

You can also use the Test configuration button to confirm that the configuration was successful. If your configuration is valid, you’ll see a banner that says “Configuration is valid. If you see issues, please see documentation or reach out to Cortex support.”

Registration

Discovery

By default, Cortex will use the entity tag (e.g. my-entity) as the "best guess" for the xMatters group. For example, if your entity tag is my-entity, then the corresponding group in xMatters should also be my-entity.

If your xMatters groups don’t cleanly match the Cortex entity tag, you can override this in the Cortex entity descriptor.

Entity descriptor

If you need to override automatic discovery, you can define the following block in your Cortex entity descriptor.

x-cortex-oncall:
xmatters:
id: engineering_group
type: SERVICE
FieldDescriptionRequired
idName of the group in xMatters
typeSERVICE

Expected results

Entity pages

Once the integration with xMatters is configured, you'll be able to find the user or team on call in the Current On-call block on an entity's details page.

Integrations - On-call

You can find more detailed information from the xMatters integration on the On-call page under the Integrations tab.

The schedule associated with a given entity will be hyperlinked in the Escalation Policy block and the group will be hyperlinked in the Service block.

Under the Escalations section, you'll find each level associated with the policy. Owners assigned to each level will also be hyperlinked to the user or team's on-call page in xMatters.

Scorecards and CQL

With the xMatters integration, you can create Scorecard rules and write CQL queries based on xMatters services.

Check if on-call is set

Check if entity has a registered group.

Definition: oncall (==/!=) null

Example

For a Scorecard focused an production readiness, you can use this expression to make sure on-call is defined for entities:

oncall != null

This rule will pass if an entity has an on-call schedule set.

Number of escalations

Number of escalation tiers in escalation policy.

Definition: oncall.numOfEscalations()

Example

This expression could be used in a Scorecard focused on production readiness or service maturity. For example, you can check that there are at least two tiers in an escalation policy for a given entity, so that if the first on-call does not ack, there is a backup:

oncall.numOfEscalations() >= 2

While making sure an on-call policy set is a rule that would be defined in a Scorecard's first level, a rule focused on escalation tiers would make more sense in a higher level.

On-call metadata

On-call metadata, including type, ID, and name.

Definition: oncall.details()

Example

You can use this expression in the Query builder to find all entities with an on-call rotation associated with a given group. Let's say we want to find all entities that the "Sample team" is on-call for.

oncall.details().id.matches("Sample*") == true

Because the team/group name is registered in the ID field in the entity descriptor, we would use .id instead of .name.

Triggering incidents

With the xMatters integration, you’ll also have the ability to trigger incidents from the On-call page under Integrations.

When you click Trugger incident, a modal where open where you can enter information about the incident: title, details, urgency, and associated email address. The incident will then be triggered directly in xMatters.

Still need help?

The following are all the ways to get assistance from our customer engineering team. Please use the option that is best for your users:

  • Email: help@cortex.io, or open a support ticket in the in app Resource Center
  • Chat: Available in the Resource Center
  • Slack: Users with a connected Slack channel will have a workflow added to their account. From here, you can either @CortexTechnicalSupport or add a :ticket: reaction to a question in Slack, and the team will respond directly.

Don’t have a Slack channel? Talk with your customer success manager.