Zabbix is an open source monitoring solution for network servers, devices, services and other IT resources. The integration makes it possible to receive alerts from Zabbix.

Verified integration version

Zabbix 5.0.0

Older Zabbix versions with Agent dependency do not work when upgraded to Zabbix 4.4.3. Reconfigure the upgraded Zabbix 4.4.3 as described in this document.

Installation and Configuration

The following installation and configuration steps enable Zabbix integration.

Step 1: Install integration

  1. From All Clients, select a client.
  2. Go to Setup > Account.
  3. Select the Integrations and Apps tab.
  4. The Installed Integrations page, where all the installed applications are displayed. Note: If there are no installed applications, it will navigate to the ADD APP page.
  5. Click + ADD on the Installed Integrations page. The Available Integrations and Apps page displays all the available applications along with the newly created application with the version.
    Note: You can even search for the application using the search option available. Also yu can use the All Categories option to search.
  6. Click ADD in the Zabbix application and click Install.
  7. Select authentication type as WEBHOOK and click Save.
  8. Make a note of Tenant ID, Token and Webhook URL.
    These details are used while creating an HTTP Request template during Zabbix configuration.
  9. Click Save.

Step 2: Configure integration

  1. From the API tab, enter:

    • Authentication: Copy the Tenant Id, Token, and Webhook URL for configuration. These settings are used to create an HTTP Request template.
    • Map Attributes: Third-party mapping information as described below.
  2. From the Monitoring of Integration tab, click Assign Templates.

  3. From Audit Logs, set up audit log criteria and timeframe.

Configure the map attributes

Attributes can be modified at any time.

  1. Select the required OpsRamp property from the drop-down menu.

  2. Click Add Mapping Attributes to map attributes for the specific alert property.

  3. Click + to define the mappings.

  4. From Create Alert Mappings on Status, define:

    • mappings
    • parsing conditions
    • default values
  5. Click Save.

The following tables shows attribute mappings:

Third-Party EntityOpsRamp EntityThird-Party PropertyOpsRamp PropertyThird-Party Property ValueOpsRamp Property Value

Zabbix configuration

The following steps describe how to configuring media types and actions.

Step 1: Configure media types

  1. Log into Zabbix Admin UI.
  2. Go to Administration, Media Type and click Create Media Type.
  3. Enter the following required details and click Add.
    • Name: Any name for media type (For example, OpsRamp Alert Webhook)
    • Type: Webhook
    • Parameters: Enter the parameters:
  4. Click Add. The Media Type is added.

Parameter descriptions

The following table provides parameter descriptions for configuring media types.

