xMatters
xMatters is an on-call management platform.
Integrating Cortex with xMatters allows you to:
- Pull in on-call rotation data and escalation policies
- The on-call user or team will appear in the Current On-call block on an entity's details page.
- You can also view on-call information on an entity page in its side panel under Integrations > On-call.
- Trigger xMatters incidents from Cortex
- Create Scorecards that track progress and drive alignment on projects involving your xMatters services
How to configure xMatters with Cortex
Configure the integration in Cortex
- In Cortex, navigate to the xMatters settings page:
- In Cortex, click your avatar in the lower left corner, then click Settings.
- Under "Integrations," click xMatters.
- Configure the xMatters integration form:
- Username and Password: Enter your xMatters username and password.
- Organization slug: Enter the organization slug for your xMatters instance.
- This can be found in the URL for your instance (e.g.,
https://{organization_slug}.xmatters.com
)
- This can be found in the URL for your instance (e.g.,
- Click Save.
If you do not see the settings page you're looking for, you may not have permission to access that page. Please contact your admin for assistance.
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.”
Trigger an incident
While viewing an entity in Cortex, you can trigger an incident in xMatters:
- In Cortex, navigate to an entity. On the left side of an entity details page, click Integrations > On-call.
- In the upper right side of the entity's "On-call" page, click Trigger incident.
- Configure the incident modal:
- Summary: Enter a title for the incident.
- Description: Enter a description of the incident.
- Severity: Select a severity level.
- At the bottom of the modal, click Trigger incident.
- A confirmation screen will appear. In the confirmation, click the link to view the incident in xMatters.
How to connect Cortex entities to xMatters
Discovery
By default, Cortex will use the entity tag (e.g. my-entity
) as the "best guess" for 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 group don’t cleanly match the Cortex entity tag, you can override this in the Cortex entity descriptor.
Editing the 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
Field | Description | Required |
---|---|---|
id | Name of the group in xMatters | ✓ |
type | SERVICE | ✓ |
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.
See more examples in the CQL Explorer in Cortex.
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
.
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.