Overview
Zabbix is an open-source enterprise monitoring solution for networks and applications. EasyContact receives alerts from Zabbix via webhook media type, automatically creating incidents from trigger events.This integration works with Zabbix 4.4+ which supports native webhook media types.
Setup Instructions
1
Create Integration in EasyContact
- Go to Configuration → Integrations
- Click Add Integration
- Select Zabbix as the type
- Enter a name (e.g., “Production Zabbix”)
- Save and copy the webhook URL
2
Create Media Type in Zabbix
- Go to Administration → Media Types
- Click Create media type
- Set Type to Webhook
- Enter Name: “EasyContact”
3
Configure Webhook Parameters
Add the following parameters:
Set the script (see below)
| Name | Value |
|---|---|
URL | Your EasyContact webhook URL |
HTTPProxy | (optional) Your proxy if needed |
4
Create Action
- Go to Configuration → Actions
- Create a new action for trigger events
- Add operation with media type “EasyContact”
5
Test the Integration
Trigger a test alert in Zabbix and verify it appears in EasyContact
Webhook Script
Use this script in your Zabbix webhook media type:Webhook Parameters
Configure these parameters in the Zabbix media type:| Parameter | Macro | Description |
|---|---|---|
event_id | {EVENT.ID} | Unique event identifier |
trigger_id | {TRIGGER.ID} | Trigger identifier |
trigger_name | {TRIGGER.NAME} | Trigger name/title |
trigger_severity | {TRIGGER.SEVERITY} | Severity level |
trigger_status | {TRIGGER.STATUS} | PROBLEM or OK |
host_name | {HOST.NAME} | Affected host |
host_ip | {HOST.IP} | Host IP address |
item_name | {ITEM.NAME} | Item that triggered |
item_value | {ITEM.VALUE} | Current value |
event_date | {EVENT.DATE} | Event date |
event_time | {EVENT.TIME} | Event time |
event_tags | {EVENT.TAGS} | Event tags |
trigger_description | {TRIGGER.DESCRIPTION} | Description |
trigger_url | {TRIGGER.URL} | Link to trigger |
Field Mapping
EasyContact automatically maps Zabbix fields:| Zabbix Field | EasyContact Field |
|---|---|
event_id / eventid | Event ID |
trigger_name | Title |
trigger_description | Description |
trigger_status | Status (PROBLEM → problem, OK → ok) |
trigger_severity | Severity |
host_name / hostname | Host |
host_ip | Host IP |
item_name / application | Service |
host_group | Environment |
event_tags | Tags |
Severity Mapping
Zabbix uses numeric and text severity levels:| Zabbix Value | Zabbix Name | EasyContact Severity |
|---|---|---|
| 5 | Disaster | Critical |
| 4 | High | High |
| 3 | Average | Warning |
| 2 | Warning | Warning |
| 1 | Information | Info |
| 0 | Not classified | Info |
Custom Mapping
Override the default mapping if needed:Status Handling
| Zabbix Status | EasyContact Status | Action |
|---|---|---|
| PROBLEM | Problem | Creates/updates incident |
| OK | OK | Resolves incident |
Tags Support
Zabbix tags are captured in two formats:Native Format (Zabbix 5.0+)
Legacy Format
Example Payload
Enrichment Examples
Add context to all Zabbix alerts:Troubleshooting
Alerts not being received
Alerts not being received
- Verify the webhook URL is correct in Zabbix media type
- Check Zabbix can reach the EasyContact API (no firewall blocking)
- Test the webhook script manually in Zabbix
- Review Zabbix action logs for errors
Wrong severity mapping
Wrong severity mapping
- Check if Zabbix sends numeric (0-5) or text severity
- Configure appropriate severity mapping
- View webhook samples to see actual values
Recovery events not resolving incidents
Recovery events not resolving incidents
- Verify recovery operations are enabled in Zabbix action
- Check the
trigger_statusfield is included in payload - Ensure event_id matches between PROBLEM and OK events
Missing host information
Missing host information
- Add
{HOST.NAME}and{HOST.IP}macros to webhook parameters - Verify the macros resolve correctly in Zabbix
Best Practices
Use Event Tags
Use Event Tags
Include Trigger URL
Include Trigger URL
Add
{TRIGGER.URL} to help responders quickly navigate to Zabbix for more details.Configure Recovery
Configure Recovery
Enable recovery operations to automatically resolve incidents when the problem clears.
Test with Low Severity
Test with Low Severity
Use Information or Warning severity triggers for initial testing to avoid unnecessary escalations.