OpsRampURLwebhook URL copied from OpsRamp (For example: https://{yourdomain}:/integrations/alertsWebhook/client_1/alerts?vtoken={token}
HTTPProxy(Optional, needed when zabbix is configured for a proxy network) http://{proxy IP}:{port}


The following is a script for posting alert data to OpsRamp:

try {
Zabbix.Log(4, 'opsramp webhook script value=' + value);var result = {
'tags': {
'endpoint': 'opsramp'
params = JSON.parse(value),
req = new CurlHttpRequest(),
alertPayload = {},

- Function to post alert data to OpsRamp
function postAlertToOpsRamp() {
req.AddHeader('Content-Type: application/json');
req.AddHeader('Accept: application/json');
if (typeof params.HTTPProxy !== 'undefined' && params.HTTPProxy !== '') {
var res = req.Post(params.OpsRampURL,prepareOpsRampAlertPayload());
res = JSON.parse(res);
- Function to prepare required OpsRamp alert payload to send
function prepareOpsRampAlertPayload() {
alertPayload.Subject = params.Subject;
var msg = params.Message;
var msgLines = msg.split('\r\n');
for (var i = 0; i < msgLines.length; i++) {
var field = msgLines[i].split(':');
alertPayload[field[0]] = field[1];
}alertPayload.State = alertPayload['Status'];
if(alertPayload['Status'] == 'PROBLEM') {
if(alertPayload['Trigger_Severity'] == 'Information' || alertPayload['Trigger_Severity'] == 'Not classified') {
} else if(alertPayload['Trigger_Severity'] == 'Average' || alertPayload['Trigger_Severity'] == 'Warning') {
} else if(alertPayload['Trigger_Severity'] == 'High' || alertPayload['Trigger_Severity'] == 'Disaster') {
} else if (alertPayload['Status'] == 'OK') {
alertPayload.State = 'OK';
}return JSON.stringify(alertPayload);
}return "OK";
} catch (error) {
Zabbix.Log(4, 'OPSRAMP issue creation failed json : ' + JSON.stringify({"fields": fields}));
Zabbix.Log(4, 'OPSRAMP issue creation failed : ' + error);
result = {};

return JSON.stringify(result);

Step 2: Configure actions

  1. Go to Configuration > Actions and click Create action.

    Zabbix Integration
  2. For the Action tab, enter:

    • Name: Enter any name (For example, OpsRamp Alert Webhook Action)
    • Conditions: Leave default
    • New Condition: Leave default
    • Enabled: Select the checkbox
  3. For the Operations tab, enter:

    • Default operation setup duration: Leave default value (For example, 1h)

    • Default subject: Problem: {EVENT.NAME}

    • Default message: Description:{TRIGGER.NAME} Status:{TRIGGER.STATUS} Host_Name:{HOSTNAME} IP:{IPADDRESS} EventID:{EVENT.ID} Trigger_Severity:{TRIGGER.SEVERITY} Event_Severity:{EVENT.SEVERITY} Metric:{ITEM.KEY} Date:{EVENT.DATE} Time:{EVENT.TIME} Item_Name:{ITEM.NAME}

    • Pause operations for suppressed problems:** Leave default value

    • Operations: Click New and enter:

      • Steps: Leave default value
      • Step duration: Leave default value
      • Operation Type: Select Send message
      • Send to User groups: Select user group to notify.
      • Send to Users: Select user to notify.
      • Send only to: Select the media type created (For this example, OpsRamp Alert WebhooK)
      • Default message: Leave default
      • Conditions: Leave default
      • Click Add to save.
  4. For the Recovery operations tab, enter:

    • Default subject: Resolved: {EVENT.NAME}

    • Default message: ResolvedTime: {EVENT.RECOVERY.TIME} Description:{EVENT.NAME} Status:{TRIGGER.STATUS} Host_Name:{HOSTNAME} IP:{IPADDRESS} EventID:{EVENT.ID} Trigger_Severity:{TRIGGER.SEVERITY} Event_Severity:{EVENT.SEVERITY} Acknowledged: {EVENT.ACK.STATUS} Metric:{ITEM.KEY} Date:{EVENT.DATE} Time:{EVENT.TIME} Item_Name:{ITEM.NAME}

    • Operations: Click New and enter:

      • Operation type: Select Notify all involved
      • Default message:Select the checkbox
      • Click Add to save.
  5. For the Update operations tab, enter:

    • Default subject: Updated problem:: {EVENT.NAME}

    • Default message: Problem updated at:{EVENT.UPDATE.ACTION} Problem name:{EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.{EVENT.UPDATE.MESSAGE} Host_Name:{HOSTNAME} IP:{IPADDRESS} Description:{EVENT.NAME} Trigger_Severity:{TRIGGER.SEVERITY} Event_Severity:{EVENT.SEVERITY} Metric:{ITEM.KEY} EventID:{EVENT.ID} Current_Status{EVENT.STATUS} Acknowledged: {EVENT.ACK.STATUS} Item_Name:{ITEM.NAME}

    • Operations: Click New and enter the following details:

      • Operation Type: Select Send message
      • Default media type: Select the media type created (For this example, OpsRamp Alert WebhooK)
      • Default message: Select checkbox.
  6. Click Add. Actions details are added.

Example Payload

"Subject": "Problem: vsftpd service is down on zabbix-agent",
"Description": "vsftpd service is down on zabbix-agent ",
"Status": "PROBLEM",
"Host_Name": "zabbix",
"IP": "",
"EventID": "3387",
"Trigger_Severity": "Disaster",
"Event_Severity": "Disaster",
"Metric": "proc.num\[vsftpd\]",
"Date": "2020.01.17",
"Time": "10",
"Name": "vsftpd",
"State": "High"

Next steps

View alerts:

  1. From the workspace drop-down options, navigate to Alerts and search using Zabbix as the Source name. This displays related alerts.
  2. Click Alert ID to view.
Zabbix Integration