How it works
When a test meets a specified threshold in Zabbix, it sends a JSON-formatted webhook to xMatters. A Zabbix trigger in xMatters parses the webhook and initiates a flow. The webhook includes essential alert data that is included in notifications sent to users, and details about the origin of the alert that you can use to enrich the notifications or use when building automated tasks.
Here's how to install the Zabbix workflow through the xMatters one-click installation process.
- Go to the Workflows Templates page and click the Zabbix tile.
- On the Install Workflow dialog box, give the workflow a name (this must be unique in your instance) and add an optional description.
- You can edit these later, if needed.
- Click Install.
- After the workflow installs, the screen shows next steps as well the installation logs. The installation logs give you additional information about the installation, such as if you have languages in your instance that aren't configured for the messages in the workflow.
- Copy the trigger URL — you’ll use this to configure a webhook in Zabbix.
- The trigger URL includes the recipients parameter, which specifies who should be notified. By default, this parameter is set to notify you (the logged in user), but you can set it to target any user or group you want.
- Click Open Workflow.
Configure Zabbix to send requests to the trigger URL
To have Zabbix send alerts to the flow trigger, you need to configure a webhook and set it to use the trigger URL.
- In Zabbix, go to Administration and select Media Types.
- Click Import.
- Select xMatters_media_type.xm to import it:
- Once imported, edit the file by selecting it from the list:
- Change the xm_url to the trigger URL you copied from xMatters earlier.
- If you're using Basic or API key authentication, update the xm_auth with your Base-64 encoded username and password in the following format: username:password or api_key:secret.
- Add the target names of any recipients you want xMatters to notify when the alert fires.
- For example, if you want to notify Emma Pearson and the on-call members in the group responsible for the Antares service, you'd add ?recipients=epearson,antares to the URL. You must URL-encode any special characters or spaces in the target names.
- Click Update to save the file.
Now you need to create an xMatters user in Zabbix.
- In Zabbix, go to Administration and select Users.
- Click Create user:
- On the User tab, enter the following information:
- Alias: xMatters
- Name: xMatters
- Surname: API
- Groups: Select any group available in your instance of Zabbix
- Password: Set a password for this user
- Password (once again): Confirm the password
- On the Media tab, click Add and enter the following information (the other fields can be left with the default information):
- Type: xMatters
- Send to: xMatters
- Click Add.
- On the Permissions tab, type and select the Super admin role
- When complete, the user screen should look similar to this:
- Click Add.
You now need to create an action in Zabbix.
- In Zabbix, go to Configuration and select Actions.
- Create a new action and give it a unique Name. You can also modify existing actions.
- Create the Conditions and click Add:
- On the Operations tab, Add xMatters as a user to the Send to users sections for Operations, Recovery operations, and Update operations:
- Click Update to save all changes.
You're ready to use the webhook to trigger automated flows, including steps such as sending alerts and initiating incidents, though we always recommend testing before putting things into use.
The trigger expects the recipients in the trigger URL. When you copy the URL from xMatters, it includes the recipients parameter: recipients=<yourname>. Of course, you don’t want to receive all the alerts.
To change the recipients for alerts from this webhook, swap out your name for the people or groups you want to target. For example, to target the 'DatabaseTeam', 'Antares Service Team', and 'HR & Marketing' groups, add recipients=databaseteam,antares%20service%20team,HR%20%26%20Marketing to the trigger URL. Remember to URL-encode any special characters, including spaces, in your group names.
When a condition you've set fires, it sends a signal to xMatters, which creates an event and notifies the individual or the on-call members of the people or groups you set as recipients in the webhook URL. When the trigger receives a signal saying the issue is resolved, it automatically terminates related events in xMatters.
The person responding to the notification has the following response options:
- Acknowledge: Acknowledges the notifications and stops escalations.
- Escalate: Immediately escalates the event to the next on-call resolver in a targeted group.
- Close: Ends the xMatters event and stops notifying all targeted recipients.
- Initiate Incident: Initiates an incident in xMatters.
Now that you've installed the Zabbix workflow, you can use it as-is, or customize it to suit your needs better. Here are some examples of things you can add to the workflow to customize it:
- Use Slack, Zoom, and Microsoft Teams steps to add collaboration channels to the flow.
- Change the severity of incidents created when a recipient selects the Initiate Incident response.
- Update the message sent to resolvers to include the information most relevant to your team.
- Use the Zabbix Alerts trigger to build your own custom flows.