Nagios Logo

Zabbix Integration Guide

Zabbix is an enterprise level open source monitoring software for a wide range of IT components. It allows you to monitor your network, all your server, virtual boxes and your cloud infrastructure. It provides monitoring metrics along with system utilization and performance insights.

With TaskCall's Zabbix integration transport metric alerts from Zabbix to your on-call responders and get them to address the incidents in real time. Increase the capabilities of Zabbix with TaskCall and reduce your system downtime.

Pointers

  • The integration happens between a TaskCall service and Zabbix.
  • This integration works for Zabbix 5.0 and above.
  • Incidents will automatically resolve in TaskCall when metrics fall back within the normal threshold.
  • Incidents can be acknowledged and their urgency can be updated from Zabbix to TaskCall.
  • At the moment, alerts and actions can only be received from Zabbix to TaskCall.

In TaskCall

  1. Go to Configurations > Integrations and click New Integration.
  2. Select the Zabbix integration.
  3. Give the integration a name and configure how incidents will be created. Only the Default Service field is required. The rest are optional.
  4. Incidents (Optional)
    1. TaskCall automatically maps incoming payloads with internal attributes to create incidents. However, this can be customized in the Incidents tab. Constant values can be included alongside placeholders to dictate which attributes should map to the Incident Title, Description, Tags, Snapshots and Vendor URL. To insert a placeholder use double curly braces.

      Incoming Webhook Incident Tab

      For example, if you enter {{ alert.title }} in the Incident Title field, TaskCall will look for an attribute called "title" nested inside another attribute called "alert" in the incoming payload. If the nested attribute exists, its corresponding value will be pulled from the payload and inserted. If the nested attribute does not resolve successfully, TaskCall will fall back to the default mapping.

      If you are unsure, please leave the fields empty. TaskCall will use the default mapping to create the incident for you.
    2. Select the Urgency level the incident should be created at.
    3. Select the option to Group similar alerts together if you would like follow up triggers from the same alert source to be grouped into the same incident. If you leave this option unchecked, then a new incident will be created for every trigger. (This behavior is specific to new triggers; not updates to an alert.)
    4. Click Next to move on to the Services tab.
  5. Services (Required)
    1. Select the Default Service incidents should be sent to. To route incidents to different services instead, set Map With Attribute to the attribute to route by using a placeholder. Then, map each value it can take to the service that should receive it.

      For example, to route by a region attribute sent in the payload, set Map With Attribute to {{ region }}, then map US to one service and EU to another, and so on.

      Incoming Webhook Services Tab
    2. Click Next to move on to the Authorization tab.
  6. Authorization (Optional)
    1. The Authorization tab allows a Bearer Token and an IP Allowlist be added if you would like to restrict who is able to send alerts to this integration. If you are unsure, this can be skipped.
  7. Once done, click Save.
  8. Copy the Integration Url that is issued for the integration. This will be used to set up the notification in Zabbix.

In Zabbix

There are several steps that needs to be completed to set up the integration in Zabbix before alerts can be triggered on TaskCall. Firstly, a new Global Macro has to be created if it has not been already. Then a new Media Type has to be created for TaskCall. Lastly a new user has to be created who the newly created media type has to be associated to. This user can then be assigned to Actions that will trigger alerts to TaskCall.

  1. First, you need to create a new Global Macro.
  2. Go to Administration > General . From the dropdown list select Macros. Click Add.
  3. In the Macro field enter {$ZABBIX.URL} and enter your frontend URL for Zabbix as the value. Click Update.

    Zabbix Integration Step 1

  4. Now, you need to create a new media type for TaskCall.
  5. "Media type" in Zabbix allows you to define a channel of communication with its own script. We already have media file for Zabbix prepared. You will simply need to download it and then import it into Zabbix.
  6. Go to TaskCall Zabbbix Integration repo on github and download the latest release of the TaskCall Zabbix media file. If your account is hosted in the EU region you must download the taskcall_zabbix_media.xml file. If your account is hosted in the US region, you must download the taskcall_zabbix_media_us.xml file.
  7. Then go to Administration > Media types. Click Import.

    Zabbix Integration Step 2

  8. Upload the taskcall-zabbix-media.xml file you downloaded. Click Import.
  9. Once the file is imported successfully, go back to the Media types page. You should see TaskCall appear as a media type. Click on it.
  10. Find the integrationkey parameter and replace its value with the Integration Key you copied over from TaskCall. Then click Update.

    Zabbix Integration Step 3

  11. Now we are going to create a TaskCall user who actions can be assigned to.
  12. Go to Administration > User groups > Create user group. Create a new user group and ensure that the group has Read-write permission.

    Zabbix Integration Step 4

  13. Go to Administration > Users > Create user.
  14. Give the user a name, associate it to the user group you created earlier and give it a password (this will not be used, but is a mandatory requirement on Zabbix).

    Zabbix Integration Step 5

  15. Move to the Media tab on the form. Click the inner underlined Add button. A pop-up Media screen will appear. Select TaskCall as the Type. For Send to, just enter a random text (it is never used, but it is a requirement in Zabbix). Click Add.

    Zabbix Integration Step 6

  16. Click the Add button at the bottom of the user page to save the user.
  17. You are TaskCall integration is now ready. You can use this user in any Action to trigger alerts to TaskCall.

Trigger Action from Zabbix

If you have not used Zabbix before, it might be slightly time consuming to understand how triggers work since there are several steps involved. We have put together the steps here to help you get started. At first you will need to create an Action and then a Trigger on the host.

  1. Go to Configuration > Actions . Click the Create action button on the top right corner.
  2. Give the action a name and define the conditions that will determine it.

    Zabbix Integration Step 7

  3. Go to the Operations tab on the form. In the Operations field click Add.
  4. In the Operation details tab that pops up set the Operation type as Send message , add the TaskCall User you had created earlier in the Send to users section and select TaskCall in the Send only to section. Click Add.

    Zabbix Integration Step 8

  5. Repeat this process for the Recovery operations and the Update operations to allow incidents in TaskCall to automatically resolve and sync up with Problems reported on Zabbix.
  6. Click the blue Add button to finish creating the action.
  7. Now to set up the trigger, go to Configuration > Hosts. On the host you want to create the trigger on, select Triggers.

    Zabbix Integration Step 9

  8. Once you are on the triggers page, click the Create trigger button on the top right corner.
  9. Define the trigger according to your needs. Once you are done, click Add. If you need more help then please refer to Zabbix's own documentation on Triggers.

    Zabbix Integration Step 10

  10. That is it! You have fully set up Zabbix to direct triggers to TaskCall.
On this page