Please note that we currently only support Zabbix of version 6 and above (6.0^)

Authentication

This provider requires authentication.

  • zabbix_frontend_url: Zabbix Frontend URL (required: True, sensitive: False)
  • auth_token: Zabbix Auth Token (required: True, sensitive: True)

Certain scopes may be required to perform specific actions or queries via the provider. Below is a summary of relevant scopes and their use cases:

  • problem.get: The method allows to retrieve problems. (mandatory) (Documentation)
  • script.get: The method allows to retrieve media types. (Documentation)
  • script.update: This method allows to update existing media types. (Documentation)
  • script.create: This method allows to create new media types. (Documentation)
  • event.acknowledge: This method allows to update events. (Documentation)

In workflows

This provider can’t be used as a “step” or “action” in workflows. If you want to use it, please let us know by creating an issue in the GitHub repository.

Provider Methods

The provider exposes the following Provider Methods. They are available in the AI Assistant.

  • close_problem No description. (action, scopes: event.acknowledge)

    • id: The problem id.
  • change_severity No description. (action, scopes: event.acknowledge)

    • id: The problem id.
    • new_severity: The new severity, can be one of the following: Not classified, Information, Warning, Average, High, Disaster
  • surrpress_problem No description. (action, scopes: event.acknowledge)

    • id: The problem id.
    • suppress_until: The datetime to suppress the problem until.
  • unsurrpress_problem No description. (action, scopes: event.acknowledge)

    • id: The problem id.
  • acknowledge_problem No description. (action, scopes: event.acknowledge)

    • id: The problem id.
  • unacknowledge_problem No description. (action, scopes: event.acknowledge)

    • id: The problem id.
  • add_message_to_problem No description. (action, scopes: event.acknowledge)

    • id: The problem id.
    • message_text: The message text.
  • get_problem_messages No description. (view, scopes: problem.get)

    • id: The problem id.

Connecting with the Provider

API Key

To obtain Zabbix authentication token, follow the following steps, divided in to 3 categories (Docs):

First, login in to your Zabbix account (the provided zabbix_frontend_url) with a privileged user.

Create a User Role

  1. Navigate to Users -> User Roles section.
  2. In the top right corner of the screen, click Create user role
  3. Give the role an indicative name (e.g. Keep Role)
  4. In the User type selectbox, select Super Admin
  • This is because some of the scopes we need are available to Super Admin user type only. See here
  1. Remove all the checkboxes from everything, except 1 random Access to UI elemets which is required for any role.
  2. In the API methods section, select Allow list and fill in the scopes as mentioned below, in the Scopes section.

Create a user

  1. Navigate to Users -> Users section.
  2. Follow the instructions to add a new user. Give it an indicative username (e.g. KeepUser)
  3. In the Permissions tab, select the Role you have just created.
  4. Click Add

Create API token

  1. Navigate to Users -> API tokens section.
  2. In the top right corner of the screen, click Create API token
  3. Give the API token an indicative name (e.g. Keep Token)
  4. Select the user you have just created
  5. Unselect the Set expiration date and time checkbox and click Add
  6. Copy the generated API token and keep it for further use in Keep.

Notes

When installing Zabbix webhook, Keep automatically adds a new media type of type Keep to your media types.

After the new media type is added, Keep automatically adds this mediatype as a media to all existing users, in order to get all alerts incoming from Zabbix.

Webhook Integration Modifications

The automatic webhook integration grants Keep access to the following scopes within the Zabbix instance:

  • mediatype.get
  • mediatype.update
  • mediatype.create
  • user.get
  • user.update

You can view the webhook settings under Alerts > Media Types