Zabbix integration

Send Zabbix triggers to phone calls, Telegram and escalation chains

Create a Zabbix media type that POSTs JSON to WardenPoint. Severity maps to alert priority, trigger context attaches to the audit log, and a recovery posts a Resolved notice to your chain.

Setup
Media type
Severity map
1:1
Recovery
Resolved ping

Anatomy of a Zabbix trigger

LIVE
Zabbix → action
disk space < 10% on db-01
WardenPoint
map severity · build payload · escalate
Telegram
Voice call
Email

Setup

Three steps inside Zabbix

All configuration lives in Zabbix administration: a media type, a user assignment and an action.

  1. 1Step 1

    Create a media type

    Administration → Media types → Create. Type 'Webhook', name 'WardenPoint'. Paste the WardenPoint URL and JSON body template.

    $ Administration › Media types › Create
  2. 2Step 2

    Assign to a user

    Administration → Users → pick the responder user → Media tab → Add the WardenPoint media. Use the user as the operation recipient.

    $ Users › Media › Add
  3. 3Step 3

    Configure an action

    Configuration → Actions. Pick the trigger conditions you want to escalate and add an 'Operation' that sends to the WardenPoint user.

    $ Actions › Operations › Send to user

Wire format

Zabbix media-type body template

WardenPoint accepts whatever JSON you template in the media type. Use Zabbix's built-in macros to fill trigger context.

Zabbix → WardenPoint
wardenpoint-mediatype.jsonJSON
// Zabbix webhook media type — JSON body template.
// Send the raw macros; WardenPoint maps severity and PROBLEM/RESOLVED itself.
{
"event_id": "{EVENT.ID}",
"event_name": "{EVENT.NAME}",
"severity": "{EVENT.SEVERITY}",
"status": "{EVENT.STATUS}",
"host": "{HOST.NAME}",
"operational_data": "{EVENT.OPDATA}",
"trigger_url": "{TRIGGER.URL}",
"tags": "{EVENT.TAGS}"
}
WardenPoint fan-out
WardenPoint response202
{
"status": "queued",
"notification_uuid": "notif_8h2k7yQrxJp",
"channels_planned": [
"telegram_voice",
"voice_call",
"email"
],
"escalation_chain_id": "esc_4j2k9bMcvL"
}

Routing recipes

Three patterns for Zabbix → WardenPoint

Map Zabbix severities and host groups to escalation chains. A recovery posts a Resolved notice automatically.

Severity

Disaster → phone first

Trigger severity 'Disaster' maps to WardenPoint priority 'critical' — phone call first, Telegram voice second, email at minute three.

match
{TRIGGER.SEVERITY} = Disaster
→ route
priority: critical
Host group

Database hosts → DBA on-call

Spin up a dedicated WardenPoint integration whose recipient group is the DBA on-call chain, then point your database host group's Zabbix action at that integration's URL. The host name rides along via {HOST.NAME} for context.

match
db-prod action
→ route
→ DBA integration
Recovery

Recovery posts a Resolved notice

Define a Recovery operation in the Zabbix action that posts status='resolved' to the same WardenPoint URL. WardenPoint marks the alert resolved, posts a Resolved notice to your chain, and records it in the audit log.

match
{EVENT.RECOVERY.STATUS} = OK
→ route
→ Resolved notice

Zabbix FAQ

Common Zabbix integration questions

Yes, automatically. Send the raw {EVENT.SEVERITY} macro and WardenPoint maps Zabbix's six levels — Disaster, High, Average, Warning, Information, Not classified — to its alert priorities server-side. No hand-mapping in the template.
Free plan

Wire one Zabbix action before you depend on it

Create the media type, fire a test trigger and read the audit line. No credit card. No production risk.

  • Severity maps 1:1
  • Recovery posts a Resolved notice
  • Trigger context preserved