Overview
Zabbix is an open-source enterprise monitoring solution. Easyalert receives alerts from Zabbix via webhook media type, automatically creating incidents from trigger events.This integration works with Zabbix 5.0+ which supports native webhook media
types.
Requirements
- Zabbix 5.0 or higher (for Webhook media type support)
- Easyalert account and active tenant
- Admin privileges in Zabbix
Setup Instructions
Create Integration in Easyalert
- Go to Integrations page from left menu
- Click Add Integration button
- Select Zabbix as Source Type
- Enter a name (e.g.,
Zabbix Production) - Click Create to save
- Copy the generated Webhook URL
Example: https://api.easyalert.io/api/v1/webhooks/ingest/wh_abc123...
Create Media Type in Zabbix
Go to Administration → Media types → Create media type
| Field | Value |
|---|---|
| Name | Easyalert |
| Type | Webhook |
Add Parameters
Click Add link to add each parameter one by one:
| Name | Value |
|---|---|
URL | {ALERT.SENDTO} |
event_id | {EVENT.ID} |
trigger_id | {TRIGGER.ID} |
trigger_name | {TRIGGER.NAME} |
trigger_description | {TRIGGER.DESCRIPTION} |
trigger_severity | {TRIGGER.SEVERITY} |
trigger_status | {TRIGGER.STATUS} |
host_name | {HOST.NAME} |
host_ip | {HOST.IP} |
event_date | {EVENT.DATE} |
event_time | {EVENT.TIME} |
event_recovery_date | {EVENT.RECOVERY.DATE} |
event_recovery_time | {EVENT.RECOVERY.TIME} |
item_name | {ITEM.NAME} |
item_value | {ITEM.VALUE} |
event_tags | {EVENT.TAGS} |
host_tags | {HOST.TAGS} |
trigger_tags | {TRIGGER.TAGS} |
Add Message Templates (Required)
Switch to Message templates tab and add these two templates:Problem:
Problem Recovery:
| Field | Value |
|---|---|
| Message type | Problem |
| Subject | {TRIGGER.NAME} |
| Message | {EVENT.ID} |
| Field | Value |
|---|---|
| Message type | Problem recovery |
| Subject | {TRIGGER.NAME} |
| Message | {EVENT.ID} |
Create Webhook User
Go to Administration → Users → Create user
Switch to Media tab and click Add:
| Field | Value |
|---|---|
| Alias | Easyalert-webhook |
| Groups | No access to the frontend |
| Password | Any password |
| Field | Value |
|---|---|
| Type | Easyalert |
| Send to | Your copied Webhook URL |
| When active | 1-7,00:00-24:00 |
| Use if severity | Check all |
Field Mapping
Easyalert automatically maps Zabbix fields:| Zabbix Field | Easyalert Field |
|---|---|
event_id | Event ID |
trigger_name | Title |
trigger_description | Description |
trigger_status | Status (PROBLEM → problem, OK → ok) |
trigger_severity | Severity |
host_name | Host |
host_ip | Host IP |
item_name | Service |
event_tags | Tags |
Severity Mapping
| Zabbix Severity | Zabbix Code | Easyalert Severity |
|---|---|---|
| Disaster | 5 | critical |
| High | 4 | high |
| Average | 3 | warning |
| Warning | 2 | warning |
| Information | 1 | info |
| Not classified | 0 | info |
Status Handling
| Zabbix Status | Easyalert Status | Action |
|---|---|---|
| PROBLEM | Problem | Creates/updates incident |
| OK | OK | Resolves incident |
Using Tags
Zabbix tags are used for routing in Easyalert.Where to Define Tags
| Location | Menu |
|---|---|
| Host | Configuration → Hosts → [Host] → Tags |
| Trigger | Configuration → Hosts → [Host] → Triggers → [Trigger] → Tags |
| Template | Configuration → Templates → [Template] → Tags |
Example Tags
| Tag | Value | Usage |
|---|---|---|
customer | AcmeCorp | Customer-based routing |
environment | production | Environment-based routing |
team | backend | Team-based routing |
Usage in Easyalert
In Escalation Routing:Test
After completing Zabbix setup, you can test manually:Troubleshooting
Alerts not being received
Alerts not being received
- Check if Media Type is active 2. Verify media is added to user 3. Check if Action is enabled 4. Review Zabbix action logs for errors
Tags not coming through
Tags not coming through
Wrong severity mapping
Wrong severity mapping
- Check if Zabbix sends numeric (0-5) or text severity 2. Configure appropriate severity mapping 3. 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 2. Check the
trigger_statusfield is included in payload 3. Ensure event_id matches between PROBLEM and OK events
Connection refused
Connection refused
- Check firewall/network settings 2. Verify Zabbix server can reach Easyalert API 3. Test connectivity with curl from Zabbix server
401 Unauthorized
401 Unauthorized
Best Practices
Use Event Tags
Use Event Tags
Include Trigger URL
Include Trigger URL
Add
{TRIGGER.URL} parameter 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.
Organize with Host Groups
Organize with Host Groups
Use Zabbix host groups to organize hosts and include group info in tags for
routing.