Zabbix
Zabbix provider allows you to pull/push alerts from Zabbix
Please note that we currently only support Zabbix of version 6 and above (6.0^)
Authentication Parameters
The zabbix_frontend_url
and auth_token
are required for connecting to the Zabbix provider. You can obtain them as described in the “Connecting with the Provider” section.
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
- Navigate to
Users
->User Roles
section. - In the top right corner of the screen, click
Create user role
- Give the role an indicative name (e.g. Keep Role)
- In the
User type
selectbox, selectSuper Admin
- This is because some of the scopes we need are available to
Super Admin
user type only. See here
- Remove all the checkboxes from everything, except 1 random
Access to UI elemets
which is required for any role. - In the
API methods
section, selectAllow list
and fill in the scopes as mentioned below, in the Scopes section.
Create a user
- Navigate to
Users
->Users
section. - Follow the instructions to add a new user. Give it an indicative username (e.g. KeepUser)
- In the
Permissions
tab, select the Role you have just created. - Click
Add
Create API token
- Navigate to
Users
->API tokens
section. - In the top right corner of the screen, click
Create API token
- Give the API token an indicative name (e.g. Keep Token)
- Select the user you have just created
- Unselect the
Set expiration date and time
checkbox and clickAdd
- Copy the generated API token and keep it for further use in Keep.
Scopes
Certain scopes may be required to perform specific actions or queries via Zabbix Provider. Below is a summary of relevant scopes and their use cases:
problem.get
| Required:True
| Description:The method allows to retrieve problems.
mediatype.get
| Required:False
| Required for Webhook:True
| Description:The method allows to retrieve media types.
mediatype.update
| Required:False
| Required for Webhook:True
| Description:This method allows to update existing media types.
mediatype.create
| Required:False
| Required for Webhook:True
| Description:This method allows to create new media types.
user.get
| Required:False
| Required for Webhook:True
| Description:The method allows to retrieve users.
user.update
| Required:False
| Required for Webhook:True
| Description:This method allows to update existing users.
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