If a trigger fires, Zabbix will send an event to a service in Zendesk. Event from Zabbix will trigger a new incident on the Zendesk service.
The Zendesk tickets are created for Problem, Problem recovery, Problem update, Discovery, Autoregistration, Internal problem events. Internal problem recovery event is unsupported.
The Zendesk ticket type field is defined in the zendesk_type parameter of the media. The following event types are supported: question, incident, problems, task.
Custom fields and the subject field are updated when the update action (Problem update or Problem recovery) is performed.
Tags, priority, and status fields are filled in only when creating a ticket. They are not overwritten when the update action is performed.
Custom fields can only be of the text, number, or date types. Other field types or nonexistent IDs will be ignored.
The {ALERT.MESSAGE} macro is used to fill in the ticket body for all actions.
The {EVENT.NAME} macro is used as a subject of a ticket for trigger-based events, the {ALERT.SUBJECT} macro is used for non trigger-based events.
Zendesk webhook integration works with Zabbix version 5.0 or higher.
This guide describes how to integrate your Zabbix installation with Zendesk using the Zabbix webhook feature. This guide will provide instructions on setting up a media type, a user, and an action in Zabbix.
1. Create a user to connect between Zabbix and Zendesk.
3. Copy the Active API Token into your integration with Zabbix.
The configuration consists of a media type in Zabbix, which will invoke webhook to send alerts to Zendesk through the Zendesk API. To utilize the media type, we will create a Zabbix user to represent Zendesk. We will then create an alert action to notify the user via this media type whenever there is a problem detected.
1. Go to the Administration tab.
2. Under Administration, go to the General page and choose Macros from the drop-down list.
3. Add a macro {$ZABBIX.URL} with Zabbix frontend URL (for example http://192.168.7.123:8081).
4. Click the Update button to save the global macro.
1. Go to the Administration tab.
2. Under Administration, go to the Media types page and click Import button.
3. Select Import file media_zendesk.yaml and click Import button at the bottom to import the Zendesk media type.
4. Change the value of zendeskurl and zendesktoken variables. Zendesk_type parameter determines the ticket type in Zendesk. One of the following types can be used: question, incident (default), problems, task.
In addition, you can override the severity mapping between the Zabbix problem and the Zendesk ticket.
5. If you have custom fields in Zendesk and you want them to be filled in with values from Zabbix, add parameters in the form customfield_<Zendesk custom field ID>. Custom fields can only be of the text, number, or date types.
1. Go to the Administration tab.
2. Under Administration, go to the Users page and click the Create user button.
3. Fill in the details of this new user, and call it “Media User”. The default settings for Zendesk User should suffice as this user will not be logging into Zabbix.
4. Click the Select button next to Groups.
5. Click on the Media tab and, inside of the Media box, click the Add button.
6. In the new window that appears, configure the media for the user as follows:
7. Click the Add button at the bottom of the user page to save the user.
8. Use the Zendesk User in any Actions of your choice.
For more information, use the Zabbix and Zendesk documentations.
Zabbix 5.0, Zendesk API.
This guide describes how to integrate your Zabbix 5.0 installation with Zammad using the Zabbix webhook feature. This guide will provide instructions on setting up a media type, a user and an action in Zabbix.
1. Enable API Token Access in Settings > System > API.
2. Create a new user for a Zabbix alerter with an email address and create a personal user token with ticket.agent permissions.
1. Before setting up the Webhook, you need to setup the global macro {$ZABBIX.URL}, which must contain the URL to the Zabbix frontend.
2. In the Administration > Media types section, import the media_zammad.yaml
3. Open the added Zammad media type and set:
4. If you want to prioritize issues according to severity values in Zabbix, you can define mapping parameters:
6. Click the Update button to save the Webhook settings.
7. To receive notifications in Zammad, you need to create a Zabbix user and add Media with the Zammad type.
For Send to: enter any text, as this value is not used, but is required.
For more information, use the Zabbix and Zammad documentations.
Zabbix 5.0
This guide describes how to integrate Zabbix 6.0 installation with VictorOps using the Zabbix webhook feature. This guide provides instructions on setting up a media type, a user and an action in Zabbix.
1. Go to Integrations -> 3rd Party Integrations
2. Create REST integration. See VictorOps documentation for the information.
3. Save endpoint URL from URL to notify field.
1. In the Administration > Media types section, import media_victorops.yaml.
2. Open the newly added VictorOps media type and replace <PLACE ENDPOINT URL HERE> placeholder with your REST integration endpoint URL.
The following parameters should be filled:
vopsendpoint - URL of your VictorOps REST endpoint.
vopsrouting_key - routing key of the escalation policy.
3. The following parameters can help you customize the alerts (documentation for the information):
priorityseverity - value for the VictorOps *messagetype* field. severity is the severity's name in the default Zabbix installation.
priority_update is a mandatory field set as "INFO" by default. If you want to create an incident for every event on update operation (include manual close), pass "ACKNOWLEDGMENT" as the value of this parameter.
message_type is used to determine the behavior of the alert when it arrives.
field:Hostname or field_p:Hostname - contains data for custom fields. "Field" parameters with another format or empty value will be ignored.
Format explanation:
4. Create a Zabbix user and add Media with the VictorOps media type.
"Send to" field should be filled as "Default" or your routing key.
Make sure this user has access to all hosts, for which you would like problem notifications to be converted into VictorOps tasks.
For more information see Zabbix and VictorOps documentations.
Zabbix 6.0 and higher
This guide describes how to integrate your Zabbix installation with TOPdesk using the Zabbix webhook feature. This guide will provide instructions on setting up a media type, a user and an action in Zabbix.
1. Please create an application password according to the original instruction https://developers.topdesk.com/tutorial.html#show-collapse-usage-createAppPassword.
2. Copy the application password of your new integration to use it in Zabbix.
The configuration consists of a media type in Zabbix, which will invoke the webhook to send alerts to TOPdesk through the TOPdesk Rest API.
1. Create a global macro {$ZABBIX.URL} with Zabbix frontend URL (for example http://192.168.7.123:8081)
2. Import the TOPdesk media type from file media_topdesk.yaml.
3. Change in the imported media the values of the variables topdeskapi (URL), topdeskpassword, topdeskuser. The topdeskstatus is the default status for creating a new TOPdesk ticket.
For more information about the Zabbix Webhook configuration, please see the documentation.
To utilize the media type, we recommend creating a dedicated Zabbix user to represent TOPdesk. The default settings for TOPdesk User should suffice as this user will not be logging into Zabbix. Please note, that in order to be notified about problems on a host, this user must have at least read permissions for the host.
When configuring alert action, add this user in the Send to users field (in Operation details) - this will tell Zabbix to use TOPdesk webhook when sending notifications from this action. Use the TOPdesk User in any action of your choice. Text from "Action Operations" will be sent to "TOPdesk First Line Call Request" field when the problem happens. Text from "Action Recovery Operations" and "Action Update Operations" will be sent to "TOPdesk First Line Call Action" field when the problem is resolved or updated.
To receive notifications about internal problem events in TOPdesk: in the internal action configuration mark the Custom message checkbox and specify custom message templates for problem operations. Internal event recovery actions are not supported. If an internal action operation is configured without a custom message, the notification will not be sent. Note, that this step is required only for notifications about internal events; for other event types specifying a custom message is optional.
For more information, please see Zabbix and TOPdesk documentation.
Zabbix 5.0, TOPdesk RestApi 3.1.4.
This guide describes how to send notifications from Zabbix 5.0 to the Telegram messenger using Telegram Bot API and Zabbix webhook feature.
1. Register a new Telegram Bot: send "/newbot" to @BotFather and follow the instructions. The token provided by @BotFather in the final step will be needed for configuring Zabbix webhook.
2. If you want to send personal notifications, you need to obtain chat ID of the user the bot should send messages to.
Send "/getid" to "@myidbot" in Telegram messenger.
Ask the user to send "/start" to the bot, created in step 1. If you skip this step, Telegram bot won't be able to send messages to the user.
3.If you want to send group notifications, you need to obtain group ID of the group the bot should send messages to. To do so:
Add "@myidbot" and "@yourbotnamehere" to your group. Send "/getgroupid@myidbot" message in the group. In the group chat send "/start@yourbotnamehere". If you skip this step, Telegram bot won't be able to send messages to the group.
1. In the "Administration > Media types" section, import the media_telegram.yaml. 2. Configure the added media type: Copy and paste your Telegram bot token into the "telegramToken" field.
In the ParseMode
parameter set required option according to the Telegram's documentation.
Read the Telegram Bot API documentation to learn how to format action notification messages: Markdown / HTML / MarkdownV2.
Note: in this case, your Telegram-related actions should be separated from other notification actions (for example, SMS), otherwise you may get plain text alert with raw Markdown/HTML tags.
Test the media type using chat ID or group ID you've got.
If you have forgotten to send '/start' to the bot from Telegram, you will get the following error:
3.To receive notifications in Telegram, you need to create a Zabbix user and add Media with the Telegram type. In the "Send to" field enter Telegram user chat ID or group ID obtained during Telegram setup.
Make sure the user has access to all hosts for which you would like to receive Telegram notifications.
Great, you can now start receiving Zabbix notifications in Telegram!
This guide describes how to integrate your Zabbix installation with SysAid using the Zabbix webhook feature. This guide will provide instructions on setting up a media type, a user and an action in Zabbix.
The configuration consists of a media type in Zabbix, which will invoke the webhook to send alerts to SysAid through the Sysaid API.
You will need to configure the following fields in Sysaid webhook
For more information about the Zabbix Webhook configuration, please see the documentation.
To utilize the media type, we recommend creating a dedicated Zabbix user to represent SysAid. The default settings for SysAid User should suffice as this user will not be logging into Zabbix. Please note, that in order to be notified about problems on a host, this user must have at least read permissions for the host.
To receive notifications about internal problem and recovery events in SysAid: in the internal action configuration mark the Custom message checkbox and specify custom message templates for problem and recovery operations. If an internal action operation is configured without a custom message, the notification will not be sent. Note, that this step is required only for notifications about internal events; for other event types specifying a custom message is optional. For other even types message templates still should be defined on media type level.
For more information, please see Zabbix and SysAid documentation.
Zabbix 5.0+, SysAid.
This guide describes how to integrate Zabbix 5.0 installation with SolarWinds Service Desk using the Zabbix webhook feature. This guide provides instructions on setting up a media type, a user and an action in Zabbix.
Please note that recovery and update operations and SolarWinds Service Desk's custom fields are supported only for trigger-based events.
1. Before setting up a SolarWinds Service Desk Webhook, it is recommended to setup the global macro "{$ZABBIX.URL}" containing an URL to the Zabbix frontend.
As an example, this macro can be used to populate SolarWinds Service Desk's custom field with URL to an event info or graph.
2. In the Administration > Media types section, import the mediasolarwindsservicedesk.yaml.
3. Open the newly added SolarWinds Service Desk media type and replace all <PLACEHOLDERS> with your values.
The following parameters are required:
samanageurl - actual URL of your SolarWinds Service Desk instance,
samanagetoken - API token (see SolarWinds Service Desk tutorial for more information).
4. You can add the following parameters to customize SolarWinds Service Desk ticket:
priority_<severity>
: add this parameter for each Zabbix's severity or use only priority_default
.
priority_default
is mandatary.
Possible values of <severity>
:
sw_field_<fieldname>
: add this to fill default SolarWinds Service Desk fields, where <fieldname>
is a name of a field. The parameter can contain a simple value or a JSON string.
Name of the field and value should be consistent with SolarWinds Service Desk API specification.
Example:
Be careful to use user macro as a value, because special symbols such as quotes can make your JSON invalid.
sw_customfield_<fieldname>
: add this to fill preconfigured SolarWinds Service Desk custom field. <fieldname>
is a name of a field and may contain whitespaces.
Example:
5. Create a Zabbix user and add Media with the SolarWinds Service Desk media type. Though a "Send to" field is not used in SolarWinds Service Desk webhook, it cannot be empty. To comply with frontend requirements, you can put any symbol there. Make sure this user has access to all hosts for which you would like problem notifications to be converted into SolarWinds Service Desk tickets.
For more information see Zabbix and SOLARWINDS documentations.
Zabbix 5.0
This guide describes how to integrate your Zabbix 6.0 and higher installation with Slack using the Zabbix webhook feature. This guide will provide instructions on setting up a media type, a user and an action in Zabbix.
1. On the page Your Apps press Create an App, select From scratch and specify its name and workspace.
2. In the Add features and functionality section, select Bots and press Review Scopes to Add.
3. In the Scopes section, find Bot Token Scopes, press Add an OAuth Scope and add chat:write, im:write and groups:write scopes.
4. In the Settings section on the left side of the page press Install App and then Install to Workspace.
5. Press Allow and copy Bot User OAuth Access Token, which will be used to set up webhook.
1. Before setting up the Webhook, you need to setup the global macro {$ZABBIX.URL}, which must contain the URL to the Zabbix frontend.
2. In the Administration > Media types section, import the media_slack.yaml
3. Open the added Slack media type and set bot_token to the previously created token.
4. Click the Update button to save the Webhook settings.
5. To receive notifications in Slack, you need to create a Zabbix user and add Media with the Slack type.
The Send to field can contain several variants of values:
6. You must add your bot to the target channel
For more information, use the Zabbix and Slack API documentations.
Zabbix 6.0
When critical systems fail, SIGNL4 is the fastest way to alert your staff, engineers, IT admins on call and "in the field". SIGNL4 provides reliable notifications via mobile app push, text and voice calls with tracking, escalations and duty scheduling. Discover how to integrate with Zabbix 5.0 and get the SIGNL4 app at https://www.signl4.com.
Pairing Zabbix with SIGNL4 can enhance your daily operations with an extension to your team wherever it is. The two-way integration allows service engineers or IT administrators not only to receive alerts but also to acknowledge, annotate and close alerts, no matter where they are.
This section describes the setup and configuration of the SIGNL4 webhook for Zabbix:
Get SIGNL4
If not already done, sign up for your SIGNL4 account at https://www.signl4.com or directly from within your SIGNL4 app you can download from the Play Store or App Store.
Get the Webhook XML
If you use Zabbix 5.0 for higher, SIGNL4 is already available as a media type by default. Otherwise you can get the XML file (zabbix-signl4.xml) for Zabbix from Git (https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/signl4).
Import and Configure the Media Type
In the SIGNL4 media type you just need to configure the parameter "teamsecret". This is the team secret of your SIGNL4 team. This is the last part of your webhook URL: https://connect.signl4.com/webhook/
Please note that this user represents your SIGNL4 team, so it is more a team than a single user in this case.
Configure Two-Way Integration
In addition it is possible to acknowledge, annotate and close alerts from SIGNL4. To forward this information back to Zabbix, you need to configure the Zabbix connector in your SIGNL4 portal under Apps. Here you need to configure the Zabbix username and password as well as the public Zabbix URL reachable from the Internet.
Create an Action
Under Configuration -> Actions you can create an Action that will send the notification to the SIGNL4 user.
You can find the package in Git: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/signl4
You can find the information and packages for older Zabbix versions on GitHub: https://github.com/signl4/signl4-integration-zabbix
This guide describes how to integrate Zabbix 5.0 installation with ServiceNow using the Zabbix webhook feature. This guide provides instructions on setting up a media type, a user and an action in Zabbix.
Please note that recovery and update operations and ServiceNow's custom fields are supported only for trigger-based events.
1. First, create a service user for creating incidents.
2. Assign to the newly created user the following roles:
1. Before setting up a ServiceNow Webhook, it is recommended to set up a global macro "{$ZABBIX.URL}" containing a URL to the Zabbix frontend.
As an example, this macro can be used to populate ServiceNow's custom field with a URL to event info or graph.
2. In the "Administration -> Media types" section, import the media_servicenow.yaml
3. Open the newly added ServiceNow media type and replace all <PLACEHOLDERS> with your values.
The following parameters are required:
servicenowuser - login of the ServiceNow user created earlier
servicenowpassword - user's password
To export information into a ServiceNow custom field, add a parameter with the custom field ID as a key (if you need help finding custom field ID, see this page in ServiceNow community).
Notes:
4. Create a Zabbix user and add Media with the ServiceNow media type.
The Send to field must contain the full URL of your ServiceNow instance (https://<INSTANCE>.service-now.com/).
Make sure this user has access to all hosts for which you would like problem notifications to be converted into ServiceNow tasks.
For more information see Zabbix and ServiceNow documentations.
Zabbix 5.0
This guide describes how to integrate Zabbix 6.0 installation with Rocket.Chat using the Zabbix webhook feature. This guide provides instructions on setting up a media type, a user and an action in Zabbix.
By default, all new alerts will be posted as messages with an attachment card. Event updates and resolve messages will be added to the thread of the first message.
1. Create a user for API or use an existing one. Make sure the user is able to post messages in the required channel.
2. Grant to the user a role with create-personal-access-tokens permission. See Rocket.Chat documentation for the information.
3. Get the API access token. The tokens that will be generated are irrecoverable, after generating, you must save it in a safe place. If the token is lost or forgotten, you can regenerate or delete the token.
1. In the Administration > Media types section, import media_rocketchat.yaml.
2. Open the newly added Rocket.Chat media type and replace all <PLACEHOLDERS> with your values.
The following parameters should be filled:
rcurl - the actual URL of your Rocket.Chat instance.
rcuserid - Rocket.Chat API user ID.
rcuser_token - user's API access token created earlier.
3. The following parameters can help you customize the alerts:
rcapiurl - API URL. Can be useful if the version will be changed.
rcsendto - #channel or @username. Supports private and public channels and direct messages.
usedefaultmessage - false (default) or true. If true all messages will be posted as text of {ALERT.MESSAGE}. For non trigger-based notifications, it is always set as true.
field1short_p:Host - contains data for each field of the attachment. "Field" parameters with another format or empty value will be ignored.
Format explanation:
4. Create a Zabbix user and add Media with the Rocket.Chat media type.
"Send to" field should be filled as #channel_name
or @username
.
Note, that "Send to" field cannot be empty. If the channel is already specified in the rcsendto parameter, you can put any symbol in this field to comply with frontend requirements.
Make sure this user has access to all hosts, for which you would like problem notifications to be converted into Rocket.Chat tasks.
For more information see Zabbix and Rocket.Chat documentations.
Zabbix 6.0 and higher
This guide describes how to integrate your Zabbix 6.0 installation with Redmine using the Zabbix webhook feature. This guide will provide instructions on setting up a media type, a user and an action in Zabbix.
1. Enable REST API in Administration > Settings > API.
2. Find your API key on your account page when logged in, on the right-hand pane of the default layout.
1. Before setting up the Webhook, you need to setup the global macro {$ZABBIX.URL}, which must contain the URL to the Zabbix frontend.
2. In the Administration > Media types section, import the media_redmine.yaml
3. Open the added Redmine media type and set:
4. If you want to close issues on trigger resolve, add parameter redmineclosestatus_id with close Status ID as value. (Status with "Issue closed" tick)
5. If you have custom fields in Redmine and you want them to be filled in with values from Zabbix, add parameters in the form customfield_<Redmine custom field ID>. Custom fields can only be of the text, integer, float or date types. Custom fields of date type must be in the format "YYYY-MM-DD".
6. If you want to prioritize issues according to severity values in Zabbix, you can define mapping parameters:
7. Click the Update button to save the Webhook settings.
8. To receive notifications in Redmine, you need to create a Zabbix user and add Media with the Redmine type.
For Send to: enter any text, as this value is not used, but is required.
For more information, use the Zabbix and Redmine documentations.
Zabbix 6.0
With Pushover, a user can be notified the most convenient way — with push notification straight to a mobile device.
Register the account at https://pushover.net/ and then install Pushover app at your iOS or Android device.
Then click here to create new integration with Zabbix.
At this point, we have Application API Token (token) of the Zabbix application and Pushover User Key.
You would need both in Zabbix pushover webhook.
Go to Administration->General (Macro) and create new macro that points to your Zabbix frontend
{$ZABBIX.URL}
= https://myzabbix.local
Proceed to Administration→ Media types at the Zabbix frontend and find Pushover. If you don't have it, import it from the official Zabbix repository here:
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/pushover
Edit Pushover media type parameters and replace token with your Pushover application key.
Next, proceed to your User profile and create new Media of Pushover type, use your User key in Send to field.
Also, you can customize Pushover message priority for each Zabbix severity. Change value of priority<severityname> parameter. It must be between -2 and 2.
By default, messages have normal priority (a priority of 0).
For more information check Pushover documentation.
Make sure proper trigger actions are set at Configuration→Actions page. For starters, you can enable default "Report problems to Zabbix administrators" rule.
You are all set! Now break something to receive a notification :)
Incidents will automatically resolve in PagerDuty when the metric in Zabbix returns to normal.
If a trigger fires, Zabbix will send an event to a service in PagerDuty. Events from Zabbix will trigger a new incident on the corresponding PagerDuty service or group as alerts into an existing incident.
This guide describes how to integrate your Zabbix 6.0 installation with PagerDuty using the Zabbix webhook feature. This guide will provide instructions on setting up a media type, a user and an action in Zabbix.
From the Service menu, select Service Directory.
On your Services page:
If you are adding your integration to an existing service, click the name of the service you want to add the integration to. Then click the Integrations tab and click the +Add an Integration button, select Zabbix Webhook using search field and click Add.
After successfully added integration use Integration Key from it in token macros for PagerDuty zabbix media type.
The configuration consists of a media type in Zabbix, which will invoke webhook to send alerts to PagerDuty through the PagerDuty Event API v2. To utilize the media type, we will create a Zabbix user to represent PagerDuty. We will then create an alert action to notify the user via this media type whenever there is a problem detected.
1. Go to the Administration tab.
2. Under Administration, go to the General page and choose the Macros from drop-down list.
3. Add the macro {$ZABBIX.URL} with Zabbix frontend URL (for example http://192.168.7.123:8081).
4. Click the Update button to save the global macros.
1. Go to the Administration tab.
2. Under Administration, go to the Media types page and click the Import button.
3. Select Import file media_pagerduty.yaml and click the Import button at the bottom to import the PagerDuty media type.
4. Change the value of the variable token
1. Go to the Administration tab.
2. Under Administration, go to the Users page and click the Create user button.
3. Fill in the details of this new user, and call it “PagerDuty User”. The default settings for PagerDuty User should suffice as this user will not be logging into Zabbix.
4. Click the Select button next to Groups.
5. Click on the Media tab and, inside of the Media box, click the Add button.
6. In the new window that appears, configure the media for the user as follows:
7. Click the Add button at the bottom of the user page to save the user.
8. Use the PagerDuty User in any Actions of your choice.
For more information, use the Zabbix and PagerDuty documentations.
Zabbix 6.0, PagerDuty Events API v2.
This guide describes how to integrate your Zabbix 6.0 installation with ((OTRS)) Community Edition, hereinafter - "((OTRS)) CE", using the Zabbix webhook feature. This guide will provide instructions on setting up a media type, a user and an action in Zabbix.
1. Import ZabbixTicketConnector.yml in Admin > Web Services.
2. Create a new user for a Zabbix alerter with an email address.
1. Before setting up the Webhook, you need to setup the global macro {$ZABBIX.URL}, which must contain the URL to the Zabbix frontend.
2. In the Administration > Media types section, import the mediaotrsce.yaml
3. Open the added ((OTRS)) CE media type and set:
4. If you want to prioritize issues according to severity values in Zabbix, you can define mapping parameters:
5. If you have dynamic fields in ((OTRS)) CE and you want them to be filled with values from Zabbix, add parameters in the form dynamicfield_<((OTRS)) CE dynamic field name>. Dynamic fields can only be of the text, textarea, checkbox, or date types.
6. Click the Update button to save the Webhook settings.
7. To receive notifications in ((OTRS)) CE, you need to create a Zabbix user and add Media with the ((OTRS)) CE type.
For Send to: enter any text, as this value is not used, but is required.
For more information, use the Zabbix and ((OTRS)) CE documentations.
Zabbix 6.0
This guide describes how to integrate your Zabbix installation with Opsgenie using Zabbix webhook feature. This guide provides instructions on setting up a media type, a user and an action in Zabbix.
Create an API Key
following original instructions on how to integrate API.
Copy the API Key
of your new integration to use it in Zabbix.
The configuration consists of a media type in Zabbix, which will invoke the webhook to send alerts to Opsgenie through the Opsgenie Rest API.
{$ZABBIX.URL}
following instructions in Zabbix documentation with Zabbix frontend URL - for example, http://192.168.7.123:8081
.opsgenie_api
(https://api.opsgenie.com/v2/alerts or https://api.eu.opsgenie.com/v2/alerts);opsgenie_web
(e.g., https://myzabbix.app.opsgenie.com);opsgenie_token
.You can also set your own tags into opsgenie_tags
as opsgenie_teams
as
The priority level in severity_default
will be used for non-triggered actions.
For more information on Zabbix webhook configuration, see Zabbix documentation.
To utilize the media type, it is recommended to create a dedicated Zabbix user to represent Opsgenie.
See more details on creating Zabbix user.
Opsgenie user should suffice the default settings as this user will not be logging into Zabbix. Note that in order to be notified about problems on a host, this user must have at least read permissions for this host.
When configuring alert action, add this user in the Send to users field (in Operation details) - this will tell Zabbix to use Opsgenie webhook when sending notifications from this action.
Use the Opsgenie user in any actions of your choice. A text from "Action Operations" will be sent to "Opsgenie Alert" when the problem occurs. The text from "Action Recovery Operations" and "Action Update Operations" will be sent to "Opsgenie Alert Notes" when the problem is resolved or updated.
Media testing can be done manually, from Media types
page. Press Test
button opposite to previously defined media type.
[](images/4.png)
event.value
to 0
(it indicates a recovery event) on the test page and press Test
button again to send the problem close request.To receive notifications about an internal problem and recovery events in Opsgenie, mark the Custom message checkbox in the internal action configuration and specify custom message templates for problem and recovery operations. If an internal action operation is configured without a custom message, the notification will not be sent. Note that this step is required only for notifications about internal events; for other event types specifying a custom message is optional.
See more details on Notifications upon events in Zabbix documentation and on Alert API in Opsgenie documentation.
If both recovery and update operations are defined for an action and the problem is closed manually in the frontend, closing operation will be executed first. Update operations for the resolved event will not be executed but the status of these operations will be changed to "Sent" in order to stop failed request attempts.
Zabbix 6.0, Opsgenie Alert API.
Please report any issues with this media type at https://support.zabbix.com. You can also provide feedback, discuss the template, or ask for help at ZABBIX forums.
This guide describes how to integrate Zabbix 6.0 with MS Teams Workflow using the Zabbix webhook feature, providing instructions on setting up a media type, a user, and an action in Zabbix.
This integration is supported only on Teams as part of Office 365. Note that the Teams free plan does not support the MS Teams Workflow feature.
Zabbix version: 6.0 and higher.
User parameters are intended to be changed according to the webhook setup as well as the user's preferences and environment.
Name | Value | Description |
---|---|---|
teams_endpoint | <PLACE WEBHOOK URL HERE> | MS Teams workflow-webhook URL. |
zabbix_url | {$ZABBIX.URL} | Current Zabbix URL. |
System parameters are reserved for predefined macros that are not meant to be changed.
Name | Value | Description |
---|---|---|
event_source | {EVENT.SOURCE} | Numeric value of the event source. Possible values: 0 - Trigger, 1 - Discovery, 2 - Autoregistration, 3 - Internal, 4 - Service. |
event_value | {EVENT.VALUE} | Numeric value of the event that triggered an action (1 for problem, 0 for recovering). |
eventupdatestatus | {EVENT.UPDATE.STATUS} | Numeric value of the problem update status. Possible values: 0 - Webhook was called because of problem/recovery event, 1 - Update operation. |
event_nseverity | {EVENT.NSEVERITY} | Numeric value of the event severity. Possible values: 0 - Not classified, 1 - Information, 2 - Warning, 3 - Average, 4 - High, 5 - Disaster. |
event_severity | {EVENT.SEVERITY} | Name of the event severity. |
eventupdatenseverity | {EVENT.UPDATE.NSEVERITY} | Numeric value of the event update severity. Possible values: 0 - Not classified, 1 - Information, 2 - Warning, 3 - Average, 4 - High, 5 - Disaster. |
eventupdateseverity | {EVENT.UPDATE.SEVERITY} | Name of the event update severity. |
alert_message | {ALERT.MESSAGE} | 'Default message' value from action configuration. |
alert_subject | {ALERT.SUBJECT} | 'Default subject' value from action configuration. |
event_id | {EVENT.ID} | Numeric ID of the event that triggered an action. |
trigger_id | {TRIGGER.ID} | Numeric ID of the trigger of this action. |
Please be aware that each webhook supports an HTTP proxy. To use this feature, add a new media type parameter with the name
http_proxy
and set its value to the proxy URL.
To set up a MS Teams Workflow webhook, follow these steps:
Open Teams:
Find the Workflows app:
Create a new flow:
Search for a template:
Name your flow:
Configure the flow:
Create Flow
.Save the Workflow endpoint URL:
Verify the new Workflow:
View flow details:
Note: If you want to remove the footer message "USERNAME used a Workflow to send this card. Get template", you need to make a copy of the created from the template workflow. To do this, after step 9 click on Save as
button and save a new copy. Do not forget to copy endpoint URL from the new copied workflow instead of using the one from step 7.
Set up the global macro:
Administration
→ Macros
section in the menu on the left-hand side.{$ZABBIX.URL}
which will contain the URL to the Zabbix frontend. The URL should be either an IP address, a fully qualified domain name, or a localhost.http://zabbix.com
https://zabbix.lan/
http://server.zabbix.lan/
http://localhost
http://127.0.0.1:8080
zabbix.com
http://zabbix/
Import the media type:
Administration
→ Media types
section, import the mediamsteamsworkflow.yaml file.Configure the MS Teams Workflow media type:
<PLACE WEBHOOK URL HERE>
with the incoming webhook URL created during step 7 of the MS Teams workflow setup.Create a Zabbix user and add media:
Administration
→ Users
section, click the Create user
button in the top-right corner. In the User
tab, fill in all the required fields (marked with red asterisks).Media
tab, add a new media type and select MS Teams Workflow from the drop-down list. Although the Send to
field is not used in MS Teams Workflow media, it cannot be empty. To comply with frontend requirements, fill in the field with any symbol.Permissions
tab.You can now start receiving alerts!
Note: The MS Teams Workflow webhook supports Markdown format for Adaptive Cards syntax in the alert message and subject. If you want to make use of it, go to Alerts
→ Media types
, find the "MS Teams Workflow" media type, click on it, and in the Message templates
tab, choose the desired message template and edit it using Markdown syntax.
For more information, see Zabbix Documentation and MS Teams Workflow Documentation.
Please report any issues with the media type at https://support.zabbix.com
.
You can also provide feedback, discuss the media type, or ask for help at ZABBIX forums
.
This guide describes how to integrate Zabbix 5.0 with MS Teams using the Zabbix webhook feature. This guide will provide instructions on setting up a media type, a user and an action in Zabbix. This integration is supported only for Teams as part of Office 365. Note, that Teams free plan does not support incoming webhook feature.
Microsoft Teams webhook only supports integrating with a single channel.
First, you need to get a webhook URL for the channel. There are two ways to do this:
Add official Zabbix webhook connector from MS Teams apps for the channel, where you want to receive notifications. (Check how to add a connector to a channel)
Create Incoming webhook for your channel. (See Teams documentation for the step-by-step instructions).
1. In the Zabbix web interface go to Administration → General section and select Macros from the dropdown menu in top left corner. Setup the global macro "{$ZABBIX.URL}" which will contain the URL to the Zabbix frontend.
The URL should be either an IP address, a fully qualified domain name or localhost. Specifying a protocol is mandatory, whereas port is optional.
Good examples:
http://zabbix.com
https://zabbix.lan/
http://server.zabbix.lan/
http://localhost
http://127.0.0.1:8080
Bad examples:
zabbix.com
http://zabbix/
2. In the Administration > Media types section, import the mediamsteams.yaml
3. Open the newly added MS Teams media type and replace placeholder <PLACE WEBHOOK URL HERE> with the incoming webhook URL, created during the webhook setup in MS Teams.
4. You can also choose between two notification formats. Set "use_default_message" parameter:
5. To receive Zabbix notifications in MS Teams, you need to create a Zabbix user and add Media with the MS Teams media type.
In the Administration → Users section, click Create user button in the top right corner. In the User tab, fill in all required fields (marked with red asterisks). In the Media tab, add a new media and select "MS Teams" type from the drop-down list. Though a "Send to" field is not used in MS Teams media, it cannot be empty. To comply with the frontend requirements, you can put any symbol there.
Make sure this user has access to all hosts for which you would like problem notifications to be sent to MS Teams.
6. Great! You can now start receiving alerts!
For more information see Zabbix and MS Teams webhook documentations.
Zabbix 5.0
This guide describes how to integrate your Zabbix 6.0 installation with Mattermost using the Zabbix webhook feature. This guide will provide instructions on setting up a media type, a user and an action in Zabbix.
1. From the Main menu of your Mattermost installation, select Integrations and click on the Bot accounts block.
2. Click on the Add Bot Account button and fill in the required fields and enable permissions for post:all and post:channels.
3. The bot account is created and given an Access Token that you need to save. It will not be displayed later.
4. Add a Bot Account to your Team so that it can send messages to the team channels. To do this, click Invite People from the Main menu.
5. The bot can already send messages to public channels and user channels (direct messages). To send it to a private channel, add it as a member.
1. Before setting up the Webhook, you need to setup the global macro {$ZABBIX.URL}, which must contain the URL to the Zabbix frontend.
2. In the Administration > Media types section, import the media_mattermost.yaml
3. Open the added Mattermost media type and set bottoken to the previously created token and mattermosturl to the frontend URL of your Mattermost installation.
4. Click the Update button to save the Webhook settings.
5. To receive notifications in Mattermost, you need to create a Zabbix user and add Media with the Mattermost type.
The Send to field can contain several variants of values:
team_name/#channel_name
formatteam_name/@user_name
format for direct messagesYou can view the channel identifier in the channel properties.
For more information, use the Zabbix and Mattermost documentations.
Zabbix 6.0
This guide describes how to integrate your Zabbix installation with MantisBT issues using Zabbix webhook feature. This guide will provide instructions on setting up a media type, a user and an action in Zabbix.
1. Create or use an existing project for creating issues.
2. Create or use an existing user in MantisBT with the permission to create issues in the desired project. You can check the instruction how to do it.
3. Create an access token according to the original instruction.
4. Copy the access token to use it in Zabbix.
MantisBT media type must be configured in Zabbix, which will invoke the webhook to send alerts to MantisBT issues through MantisBT Rest API.
1. Import MantisBT media type from media_mantisbt.yaml file.
2. Change values of the following parameters in the imported media:
3. Create a user and add MantisBT media type to it. Use your MantisBT project name in the "Send to" field.
4. Set up a global macro {$ZABBIX.URL} with the current Zabbix URL. Please note that HTTPS will be used by default if HTTP/HTTPS schema is not present in the URL.
For more information, please see Zabbix and MantisBT documentation.
Zabbix 6.0, MantisBT 2.22
This guide describes how to integrate Zabbix 6.0 installation with ManageEngine ServiceDesk (both on-premise and on-demand) using the Zabbix webhook feature. This guide provides instructions on setting up a media type, a user and an action in Zabbix.
Please note that recovery and update operations are supported only for trigger-based events.
At first, create a user for API or use an existing one.
1. Go to Admin -> Technicians.
2. Click the Add New Technician link, enter the Technician details and provide login permission.
3. Click Generate link under the API key details block. Select a time frame for the key to expire using the Calendar icon, or simply retain the same key perpetually.
4. Save TECHNICIAN_KEY for use in Zabbix later.
1. Go to Zoho Developer Console.
2. Choose Self Client from the list of client types, and click Create Now.
3. Click OK in the pop up to enable a self client for your account.
4. Now, your Client ID and Client secret are displayed under the Client Secret tab. Save them for use in Zabbix later.
5. Click the Generate Code tab and enter the SDPOnDemand.requests.ALL scope.
6. Select the Time Duration for which the grant token is valid. Please note that after this time, the grant token expires.
7. Enter a description and click Generate.
8. The generated code for the specified scope is displayed. Copy the grant code.
9. Make a POST request with the URL params following parameters:
Example:
curl -X POST 'https://accounts.zoho.com/oauth/v2/token?code=1000.f74e7b6fc16c95bbc1fa2f067962f84b.9768e796b6273774817032613ba6892a&grant_type=authorization_code&client_id=1000.15S25B602CISR5WO9RUZ8UT39O3RIH&client_secret=9ea302935eb150d9d6cbefd35b1eb8891332d815b8&redirect_uri=https://www.zoho.com'
Use your domain-specific Zoho accounts URL when you make the request.
10. If the request is successful, you will receive the following output:
{ “access_token”: “1000.2370ff1fd75e968ae780cd8d14841e82.03518d2d1dab9c6c4cf74ae82b89defa”, “refresh_token”: “1000.2afabf2f5a396325e88f715c6de34d12.edce6130ca3832a14e5f80d005a5324d”, “token_type”: “Bearer”, “expires_in”: 3600 }
Save the refresh_token for using in Zabbix later.
1. In the Administration > Media types section, import mediamanageengineservicedesk.yaml.
2. Open the newly added ManageEngine ServiceDesk media type and replace all <PLACEHOLDERS> with your values.
The following parameters are required for on-premise ServiceDesk:
sdonpremise - true.
sdurl - the URL of your instance.
sdonpremiseauthtoken - the TECHNICIANKEY generated earlier.
field_ref:requester - login of the account used for request creation.
The following parameters are required for on-demand ServiceDesk:
sdonpremise - false.
*sdurl - the URL of your instance.
sdondemandurlauth - your domain-specific Zoho accounts URL for refreshing access token.
sdondemandclientid, sdondemandclientsecret, sdondemandrefreshtoken - created earlier authentication details.
fieldref:requester - requester's displaying name. You can remove this parameter or use any name. "Zabbix", for example.
3. Create a Zabbix user and add Media with the ManageEngine ServiceDesk media type. Though a "Send to" field is not used in ManageEngine ServiceDesk webhook, it cannot be empty. To comply with frontend requirements, you can put any symbol there. Make sure this user has access to all hosts, for which you would like problem notifications to be converted into ManageEngine ServiceDesk tasks.
You can add any data to ServiceDesk or user-defined fields.
Please see the On-demand and On-premise API specification for details about fields.
Most of fields should be filled as single-line string, other should be an object with name property. Zabbix can fill both, but not "date" fields.
Supported field types: Single-line, Multi-line, Numeric, Pick List, Email, Phone, Currency, Decimal, Percent, Web URL, Radio Button, Decision Box. All of them should be passed as string.
Fields should be in format fieldstring:fieldname, where:
field - can be *field* for system fields or *udffield* for user-defined fields. The prefix for payload generator.
string - should be string for single-line strings or any other for REFERRED_FIELD.
: - separator between prefix and field name.
fieldname - the name of ServiceDesk or user-defined field.
Examples:
field_string:subject
field_ref:template
udf_field_string:udf_char1
For more information see Zabbix and ManageEngine ServiceDesk documentations.
Zabbix 6.0 and higher
This guide describes how to integrate your Zabbix installation with LINE messenger using Zabbix webhook feature. It also provides instructions on setting up a media type, a user and an action in Zabbix.
Create a messaging channel access token
following original instructions on How to use the messaging API.
Copy the channel access token
of your new integration to be used in Zabbix.
The configuration consists of a Media type in Zabbix, which will invoke the webhook to send alerts to LINE messenger through the LINE messaging API.
{$ZABBIX.URL}
following these instructions in Zabbix documentation with Zabbix frontend URL - for example, http://192.168.7.123:8081
.bot_token
to the channel access token
.For more information on Zabbix webhook configuration, see Zabbix documentation.
LINE
for each user you would like to get notified and fill Send to field with the corresponding ID of the target recipient. Use a userId
, groupId
, or roomId
value. See Common properties in webhook event objects for more information.See more details on creating Zabbix user.
LINE user should suffice the default settings as this user will not be logging into Zabbix. Note that in order to be notified about problems on a host, this user must have at least read permissions for this host.
When configuring an alert action, add this user in the Send to users field (in Operation details) - this will tell Zabbix to use LINE webhook when sending notifications from this action.
Use the LINE user in any actions of your choice.
Media testing can be done manually, from Media types
page. Press Test
button opposite to the previously defined media type, under Actions.
alert_message
= Test messagealert_subject
= Test subjectbot_token
= Channel access token
event_id
= 1234567890event_nseverity
= 5event_source
= 0 (it simulates trigger based event)event_update_status
= 0 (not an update operation)event_value
= 1 (this is a problem event)send_to
= ID of the recipient
trigger_description
= Test trigger descriptiontrigger_id
= 0987654zabbix_url
= https://127.0.0.1[](images/3.png)
Zabbix 6.0, LINE messaging API.
Please report any issues with this media type at https://support.zabbix.com. You can also provide feedback, discuss the template, or ask for help at ZABBIX forums.
This guide describes how to integrate Zabbix 5.0 installation with Jira Service Desk using the Zabbix webhook feature. This guide provides instructions on setting up a media type, a user and an action in Zabbix.
Please note that recovery and update operations and Jira Service Desk's custom fields are supported only for trigger-based events.
1. Before setting up a Jira Service Desk Webhook, it is recommended to set up a global macro "{$ZABBIX.URL}" containing a URL to the Zabbix frontend.
As an example, this macro can be used to populate Jira Service Desk's custom field with a URL to event info or graph.
2. In the "Administration -> Media types" section, import the mediajiraservicedesk.yaml
3. Open the newly added Jira Service Desk media type and replace all
The following parameters are required:
jiraurl - actual URL of your Jira Service Desk instance,
jirauser - Jira Service Desk user login,
jirapassword - password or API token (for Jira Service Desk Cloud installations an API token can be obtained at https://id.atlassian.com/manage/api-tokens),
jiraservicedeskid - numerical ID of your Jira Service Desk (not to be mistaken with a project ID or a Service Desk key!),
jirarequesttypeid - numerical ID of your Jira Service Desk RequestType.
By default, the webhook does not use Jira Service Desk custom fields. To export information into your Jira Service Desk custom field, add a parameter with custom field ID as a key (if you need help finding custom field ID, see this page in Jira Service Desk documentation).
Notes:
4. Create a Zabbix user and add Media with the Jira Service Desk media type. Though a "Send to" field is not used in the Jira Service Desk webhook, it cannot be empty. To comply with frontend requirements, you can put any symbol there. Make sure this user has access to all hosts for which you would like problem notifications to be converted into Jira Service Desk tasks.
For more information see Zabbix and Jira Service Desk documentations.
Zabbix 5.0
This guide describes how to integrate Zabbix 5.0 installation with Jira using the Zabbix webhook feature. This guide provides instructions on setting up a media type, a user and an action in Zabbix.
Please note that recovery and update operations and Jira's custom fields are supported only for trigger-based events.
1. Before setting up a Jira Webhook, it is recommended to setup the global macro {$ZABBIX.URL}
containing an URL to the Zabbix frontend.
As an example, this macro can be used to populate Jira's custom field with URL to an event info or graph.
2. In the Administration > Media types section, import the media_jira.yaml.
3. Open the newly added Jira media type and replace all <PLACEHOLDERS> with your values.
The following parameters are required:
jiraurl - actual URL of your Jira instance,
jirauser - Jira user login,
jirapassword - password or API token (for Jira Cloud installations an API token can be obtained at https://id.atlassian.com/manage/api-tokens),
jiraprojectkey - text key of the Jira project (not to be mistaken with an ID!),
jiraissue_type - name of the issue type to be used when creating new issues from Zabbix notifications.
4. You can customize Jira issue by export information into Jira custom fields.
By default the webhook does not use Jira custom fields and {ALERT.MESSAGE}
is used as an issue description.
To export information into your Jira custom field, add a parameter with custom field ID as key (if you need help finding custom field ID, see this page in Jira documentation). If at least one parameter starting with "customfield_" is configured for the media type, the webhook will use {TRIGGER.DESCRIPTION}
as an issue description instead of {ALERT.MESSAGE}
to avoid duplication of information in description and custom fields.
We recommend creating custom fields for all of {ALERT.MESSAGE}
fields like "Host", "Link to event info", "Trigger ID", "Event date", etc.
Jira webhook supports the following custom fields types:
Examples:
You can use combined parameter value as {$ZABBIX.URL}/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.ID}
or {EVENT.DATE}T{EVENT.TIME}
.
Note, that you can pass only one value for each custom field including multi-select and checkbox.
Date and time must be in ISO 8601 format with timezone of the Zabbix server (2020-01-01T23:59:59+0200). If server time is set to UTC, there is no need to add timezone at the end of parameter value.
5. Create a Zabbix user and add Media with the Jira media type. Though a "Send to" field is not used in Jira webhook, it cannot be empty. To comply with frontend requirements, you can put any symbol there. Make sure this user has access to all hosts for which you would like problem notifications to be converted into Jira tasks.
For more information see Zabbix and Jira documentations.
Zabbix 5.0
This guide describes how to integrate Zabbix 6.0 installation with iTop using the Zabbix webhook feature. This guide provides instructions on setting up a media type, a user and an action in Zabbix.
Please note that recovery and update operations are supported only for trigger-based events.
1. Create a user for API with profile "REST Services User" or use an existing one. Make sure the user is able to create tickets in the required ticketing module.
2. Get the organization's ID. You can obtain it from the URL of organization's profile in Data administration > Catalog > Organizations.
<itop_url>/pages/UI.php?operation=details&class=Organization&id=1&c[menu]=Organization
1. In the Administration > Media types section, import media_itop.yaml.
2. Open the newly added iTop media type and replace all <PLACEHOLDERS> with your values.
The following parameters are required:
itopurl - actual URL of your iTop instance.
itopuser - iTop user login.
itoppassword - user's password.
itoporganizationid - ID of your organization.
itopclass - name of the class to be used when creating new tickets from Zabbix notifications. For example, UserRequest or Problem.
itoplog - the type of log section in the ticket for posting problem's updates from Zabbix. Must be *Private* or *Public*.
itopcomment - the comment that will be posted to ticket's history.
3. Create a Zabbix user and add Media with the iTop media type. Though a "Send to" field is not used in iTop webhook, it cannot be empty. To comply with frontend requirements, you can put any symbol there. Make sure this user has access to all hosts, for which you would like problem notifications to be converted into iTop tasks.
For more information see Zabbix and iTop documentations.
Zabbix 6.0 and higher
This guide describes how to integrate your Zabbix >= 4.4 installation with iLert using the Zabbix webhook feature. This guide will provide instructions on setting up a media type, a user and an action in Zabbix.
1. Go to Alert sources and click on Add a new alert source.
2. Set a name (e.g. "Zabbix") and select your desired escalation policy. Select "Zabbix" as the Integration Type and click Save.
3. On the next page, an API key is generated. You will need it when setting up the iLert media type in Zabbix.
The configuration consists of a media type in Zabbix which will invoke a webhook to send alerts to iLert through the iLert Event API. To utilize the media type, we will create a Zabbix user to represent iLert. We will then create an alert action to notify the user via this media type whenever a problem is detected.
Note: only trigger events are currently supported
1. Go to the Administration tab.
2. Under Administration, go to the General page and choose the Macros from drop-down list.
3. Add the macro {\$ZABBIX.URL} with your Zabbix frontend URL (for example http://192.168.7.123:8081)
4. Click the Update button to save the global macros.
1. Go to the Administration tab.
2. Under Administration, go to the Media types page and click the Import button.
3. Select the Import file media_ilert.yaml and click Import at the bottom to import the iLert media type.
4. Optional: you can overwrite the standard incident summary with a custom template using the .ILERT.INCIDENT.SUMMARY variable e.g. {TRIGGER.NAME}: {TRIGGER.STATUS} for {HOST.HOST}
1. Go to the Administration tab.
2. Under Administration, go to the Users page and click Create user.
3. Fill in the details of this new user, and call it "iLert User". The default settings for iLert User should suffice as this user will not be logging into Zabbix.
4. Click the Select button next to Groups.
5. Navigate to the Media tab and click on the Add button inside of the Media box.
6. In the new window that appears, configure the media for the user as follows:
7. Click the Add button at the bottom of the user page to save the user.
8. Use the iLert User in any Actions of your choice. The text from "Action Operations" will be sent to "iLert Alert" when a problem happens. For more information use the Zabbix and iLert documentations.
Zabbix >=4.4, iLert API v1.
This webhook creates problems in GLPi Assistance section. Created problems have the next severity mapping:
Severity In zabbix | Urgency in GLPi |
---|---|
0 - Not classified | Medium (default) |
1 - Information | Very low |
2 - Warning | Low |
3 - Average | Medium |
4 - High | High |
5 - Disaster | Very High |
On Update action in zabbix, webhook updates created problem's title, severity and creates followup with update comment.
On resolve action, webhook updates created problem title and creates followup with resolve information.
Created problems have "New" status, and resolved - "Solved" status.
Due to the specifics of the webhook, the number of retries is set to 1 by default. We recommend that you do not change this setting, because in case of a transaction error, additional duplicate objects (problems, followups) may be created during the retry.
This guide describes how to integrate your Zabbix installation with GLPi problems using the Zabbix webhook feature. This guide provides instructions on setting up a media type, a user and an action in Zabbix.
1. Create or use existing user in GLPi with permission to create problems and followups.
2. Please create an API token. For that you should go into user profile and set tick in "Regenerate" field against "API token" and hit save.
3. Copy the API token of your new integration to use it in Zabbix.
The configuration consists of a media type in Zabbix, which will invoke the webhook to send alerts to GLPi problems through the GLPi Rest API.
1. Import the GLPi media type from file media_glpi.yaml.
2. Change in the imported media the values of the variable glpi_token and glpi_url.
For more information about the Zabbix Webhook configuration, please see the documentation.
3. Create a Zabbix user and add Media with the GLPi media type. Though a "Send to" field is not used in GLPi webhook, it cannot be empty. To comply with frontend requirements, you can put any symbol there. Make sure this user has access to all hosts for which you would like problem notifications to be converted into GLPi problems.
4. Set up a global macro {$ZABBIX.URL} with URL of current zabbix. Please notice that HTTPS will be used by default if HTTP/HTTPS schema is not present in the URL.
For more information, please see Zabbix and GLPi documentation.
GLPI 9.5.7
Zabbix 6.0
This guide describes how to integrate your Zabbix installation with Github issues using the Zabbix webhook feature. This guide will provide instructions on setting up a media type, a user and an action in Zabbix.
1. Create or use existing user in Github with permission to create issues and issue comments in desired repositories.
2. Please create a personal access token according to the original instruction.
Example of permissions for private repository.
3. Copy the personal access token of your new integration to use it in Zabbix.
The configuration consists of a media type in Zabbix, which will invoke the webhook to send alerts to Github issues through the Github Rest API.
1. Import the Github media type from file media_github.yaml.
2. Change in the imported media the values of the variable github_token.
Change github_url only for integrations with Github Enterprise.
For more information about the Zabbix Webhook configuration, please see the documentation.
3. Create user and add Github media type to it. In field "Send to" use your full repo name (<owner>/<project name>) e.g. johndoe/example-project.
4. Set up a global macro {$ZABBIX.URL} with URL of current zabbix. Please notice that HTTPS will be used by default if HTTP/HTTPS schema is not present in the URL.
For more information, please see Zabbix and Github documentation.
Zabbix 6.0, Github RestApi v3
This guide describes how to integrate Zabbix 6.0 installation with Express.ms messenger using the Zabbix webhook feature. This guide provides instructions on setting up a media type, a user and an action in Zabbix.
1. Create a bot user for API or use an existing one. URL cannot be empty, pass any URL here.
2. Open created bot and set allowed_data to none.
3. Copy ID and Secret key.
4. Now you need to generate HMAC-SHA256 signature, represented as a base16 (hex) string.
Bash usage:
echo -n <BOT_ID> | openssl dgst -sha256 -hmac <SECRET> | awk '{print toupper($0)}'
Replace placeholders with your values from the previous step.
Example:
echo -n bb16c1e3-4ea9-542e-aa7f-2e26aff92780 | openssl dgst -sha256 -hmac 38h5z7obgfc5re0amua5h588rg7a1a19 | awk '{print toupper($0)}'
# 34DF7A8702F0F5C952C81463626C0A18C8DD92A0AA71A97F37F5E2CDCADBEA2E
5. Make GET request to /api/v2/botx/bots/<BOT_ID>/token?signature=<SIGNATURE>
for getting permanent access token.
Example:
curl 'https://localhost/api/v2/botx/bots/bb16c1e3-4ea9-542e-aa7f-2e26aff92780/token?signature=34DF7A8702F0F5C952C81463626C0A18C8DD92A0AA71A97F37F5E2CDCADBEA2E'
{"result": "TFMyNTY.g2gDbQAtACRiYjE2YzFmMy00ZWU5LTU0MmUtYWE0Zi0yZTY2YWGmOTI3ODBuBgDlhs73eAFiAAFRgA.o3LIGvKLjmuZ6Ja_dT7YeNEV71r6xgZYh8g8-QPasNQ", "status": "ok}
1. Before setting up a media type, you need to set up a global macro "{$ZABBIX.URL}", which must contain the URL to Zabbix frontend.
1. In the Administration > Media types section, import mediaexpressms.yaml.
2. Open the newly added Express.ms media type and replace all <PLACEHOLDERS> with your values.
The following parameters should be filled:
expressurl - the actual URL of your Express instance.
expresstoken - bot's API access token created earlier.
3. Create a Zabbix user and add Media with the Express.ms media type.
"Send to" field should be filled as channel ID of the chat.
Note, that "Send to" field cannot be empty. If the channel ID is already specified in the expresssendto parameter, you can put any symbol in this field to comply with frontend requirements.
Make sure this user has access to all hosts, for which you would like problem notifications to be converted into Express tasks.
For more information see Zabbix and Express.ms documentations.
Zabbix 6.0 and higher
This guide describes how to integrate your Zabbix 6.0 installation with Event-Driven Ansible using the Zabbix webhook feature. This guide will provide instructions on setting up a media type, a user and an action in Zabbix.
1. Make sure you have the webhook plugin loaded from the standard ansible collection (ansible.eda.webhook) and use ansible-rulebook v0.11.0 and higher.
2. Create a rulebook and specify a webhook from the standard eda collection (ansible.eda.webhook) as the event source. Specify listen address and port.
sources:
- ansible.eda.webhook:
host: 0.0.0.0
port: 5001
3. Set necessary actions in the rules section. As an example you can use:
---
- name: Zabbix Test rulebook
hosts: all
sources:
- ansible.eda.webhook:
host: 0.0.0.0
port: 5001
rules:
- name: debug
condition: event.payload is defined
action:
debug:
4. For testing you can run ansible-rulebook with command:
ansible-rulebook --rulebook test-rulebook.yml -i inventory.yml --verbose
The configuration consists of a media type in Zabbix which will invoke a webhook to send alerts to Event-Driven Ansible. To utilize the media type, you need to create a Zabbix user to represent Event-Driven Ansible. Then, create an alert action to notify the user via this media type whenever a problem is detected.
Note: only trigger-based and only problem events are currently supported
1. In the Administration menu section, select Media types.
2. Click on the Import button in the upper right corner.
3. Select the file mediaeventdriven_ansible.yaml and press Import at the bottom.
1. In the Administration menu section, select Users.
2. Click on the Create user button in the upper right corner. Fill in the details of this new user.
Please note: in order to be notified of host problems this user must have at least read permissions for the given host.
3. Navigate to the Media tab and click on the Add button inside of the Media box.
4. Configure the media type:
xxx.xxx.xxx.xxx:port
.5. Press Add in the User configuration form to save the user.
Note: Because each new rulebook requires a separate port, you have to create a separate user for each rulebook, specifying the ip:port.
6. Use Event-Driven Ansible user in any actions of your choice.
7. Start getting alerts! You have made it!
For more information see Zabbix, Event-Driven Ansible and Ansible-Rulebook documentations.
Zabbix 6.0 and higher
This guide describes how to integrate your Zabbix 4.4 installation with Discord using the Zabbix webhook feature. This guide will provide instructions on setting up a media type, a user and an action in Zabbix.
1. Go to https://discordapp.com/app or open Discord Desktop application. Select your server and channel where you want to get Zabbix notifications.
2. Press Edit channel, select Webhooks tab and press Create Webhook button
3. Setup your Discord webhook and press Save.
You can copy Discord webhook URL now or view it later by clicking on Edit button.
1. Before setting up Discord Webhook, you need to setup the global macro "{$ZABBIX.URL}", which must contain the URL to the Zabbix frontend.
The URL should be either an IP address, a fully qualified domain name or localhost. Specifying a protocol is mandatory, whereas port is optional.
Good examples:
http://zabbix.com
https://zabbix.lan/
http://localhost
http://127.0.0.1:8080
Bad examples:
zabbix.com
http://zabbix/
2. In the "Administration > Media types" section, import the media_discord.yaml
3. If you want to change values of default parameters, open the newly added Discord media type.
You can also choose between two notification modes by modifying "usedefaultmessage" parameter value:
4. To receive notifications in Discord, you need to create a Zabbix user and add Media with the Discord media type.
The "Send to" field must contain Discord webhook URL created before.
Also don’t forget that in order to send notifications, this user must have access to hosts that generated such problems
5. Start getting alerts! You have made it!
For more information see Zabbix and Discord documentations.
Zabbix 4.4
This guide describes how to integrate Zabbix 6.0 installation with Brevis.one SMS Gateway using HTTP API and Zabbix webhook feature. This guide provides instructions on setting up a media type, a user, and an action in Zabbix.
1. Create a user for HTTP API or use an existing one.
2. Grant to the user Access to the HTTP API permission. See Brevis.one documentation for the information.
1. Before setting up a media type, you need to set up a global macro "{$ZABBIX.URL}", which must contain the URL to Zabbix frontend.
2. In the Administration > Media types section, import media_brevis.one.xml.
3. Open the newly added Brevis.one media type and replace all <PLACEHOLDERS> with your values.
The following parameters should be filled out:
endpoint - the actual URL of your Brevis.one API instance. The API can be addressed with the following: https://<SMS Gateway IP>/api.php
username - Brevis.one API username.
password - user's password.
3. The following parameters can help you customize the alerts: *ring, flash, telauto
See Brevis.one documentation for details.
4. Create a service Zabbix user or use any existing user, then add Media with the Brevis.one.
The "Send to" field should be filled as a phone number without a plus (+) sign or as "mode:option".
Allowed modes: number (Default), group, telgroup, telnumber, user, teluser.
Examples:
37167784742
(Send SMS to the individual telephone number)
group:11
(Send a text message to the specified user group. User groups are managed in the Configuration - Groups.)
telnumber:37167784742
(Send a message via Automatic to the individual telephone number. Automatic tries to deliver the notification via Telegram. If this fails the notification will be delivered by a text message.)
See Brevis.one documentation for additional information.
Note, that the "Send to" field cannot be empty. If the phone number or user/group ID is already specified in the send_to parameter, you can put any symbol in this field to comply with frontend requirements.
Make sure this user has access to all hosts, for which you would like problem notifications to be sent via Brevis.one HTTP API.
For more information see Zabbix and Brevis.one documentations.
Zabbix 6.0 and higher