Skip to main content
Back to Integrations
📊

Zabbix

Enterprise-grade infrastructure monitoring integration

Overview

Zabbix is an enterprise-class open source distributed monitoring solution. Akmatori can receive alerts via Zabbix webhooks and media types.

Configuration Steps

1

Create Alert Source in Akmatori

Go to Settings → Alert Sources and create a new Zabbix source. Copy the generated webhook URL.

2

Create Webhook Media Type

In Zabbix, go to Administration → Media types → Create media type with type "Webhook". If you configured a webhook secret in Akmatori, send it as the X-Zabbix-Secret header.

3

Configure Webhook Script

Send the fields Akmatori normalizes natively from the Zabbix adapter:

javascript
var params = JSON.parse(value);
var req = new HttpRequest();
req.addHeader('Content-Type: application/json');
if (params.webhook_secret) {
  req.addHeader('X-Zabbix-Secret: ' + params.webhook_secret);
}

var response = req.post(
  params.url,
  JSON.stringify({
    event_time: params.event_time,
    alert_name: params.trigger_name,
    severity: params.trigger_severity,
    priority: params.trigger_nseverity,
    metric_name: params.item_name,
    metric_value: params.item_value,
    trigger_expression: params.trigger_expression,
    pending_duration: params.event_age,
    event_id: params.event_id,
    hardware: params.host,
    event_status: params.event_status,
    runbook_url: params.trigger_url
  })
);

Webhook Payload

Here's an example of the payload Akmatori expects from Zabbix:

json
{
  "event_time": "2024-01-15 10:30:00",
  "alert_name": "High memory usage",
  "severity": "High",
  "priority": "4",
  "metric_name": "vm.memory.utilization",
  "metric_value": "95",
  "trigger_expression": "{web-server-01:vm.memory.utilization.last()}>90",
  "pending_duration": "5m",
  "event_id": "12345",
  "hardware": "web-server-01",
  "event_status": "PROBLEM",
  "runbook_url": "https://runbooks.example.com/memory"
}
Zabbix payloads can include rich fields like metric_name, metric_value, trigger_expression, hardware, and runbook_url. Akmatori also preserves extra raw fields from the webhook for downstream investigation context.