Available solutions

GLPI webhook
Overview
This guide describes how to integrate your Zabbix installation with your GLPI installation using the Zabbix webhook feature, providing instructions on setting up a media type, user, and action in Zabbix.
The webhook supports both legacy REST API (V1) and RESTful API (V2). This webhook creates tickets in the GLPI Assistance section. Created tickets have the following urgency mapping:
| Severity in Zabbix | Urgency in GLPI |
|---|---|
| 0 - Not classified | Very low |
| 1 - Information | Very low |
| 2 - Warning | Low |
| 3 - Average | Medium |
| 4 - High | High |
| 5 - Disaster | Very high |
- When a problem is updated in Zabbix, the webhook updates the ticket's title and urgency in GLPI and adds a followup entry with the update comment.
- When a problem is resolved in Zabbix, the webhook updates the ticket's title and adds a followup entry with resolution details.
- Created tickets have the status "New" and resolved tickets - "Solved".
- Due to the specifics of the webhook, the number of retries is, by default, set to 1. We recommend not changing this setting; should a transaction error occur, additional duplicate objects (tickets, followups) may be created during the retry.
Tested on
- GLPI 10.0.18, 10.0.24, 11.0.5, 11.0.6
Requirements
Zabbix version: 8.0 and higher.
Parameters
After importing the webhook, you can configure it using webhook parameters.
Configurable parameters
The configurable parameters are intended to be changed according to the webhook setup as well as the user's preferences and environment.
| Name | Value | Description |
|---|---|---|
| tls_verify | {$HTTP.TLS.VERIFY:"GLPI"} | TLS certificate verification for HTTP requests: "none" - disabled, "peer" - verify the certificate chain and expiration, "full" - full verification. Any other value enables full verification. To override the setting for this media type only, define the global macro with the context "GLPI", e.g. {$HTTP.TLS.VERIFY:"GLPI"}. |
| zabbix_url | {$ZABBIX.URL} | Current Zabbix URL. |
| glpi_legacy_api | false | Boolean value (true/false) to set API version: false (default) enables Modern API v2 with OAuth2 Bearer token authentication, true enables Legacy API v1 with Session-Token authentication. |
| glpi_app_token | GLPI application token (optional; specify if the token is set in the API client settings). | |
| glpi_user_token | <PLACE GLPI USER TOKEN> | GLPI user token. |
| glpi_client_id | <PLACE GLPI CLIENT ID> | GLPI client ID. |
| glpi_client_secret | <PLACE GLPI CLIENT SECRET> | GLPI client secret. |
| glpi_username | <PLACE GLPI USERNAME> | GLPI username. |
| glpi_password | <PLACE GLPI USER PASSWORD> | GLPI user password. |
| glpi_url | <PLACE GLPI URL> | URL of GLPI installation. |
| glpi_urgency_autoregistration | Low | String value of GLPI urgency to assign to autoregistration event tickets. |
| glpi_urgency_discovery | Low | String value of GLPI urgency to assign to discovery event tickets. |
| glpi_urgency_internal | Low | String value of GLPI urgency to assign to internal event tickets. |
| severity_not_classified | Very low | GLPI urgency to assign to tickets when event has Zabbix severity "Not classified". |
| severity_information | Very low | GLPI urgency to assign to tickets when event has Zabbix severity "Information". |
| severity_warning | Low | GLPI urgency to assign to tickets when event has Zabbix severity "Warning". |
| severity_average | Medium | GLPI urgency to assign to tickets when event has Zabbix severity "Average". |
| severity_high | High | GLPI urgency to assign to tickets when event has Zabbix severity "High". |
| severity_disaster | Very high | GLPI urgency to assign to tickets when event has Zabbix severity "Disaster". |
Internal parameters
Internal parameters are reserved for predefined macros that are not meant to be changed.
| Name | Value | Description |
|---|---|---|
| event_source | {EVENT.SOURCE} | Numeric value of the event source. Possible values: 0 - Trigger, 1 - Discovery, 2 - Autoregistration, 3 - Internal, 4 - Service. |
| event_value | {EVENT.VALUE} | Numeric value of the event that triggered an action (1 for problem, 0 for recovering). |
| event_severity | {EVENT.SEVERITY} | Name of the event severity. |
| event_nseverity | {EVENT.NSEVERITY} | Numeric value of the event severity. Possible values: 0 - Not classified, 1 - Information, 2 - Warning, 3 - Average, 4 - High, 5 - Disaster. |
| event_update_nseverity | {EVENT.UPDATE.NSEVERITY} | Numeric value of the event update severity. Possible values: 0 - Not classified, 1 - Information, 2 - Warning, 3 - Average, 4 - High, 5 - Disaster. |
| event_update_severity | {EVENT.UPDATE.SEVERITY} | Name of the event update severity. |
| event_update_status | {EVENT.UPDATE.STATUS} | Numeric value of the problem update status. Possible values: 0 - Webhook was called because of problem/recovery event, 1 - Update operation. |
| alert_subject | {ALERT.SUBJECT} | 'Default subject' value from action configuration. |
| alert_message | {ALERT.MESSAGE} | 'Default message' value from action configuration. |
| event_id | {EVENT.ID} | Numeric ID of the event that triggered an action. |
| trigger_id | {TRIGGER.ID} | Numeric ID of the trigger of this action. |
| glpi_problem_id | {EVENT.TAGS.__zbx_glpi_problem_id} | GLPI problem ID. |
Please be aware that each webhook supports an HTTP proxy. To use this feature, add a new media type parameter with the name
http_proxyand set its value to the proxy URL.
Service setup
RESTful API (V2) with OAuth2 - recommended configuration for GLPI 11+:
- Enable access to the GLPI API:
- In the GLPI web interface, go to Setup > General > API.
- Switch the toggle to activate Enable API and click the Save button.
- Add an OAuth client:
- Go to Setup > OAuth clients.
- Click the Add button on the top of the page.
- Set the client name; enter api in the Scopes field and Password in Grants.
- Click the Add button.
- Open the settings of the created client, and then copy and save the client ID and client secret.
- Create a new user profile with permissions to create tickets and followups (alternatively, you can use an existing profile with sufficient privileges):
- Go to Administration > Profiles and click the Add button on the top of the page.
- Specify the profile name and set the Profile's Interface option to Standard Interface, and then click the Add button.
- Open the created profile and click the Assistance tab.
- In the Tickets section, set the Update, Create, and See all tickets permissions.
- In the Followups/Tasks section, set the Add (Requester) permission for the Followups row.
- Click the Save button.
- Create a new user:
- Go to Administration > Users and click the Add button on the top of the page.
- Specify the user login and set the Authorization > Profile option to the profile you created in the previous step (or any other existing profile with permissions to create tickets and followups).
- Set the password for the user.
- Click the Add button.
GLPI 11+ continues to support REST API (V1) without requiring OAuth2/V2. Note that V1 is not recommended for new integrations.
REST API (V1) - legacy configuration for GLPI 10:
- Enable access to the GLPI REST API:
- In the GLPI web interface, go to Setup > General > API.
- Set the Enable Rest API and Enable login with external token options to Yes and click the Save button.
- Add a new API client:
- Click the Add API client button.
- Specify the API client name and set the Active option to Yes.
- For security reasons, you may want to restrict the API client to the IP address of Zabbix server and/or create an additional application token (will be generated by default; you can uncheck the Regenerate checkbox if you don't want to use it).
- Click the Add button.
- If you've opted to create an application token, open the settings of the created API client, and then copy and save the generated application token.
- Create a new user profile with permissions to create tickets and followups (alternatively, you can use an existing profile with sufficient privileges):
- Go to Administration > Profiles and click the Add button on the top of the page.
- Specify the profile name and set the Profile's Interface option to Standard Interface, and then click the Add button.
- Open the created profile and click the Assistance tab.
- Set the Update, Create, and See all tickets permissions in the Tickets section.
- Set the Add followup (Requester) permission for the Followups line in the Followups/Tasks section.
- Click the Save button.
- Create a new user:
- Go to Administration > Users and click the Add User button on the top of the page.
- Specify the user login and set the Profiles option to the profile that you created in the previous step (or any other existing profile with permissions to create tickets and followups).
- Click the Add button.
- Open the profile of the created user and check the Regenerate checkbox of the API token option; click Save.
- Copy and save the generated user API token.
Zabbix configuration
- Before you can start using the GLPI webhook, you need to set the global macro
{$ZABBIX.URL}:
- In the Zabbix web interface, go to Administration > Macros in the top-left drop-down menu.
- Set up the global macro
{$ZABBIX.URL}which will contain the URL to the Zabbix frontend. The URL should be either an IP address, a fully qualified domain name, or a localhost. - Specifying a protocol is mandatory, whereas the port is optional. Depending on the web server configuration, you might also need to append
/zabbixto the end of the URL. Good examples:http://zabbix.comhttps://zabbix.lan/zabbixhttp://server.zabbix.lan/http://localhosthttp://127.0.0.1:8080
- Bad examples:
zabbix.comhttp://zabbix/
- Import the media type:
- In the Alerts > Media types section, import the
media_glpi.yamlfile.
- It is also possible to set GLPI ticket urgency by parameters. Predefined parameter values are already in place; note that they use the default GLPI urgency.
Please adjust these values to suit your GLPI environment.
The following parameters apply to Zabbix events that support severities:
severity_not_classified- for Zabbix severity "Not Classified"severity_information- for Zabbix severity "Information"severity_warning- for Zabbix severity "Warning"severity_average- for Zabbix severity "Average"severity_high- for Zabbix severity "High"severity_disaster- for Zabbix severity "Disaster"
And the following for Zabbix events that do not have severities:
glpi_urgency_internal- for Zabbix internal eventsglpi_urgency_discovery- for Zabbix discovery eventsglpi_urgency_autoregistration- for Zabbix autoregistration events
- Open the imported GLPI media type and set the following webhook parameters:
glpi_url- the frontend URL of your GLPI installation, without any path suffix (e.g. http://glpi.example.com:8080).glpi_legacy_api- determine whether you are using RESTful API V2 with OAuth2 authorization (default, parameter valuefalse) or legacy API (parameter valuetrue).
If using RESTful API V2 with OAuth2, set the required parameters:
glpi_client_id- the client ID that was generated during the creation of the OAuth client.glpi_client_secret- the client secret that was generated during the creation of the OAuth client.glpi_username- GLPI username created for the webhook.glpi_password- password for the GLPI webhook user.
If using legacy API, set the parameters:
glpi_app_token- if you've opted to use an application token during the creation of API client, specify it here; otherwise leave it empty.glpi_user_token- the user token that was generated during the creation of the GLPI user.
-
Click the Enabled checkbox to enable the media type and click the Update button to save the webhook settings.
-
Create a Zabbix user and add media:
- To create a new user, go to the Users > Users section and click the Create user button in the top-right corner. In the User tab, fill in all the required fields (marked with red asterisks).
- In the Media tab, click Add and select GLPI from the Type drop-down list. Though the Send to field is not used in the GLPI webhook, it cannot be left empty. To comply with frontend requirements, enter any symbol in the field.
- Make sure this user has access to all the hosts for which you would like problem notifications to be sent to GLPI.
- Done! You can now start using this media type in actions and create ticket items in GLPI.
For more information, please see Zabbix and GLPI documentation.
Feedback
Please report any issues with the media type at https://support.zabbix.com.
You can also provide feedback, discuss the media type, or ask for help at ZABBIX forums.
GLPI by HTTP
Overview
To use this template, you need to have a GLPI instance set up and accessible via HTTP/HTTPS with the REST API v2 enabled.
Ensure that OAuth2 authentication is configured and a dedicated monitoring user has been created with appropriate read-only permissions.
Check the GLPI API documentation for details.
Requirements
Zabbix version: 8.0 and higher.
Tested versions
This template has been tested on:
- GLPI 11.0.6, 11.0.7
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
GLPI configuration
- Enable access to the GLPI API:
- In the GLPI web interface, go to Setup > General > API.
- Switch the toggle to activate Enable API and click the Save button.
- Add an OAuth client:
- Go to Setup > OAuth clients.
- Click the Add button on the top of the page.
- Set the client name; enter api in the Scopes field and Password in Grants.
- Click the Add button.
- Open the settings of the created client, and then copy and save the client ID and client secret.
- Create a new user profile with read-only permissions for the sections you intend to monitor:
- Go to Administration > Profiles and click the Add button on the top of the page.
- Specify the profile name and set the Profile's Interface option to Standard Interface, and then click the Add button.
- Open the created profile and click the Assets tab. Set View all for each asset type you intend to monitor, and click the Save button.
- Click the Assistance tab. Set permissions for each assistance type you intend to monitor: See all tickets in the Tickets section, See all in the Changes section, See all in the Problems section, and click the Save button.
- Click the Management tab. Set View all / Read for each management item you intend to monitor, and click the Save button.
- Create a new user:
- Go to Administration > Users and click the Add button on the top of the page.
- Specify the user login and set the Authorization > Profile option to the profile you created in the previous step.
- Set the password for the user.
- Click the Add button.
Zabbix configuration
-
In Zabbix, create a new host and assign this template to it (GLPI by HTTP).
-
Open the Macros section of the host you created and set the following user macro values according to the OAuth2 client configuration from step 2 and the monitoring user credentials from step 4 of the GLPI configuration section above:
-
{$GLPI.API.URL}- GLPI REST API v2 base URL, e.g.https://glpi.example.com/api.php/v2.3. -
{$GLPI.CLIENT.ID}- OAuth2 client ID from the GLPI OAuth client configuration. -
{$GLPI.CLIENT.SECRET}- OAuth2 client secret from the GLPI OAuth client configuration. -
{$GLPI.USER}- username of the dedicated monitoring user created. -
{$GLPI.PASSWORD}- password of the dedicated monitoring user created.
-
Optional setup
LLD resource filtering
Every LLD rule has pre-configured filtering options to avoid discovering unwanted resource types.
Each discovery rule supports regex-based filters: Asset types via {$GLPI.ASSET.TYPE.NOT_MATCHES} and {$GLPI.ASSET.TYPE.MATCHES},
and Management items via {$GLPI.MANAGEMENT.TYPE.NOT_MATCHES} and {$GLPI.MANAGEMENT.TYPE.MATCHES}.
The values of these filters are defined by user macros and can be adjusted per host to include or exclude specific resource types from discovery using regular expressions.
Additionally, when configuring Asset and Management discovery, two extra macros must be defined if the GLPI user account has restricted API permissions:
{$GLPI.ASSET.API.RESTRICTIONS} and {$GLPI.MANAGEMENT.API.RESTRICTIONS}.
These macros accept a regex pattern and are used to exclude Asset or Management types that are inaccessible to the configured user. If the user was granted limited access in the GLPI web interface,
any resource types outside of those permissions must be listed here - otherwise discovery will produce errors when attempting to query restricted endpoints.
Note: The Asset discovery rule collects data from both standard Assets and Custom Assets. All asset-related macros, including:
{$GLPI.ASSET.TYPE.MATCHES}, {$GLPI.ASSET.TYPE.NOT_MATCHES}, and {$GLPI.ASSET.API.RESTRICTIONS} - apply to both asset types and can be used to filter or restrict Custom Assets as well.
Trigger context macros
Trigger thresholds can be customized per assistance type using Zabbix context macros, allowing different threshold values for Ticket, Change, and Problem types. The following macros support context-based configuration:
{$GLPI.WORKLOAD.WARN},{$GLPI.WORKLOAD.CRIT},{$GLPI.SOLVE_TIME.WARN},{$GLPI.PRIORITY.MAJOR.THRESHOLD},{$GLPI.PRIORITY.VERY_HIGH.THRESHOLD},{$GLPI.PRIORITY.HIGH.THRESHOLD}.
Example: set different workload thresholds per assistance type:
{$GLPI.WORKLOAD.WARN:Ticket}=50,{$GLPI.WORKLOAD.WARN:Change}=10,{$GLPI.WORKLOAD.WARN:Problem}=5.
Context macros can be defined in the Macros section of the host and will override the default macro value for the specified assistance type only.
Macros used
| Name | Description | Default |
|---|---|---|
| {$GLPI.HTTP.PROXY} | Sets the HTTP proxy value. If this macro is empty, then no proxy is used. |
|
| {$HTTP.TLS.VERIFY} | TLS certificate verification for script items: "none" - disabled, "peer" - verify the certificate chain and expiration, "full" - full verification. Any other value enables full verification. To override the setting for this template only, define the macro with the context "GLPI", e.g. {$HTTP.TLS.VERIFY:"GLPI"}. |
full |
| {$GLPI.API.URL} | GLPI REST API v2 base URL, e.g., https://glpi.example.com/api.php/v2.3. |
|
| {$GLPI.DATA.TIMEOUT} | API response timeout. |
15s |
| {$GLPI.CLIENT.ID} | OAuth2 client ID used for GLPI API authentication. |
|
| {$GLPI.CLIENT.SECRET} | OAuth2 client secret used for GLPI API authentication. |
|
| {$GLPI.USER} | Username of the dedicated monitoring user in GLPI. |
|
| {$GLPI.PASSWORD} | Password of the dedicated monitoring user in GLPI. |
|
| {$GLPI.ASSET.API.RESTRICTIONS} | Regex filter for restricting asset API access. Use to specify asset types that are inaccessible to the user. |
Unmanaged |
| {$GLPI.ASSET.TYPE.MATCHES} | Regex filter for including asset types in discovery. Use to include only specific asset types. |
.* |
| {$GLPI.ASSET.TYPE.NOT_MATCHES} | Regex filter for excluding asset types from discovery. Use to exclude specific asset types from discovery. |
CHANGE_IF_NEEDED |
| {$GLPI.MANAGEMENT.API.RESTRICTIONS} | Regex filter for restricting management API access. Use to specify management types that are inaccessible to the user. |
SoftwareLicense |
| {$GLPI.MANAGEMENT.TYPE.MATCHES} | Regex filter for including management types in discovery. Use to include only specific management types. |
.* |
| {$GLPI.MANAGEMENT.TYPE.NOT_MATCHES} | Regex filter for excluding management types from discovery. Use to exclude specific management types from discovery. |
CHANGE_IF_NEEDED |
| {$GLPI.WORKLOAD.WARN} | Maximum number of open assistance items to trigger a workload warning. Use context macros to set different thresholds per assistance type. |
100 |
| {$GLPI.WORKLOAD.CRIT} | Maximum number of open assistance items to trigger a critical workload alert. Use context macros to set different thresholds per assistance type. |
200 |
| {$GLPI.SOLVE_TIME.WARN} | Maximum average solve time in minutes to trigger a warning alert. Use context macros to set different thresholds per assistance type. |
20160 |
| {$GLPI.PRIORITY.MAJOR.THRESHOLD} | Number of open Major priority items to trigger an alert. Use context macros to set different thresholds per assistance type. |
5 |
| {$GLPI.PRIORITY.VERY_HIGH.THRESHOLD} | Number of open Very high priority items to trigger an alert. Use context macros to set different thresholds per assistance type. |
15 |
| {$GLPI.PRIORITY.HIGH.THRESHOLD} | Number of open High priority items to trigger an alert. Use context macros to set different thresholds per assistance type. |
30 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Service: Get data | Item for gathering GLPI service status data. |
Script | glpi.status.get |
| Service: Get errors | List of errors from API requests for GLPI service metrics. |
Dependent item | glpi.status.errors Preprocessing
|
| Assets: Get data | Item for gathering GLPI Asset and Custom Asset data. |
Script | glpi.assets.data.get |
| Assets: Get errors | List of errors from API requests for GLPI Assets metrics. |
Dependent item | glpi.assets.errors Preprocessing
|
| Assistance [Changes]: Get data | Item for gathering GLPI Change data. |
Script | glpi.assistance.change.data.get |
| Assistance [Changes]: Get errors | List of errors from GLPI Assistance Changes API requests. |
Dependent item | glpi.assistance.change.errors Preprocessing
|
| Assistance [Problems]: Get data | Item for gathering GLPI Problem data. |
Script | glpi.assistance.problem.data.get |
| Assistance [Problems]: Get errors | List of errors from GLPI Assistance Problems API requests. |
Dependent item | glpi.assistance.problem.errors Preprocessing
|
| Assistance [Tickets]: Get data | Item for gathering GLPI Ticket data. |
Script | glpi.assistance.ticket.data.get |
| Assistance [Tickets]: Get errors | List of errors from GLPI Assistance Tickets API requests. |
Dependent item | glpi.assistance.ticket.errors Preprocessing
|
| Management: Get data | Item for gathering GLPI Management data. |
Script | glpi.management.data.get |
| Management: Get errors | List of errors from API requests for GLPI Management metrics. |
Dependent item | glpi.management.errors Preprocessing
|
| Service [glpi]: Status | Current operational status of the core GLPI application service. |
Dependent item | glpi.service.glpi.status Preprocessing
|
| Service [db]: Status | Current operational status of the GLPI database connection. |
Dependent item | glpi.service.db.status Preprocessing
|
| Service [cas]: Status | Current operational status of the CAS (Central Authentication Service) integration. |
Dependent item | glpi.service.cas.status Preprocessing
|
| Service [ldap]: Status | Current operational status of the LDAP directory service connection used for user authentication. |
Dependent item | glpi.service.ldap.status Preprocessing
|
| Service [imap]: Status | Current operational status of the IMAP mail service. |
Dependent item | glpi.service.imap.status Preprocessing
|
| Service [mail collectors]: Status | Current operational status of GLPI mail collectors. |
Dependent item | glpi.service.mail_collectors.status Preprocessing
|
| Service [crontasks]: Status | Current operational status of GLPI scheduled cron tasks. |
Dependent item | glpi.service.crontasks.status Preprocessing
|
| Service [filesystem]: Status | Current operational status of the GLPI filesystem. |
Dependent item | glpi.service.filesystem.status Preprocessing
|
| Service [plugins]: Status | Current operational status of installed and active GLPI plugins. |
Dependent item | glpi.service.plugins.status Preprocessing
|
| Assistance [Changes]: Opened this month | Number of "Change" items opened during the current month. |
Dependent item | glpi.change.open.month Preprocessing
|
| Assistance [Changes]: Solved this month | Number of "Change" items solved during the current month. |
Dependent item | glpi.change.solved.month Preprocessing
|
| Assistance [Changes]: Late this month | Number of late "Change" items during the current month. |
Dependent item | glpi.change.late.month Preprocessing
|
| Assistance [Changes]: Closed this month | Number of "Change" items closed during the current month. |
Dependent item | glpi.change.closed.month Preprocessing
|
| Assistance [Changes]: Average solve time this month | Average time to resolve "Change" items during the current month, in seconds. |
Dependent item | glpi.change.solve.time.month Preprocessing
|
| Assistance [Changes]: Opened previous month | Number of "Change" items opened during the previous month. |
Dependent item | glpi.change.open.previous_month Preprocessing
|
| Assistance [Changes]: Solved previous month | Number of "Change" items solved during the previous month. |
Dependent item | glpi.change.solved.previous_month Preprocessing
|
| Assistance [Changes]: Late previous month | Number of late "Change" items during the previous month. |
Dependent item | glpi.change.late.previous_month Preprocessing
|
| Assistance [Changes]: Closed previous month | Number of "Change" items closed during the previous month. |
Dependent item | glpi.change.closed.previous_month Preprocessing
|
| Assistance [Changes]: Average solve time previous month | Average time to resolve "Change" items during the previous month, in seconds. |
Dependent item | glpi.change.solve.time.previous_month Preprocessing
|
| Assistance [Changes]: Total | Total number of "Change" items. |
Dependent item | glpi.assistance.change.total Preprocessing
|
| Assistance [Changes]: Open | Number of "Change" items currently open (excluding applied, closed, refused and cancelled). |
Dependent item | glpi.assistance.change.open Preprocessing
|
| Assistance [Changes]: New | Number of "Change" items currently in the "New" status. |
Dependent item | glpi.assistance.change.new Preprocessing
|
| Assistance [Changes]: Pending | Number of "Change" items currently on hold. |
Dependent item | glpi.assistance.change.pending Preprocessing
|
| Assistance [Changes]: Applied | Number of "Change" items with status Applied. |
Dependent item | glpi.assistance.change.applied Preprocessing
|
| Assistance [Changes]: Closed | Number of "Change" items closed. |
Dependent item | glpi.assistance.change.closed Preprocessing
|
| Assistance [Changes]: Accepted | Number of "Change" items with status Accepted. |
Dependent item | glpi.assistance.change.accepted Preprocessing
|
| Assistance [Changes]: Review | Number of "Change" items currently under review. |
Dependent item | glpi.assistance.change.review Preprocessing
|
| Assistance [Changes]: Evaluation | Number of "Change" items currently in evaluation. |
Dependent item | glpi.assistance.change.evaluation Preprocessing
|
| Assistance [Changes]: Approval | Number of "Change" items waiting for approval. |
Dependent item | glpi.assistance.change.approval Preprocessing
|
| Assistance [Changes]: Testing | Number of "Change" items currently in testing. |
Dependent item | glpi.assistance.change.testing Preprocessing
|
| Assistance [Changes]: Qualification | Number of "Change" items currently in qualification. |
Dependent item | glpi.assistance.change.qualification Preprocessing
|
| Assistance [Changes]: Refused | Number of "Change" items that were refused. |
Dependent item | glpi.assistance.change.refused Preprocessing
|
| Assistance [Changes]: Cancelled | Number of "Change" items that were cancelled. |
Dependent item | glpi.assistance.change.cancelled Preprocessing
|
| Assistance [Changes][Priority Major]: Open | Number of open "Change" items with priority Major. |
Dependent item | glpi.change.priority.major Preprocessing
|
| Assistance [Changes][Priority Very high]: Open | Number of open "Change" items with priority Very high. |
Dependent item | glpi.change.priority.very_high Preprocessing
|
| Assistance [Changes][Priority High]: Open | Number of open "Change" items with priority High. |
Dependent item | glpi.change.priority.high Preprocessing
|
| Assistance [Changes][Priority Medium]: Open | Number of open "Change" items with priority Medium. |
Dependent item | glpi.change.priority.medium Preprocessing
|
| Assistance [Changes][Priority Low]: Open | Number of open "Change" items with priority Low. |
Dependent item | glpi.change.priority.low Preprocessing
|
| Assistance [Changes][Priority Very low]: Open | Number of open "Change" items with priority Very low. |
Dependent item | glpi.change.priority.very_low Preprocessing
|
| Assistance [Problems]: Opened this month | Number of "Problem" items opened during the current month. |
Dependent item | glpi.problem.open.month Preprocessing
|
| Assistance [Problems]: Solved this month | Number of "Problem" items solved during the current month. |
Dependent item | glpi.problem.solved.month Preprocessing
|
| Assistance [Problems]: Late this month | Number of late "Problem" items during the current month. |
Dependent item | glpi.problem.late.month Preprocessing
|
| Assistance [Problems]: Closed this month | Number of "Problem" items closed during the current month. |
Dependent item | glpi.problem.closed.month Preprocessing
|
| Assistance [Problems]: Average solve time this month | Average time to resolve "Problem" items during the current month, in seconds. |
Dependent item | glpi.problem.solve.time.month Preprocessing
|
| Assistance [Problems]: Opened previous month | Number of "Problem" items opened during the previous month. |
Dependent item | glpi.problem.open.previous_month Preprocessing
|
| Assistance [Problems]: Solved previous month | Number of "Problem" items solved during the previous month. |
Dependent item | glpi.problem.solved.previous_month Preprocessing
|
| Assistance [Problems]: Late previous month | Number of late "Problem" items during the previous month. |
Dependent item | glpi.problem.late.previous_month Preprocessing
|
| Assistance [Problems]: Closed previous month | Number of "Problem" items closed during the previous month. |
Dependent item | glpi.problem.closed.previous_month Preprocessing
|
| Assistance [Problems]: Average solve time previous month | Average time to resolve "Problem" items during the previous month, in seconds. |
Dependent item | glpi.problem.solve.time.previous_month Preprocessing
|
| Assistance [Problems]: Total | Total number of "Problem" items. |
Dependent item | glpi.assistance.problem.total Preprocessing
|
| Assistance [Problems]: Open | Number of "Problem" items currently open (excluding solved and closed). |
Dependent item | glpi.assistance.problem.open Preprocessing
|
| Assistance [Problems]: New | Number of "Problem" items currently in the "New" status. |
Dependent item | glpi.assistance.problem.new Preprocessing
|
| Assistance [Problems]: Assigned | Number of "Problem" items currently assigned to a technician. |
Dependent item | glpi.assistance.problem.processing_assigned Preprocessing
|
| Assistance [Problems]: Planned | Number of "Problem" items currently in "Planned" status. |
Dependent item | glpi.assistance.problem.processing_planned Preprocessing
|
| Assistance [Problems]: Pending | Number of "Problem" items currently on hold. |
Dependent item | glpi.assistance.problem.pending Preprocessing
|
| Assistance [Problems]: Solved | Number of "Problem" items marked as solved. |
Dependent item | glpi.assistance.problem.solved Preprocessing
|
| Assistance [Problems]: Closed | Number of "Problem" items closed. |
Dependent item | glpi.assistance.problem.closed Preprocessing
|
| Assistance [Problems]: Accepted | Number of "Problem" items with status Accepted. |
Dependent item | glpi.assistance.problem.accepted Preprocessing
|
| Assistance [Problems]: Under observation | Number of "Problem" items currently under observation. |
Dependent item | glpi.assistance.problem.under_observation Preprocessing
|
| Assistance [Problems][Priority Major]: Open | Number of open "Problem" items with priority Major. |
Dependent item | glpi.problem.priority.major Preprocessing
|
| Assistance [Problems][Priority Very high]: Open | Number of open "Problem" items with priority Very high. |
Dependent item | glpi.problem.priority.very_high Preprocessing
|
| Assistance [Problems][Priority High]: Open | Number of open "Problem" items with priority High. |
Dependent item | glpi.problem.priority.high Preprocessing
|
| Assistance [Problems][Priority Medium]: Open | Number of open "Problem" items with priority Medium. |
Dependent item | glpi.problem.priority.medium Preprocessing
|
| Assistance [Problems][Priority Low]: Open | Number of open "Problem" items with priority Low. |
Dependent item | glpi.problem.priority.low Preprocessing
|
| Assistance [Problems][Priority Very low]: Open | Number of open "Problem" items with priority Very low. |
Dependent item | glpi.problem.priority.very_low Preprocessing
|
| Assistance [Tickets]: Opened this month | Number of "Ticket" items opened during the current month. |
Dependent item | glpi.ticket.open.month Preprocessing
|
| Assistance [Tickets]: Solved this month | Number of "Ticket" items solved during the current month. |
Dependent item | glpi.ticket.solved.month Preprocessing
|
| Assistance [Tickets]: Late this month | Number of late "Ticket" items during the current month. |
Dependent item | glpi.ticket.late.month Preprocessing
|
| Assistance [Tickets]: Closed this month | Number of "Ticket" items closed during the current month. |
Dependent item | glpi.ticket.closed.month Preprocessing
|
| Assistance [Tickets]: Average solve time this month | Average time to resolve "Ticket" items during the current month, in seconds. |
Dependent item | glpi.ticket.solve.time.month Preprocessing
|
| Assistance [Tickets]: Opened previous month | Number of "Ticket" items opened during the previous month. |
Dependent item | glpi.ticket.open.previous_month Preprocessing
|
| Assistance [Tickets]: Solved previous month | Number of "Ticket" items solved during the previous month. |
Dependent item | glpi.ticket.solved.previous_month Preprocessing
|
| Assistance [Tickets]: Late previous month | Number of late "Ticket" items during the previous month. |
Dependent item | glpi.ticket.late.previous_month Preprocessing
|
| Assistance [Tickets]: Closed previous month | Number of "Ticket" items closed during the previous month. |
Dependent item | glpi.ticket.closed.previous_month Preprocessing
|
| Assistance [Tickets]: Average solve time previous month | Average time to resolve "Ticket" items during the previous month, in seconds. |
Dependent item | glpi.ticket.solve.time.previous_month Preprocessing
|
| Assistance [Tickets]: Total | Total number of "Ticket" items. |
Dependent item | glpi.assistance.ticket.total Preprocessing
|
| Assistance [Tickets]: Open | Number of "Ticket" items currently open (excluding solved and closed). |
Dependent item | glpi.assistance.ticket.open Preprocessing
|
| Assistance [Tickets]: New | Number of "Ticket" items currently in the "New" status. |
Dependent item | glpi.assistance.ticket.new Preprocessing
|
| Assistance [Tickets]: Assigned | Number of "Ticket" items currently assigned to a technician. |
Dependent item | glpi.assistance.ticket.processing_assigned Preprocessing
|
| Assistance [Tickets]: Planned | Number of "Ticket" items currently in "Planned" status. |
Dependent item | glpi.assistance.ticket.processing_planned Preprocessing
|
| Assistance [Tickets]: Pending | Number of "Ticket" items currently on hold. |
Dependent item | glpi.assistance.ticket.pending Preprocessing
|
| Assistance [Tickets]: Solved | Number of "Ticket" items marked as solved. |
Dependent item | glpi.assistance.ticket.solved Preprocessing
|
| Assistance [Tickets]: Closed | Number of "Ticket" items closed. |
Dependent item | glpi.assistance.ticket.closed Preprocessing
|
| Assistance [Tickets]: Approval | Number of "Ticket" items waiting for approval. |
Dependent item | glpi.assistance.ticket.approval Preprocessing
|
| Assistance [Tickets][Priority Major]: Open | Number of open "Ticket" items with priority Major. |
Dependent item | glpi.ticket.priority.major Preprocessing
|
| Assistance [Tickets][Priority Very high]: Open | Number of open "Ticket" items with priority Very high. |
Dependent item | glpi.ticket.priority.very_high Preprocessing
|
| Assistance [Tickets][Priority High]: Open | Number of open "Ticket" items with priority High. |
Dependent item | glpi.ticket.priority.high Preprocessing
|
| Assistance [Tickets][Priority Medium]: Open | Number of open "Ticket" items with priority Medium. |
Dependent item | glpi.ticket.priority.medium Preprocessing
|
| Assistance [Tickets][Priority Low]: Open | Number of open "Ticket" items with priority Low. |
Dependent item | glpi.ticket.priority.low Preprocessing
|
| Assistance [Tickets][Priority Very low]: Open | Number of open "Ticket" items with priority Very low. |
Dependent item | glpi.ticket.priority.very_low Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| GLPI: Service: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/GLPI by HTTP/glpi.status.errors))>0 |
Average | |
| GLPI: Assets: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/GLPI by HTTP/glpi.assets.errors))>0 |
Average | Depends on:
|
| GLPI: Assistance [Changes]: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/GLPI by HTTP/glpi.assistance.change.errors))>0 |
Average | Depends on:
|
| GLPI: Assistance [Problems]: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/GLPI by HTTP/glpi.assistance.problem.errors))>0 |
Average | Depends on:
|
| GLPI: Assistance [Tickets]: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/GLPI by HTTP/glpi.assistance.ticket.errors))>0 |
Average | Depends on:
|
| GLPI: Management: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/GLPI by HTTP/glpi.management.errors))>0 |
Average | Depends on:
|
| GLPI: Service [glpi]: Is in a problem state | Service GLPI is in a problem state. |
last(/GLPI by HTTP/glpi.service.glpi.status)=3 |
Average | |
| GLPI: Service [glpi]: Is in a warning state | Service GLPI is in a warning state. |
last(/GLPI by HTTP/glpi.service.glpi.status)=2 |
Warning | |
| GLPI: Service [db]: Is in a problem state | Service database is in a problem state. |
last(/GLPI by HTTP/glpi.service.db.status)=3 |
Average | |
| GLPI: Service [db]: Is in a warning state | Service database is in a warning state. |
last(/GLPI by HTTP/glpi.service.db.status)=2 |
Warning | |
| GLPI: Service [cas]: Is in a problem state | Service CAS is in a problem state. |
last(/GLPI by HTTP/glpi.service.cas.status)=3 |
Warning | |
| GLPI: Service [cas]: Is in a warning state | Service CAS is in a warning state. |
last(/GLPI by HTTP/glpi.service.cas.status)=2 |
Warning | |
| GLPI: Service [ldap]: Is in a problem state | Service LDAP is in a problem state. |
last(/GLPI by HTTP/glpi.service.ldap.status)=3 |
Warning | |
| GLPI: Service [ldap]: Is in a warning state | Service LDAP is in a warning state. |
last(/GLPI by HTTP/glpi.service.ldap.status)=2 |
Warning | |
| GLPI: Service [imap]: Is in a problem state | Service IMAP is in a problem state. |
last(/GLPI by HTTP/glpi.service.imap.status)=3 |
Warning | |
| GLPI: Service [imap]: Is in a warning state | Service IMAP is in a warning state. |
last(/GLPI by HTTP/glpi.service.imap.status)=2 |
Warning | |
| GLPI: Service [mail collectors]: Is in a problem state | The mail collectors service is in a problem state. |
last(/GLPI by HTTP/glpi.service.mail_collectors.status)=3 |
Warning | |
| GLPI: Service [mail collectors]: Is in a warning state | The mail collectors service is in a warning state. |
last(/GLPI by HTTP/glpi.service.mail_collectors.status)=2 |
Warning | |
| GLPI: Service [crontasks]: Is in a problem state | Service crontasks is in a problem state. |
last(/GLPI by HTTP/glpi.service.crontasks.status)=3 |
Warning | |
| GLPI: Service [crontasks]: Is in a warning state | Service crontasks is in a warning state. |
last(/GLPI by HTTP/glpi.service.crontasks.status)=2 |
Warning | |
| GLPI: Service [filesystem]: Is in a problem state | Service filesystem is in a problem state. |
last(/GLPI by HTTP/glpi.service.filesystem.status)=3 |
Average | |
| GLPI: Service [filesystem]: Is in a warning state | Service filesystem is in a warning state. |
last(/GLPI by HTTP/glpi.service.filesystem.status)=2 |
Warning | |
| GLPI: Service [plugins]: Is in a problem state | Service plugins is in a problem state. |
last(/GLPI by HTTP/glpi.service.plugins.status)=3 |
Warning | |
| GLPI: Service [plugins]: Is in a warning state | Service plugins is in a warning state. |
last(/GLPI by HTTP/glpi.service.plugins.status)=2 |
Warning | |
| GLPI: Change: Average solve time is high | Change average solve time this month exceeded the warning threshold. |
min(/GLPI by HTTP/glpi.change.solve.time.month,1h)>{$GLPI.SOLVE_TIME.WARN:"Change"}*60 |
Warning | Manual close: Yes |
| GLPI: Change: Workload is too high | Change workload is too high. |
min(/GLPI by HTTP/glpi.assistance.change.open,5m)>{$GLPI.WORKLOAD.CRIT:"Change"} |
Average | |
| GLPI: Change: Workload is high | Change workload is high. |
min(/GLPI by HTTP/glpi.assistance.change.open,5m)>{$GLPI.WORKLOAD.WARN:"Change"} |
Warning | Depends on:
|
| GLPI: Change: Too many open Major priority items | Number of open Major priority "Change" items exceeded the threshold. |
min(/GLPI by HTTP/glpi.change.priority.major,5m)>{$GLPI.PRIORITY.MAJOR.THRESHOLD:"Change"} |
High | |
| GLPI: Change: Too many open Very high priority items | Number of open Very high priority "Change" items exceeded the threshold. |
min(/GLPI by HTTP/glpi.change.priority.very_high,5m)>{$GLPI.PRIORITY.VERY_HIGH.THRESHOLD:"Change"} |
Average | |
| GLPI: Change: Too many open High priority items | Number of open High priority "Change" items exceeded the threshold. |
min(/GLPI by HTTP/glpi.change.priority.high,5m)>{$GLPI.PRIORITY.HIGH.THRESHOLD:"Change"} |
Warning | |
| GLPI: Problem: Average solve time is high | Problem average solve time this month exceeded the warning threshold. |
min(/GLPI by HTTP/glpi.problem.solve.time.month,1h)>{$GLPI.SOLVE_TIME.WARN:"Problem"}*60 |
Warning | Manual close: Yes |
| GLPI: Problem: Workload is too high | Problem workload is too high. |
min(/GLPI by HTTP/glpi.assistance.problem.open,5m)>{$GLPI.WORKLOAD.CRIT:"Problem"} |
Average | |
| GLPI: Problem: Workload is high | Problem workload is high. |
min(/GLPI by HTTP/glpi.assistance.problem.open,5m)>{$GLPI.WORKLOAD.WARN:"Problem"} |
Warning | Depends on:
|
| GLPI: Problem: Too many open Major priority items | Number of open Major priority "Problem" items exceeded the threshold. |
min(/GLPI by HTTP/glpi.problem.priority.major,5m)>{$GLPI.PRIORITY.MAJOR.THRESHOLD:"Problem"} |
High | |
| GLPI: Problem: Too many open Very high priority items | Number of open Very high priority "Problem" items exceeded the threshold. |
min(/GLPI by HTTP/glpi.problem.priority.very_high,5m)>{$GLPI.PRIORITY.VERY_HIGH.THRESHOLD:"Problem"} |
Average | |
| GLPI: Problem: Too many open High priority items | Number of open High priority "Problem" items exceeded the threshold. |
min(/GLPI by HTTP/glpi.problem.priority.high,5m)>{$GLPI.PRIORITY.HIGH.THRESHOLD:"Problem"} |
Warning | |
| GLPI: Ticket: Average solve time is high | Ticket average solve time this month exceeded the warning threshold. |
min(/GLPI by HTTP/glpi.ticket.solve.time.month,1h)>{$GLPI.SOLVE_TIME.WARN:"Ticket"}*60 |
Warning | Manual close: Yes |
| GLPI: Ticket: Workload is too high | Ticket workload is too high. |
min(/GLPI by HTTP/glpi.assistance.ticket.open,5m)>{$GLPI.WORKLOAD.CRIT:"Ticket"} |
Average | |
| GLPI: Ticket: Workload is high | Ticket workload is high. |
min(/GLPI by HTTP/glpi.assistance.ticket.open,5m)>{$GLPI.WORKLOAD.WARN:"Ticket"} |
Warning | Depends on:
|
| GLPI: Ticket: Too many open Major priority items | Number of open Major priority "Ticket" items exceeded the threshold. |
min(/GLPI by HTTP/glpi.ticket.priority.major,5m)>{$GLPI.PRIORITY.MAJOR.THRESHOLD:"Ticket"} |
High | |
| GLPI: Ticket: Too many open Very high priority items | Number of open Very high priority "Ticket" items exceeded the threshold. |
min(/GLPI by HTTP/glpi.ticket.priority.very_high,5m)>{$GLPI.PRIORITY.VERY_HIGH.THRESHOLD:"Ticket"} |
Average | |
| GLPI: Ticket: Too many open High priority items | Number of open High priority "Ticket" items exceeded the threshold. |
min(/GLPI by HTTP/glpi.ticket.priority.high,5m)>{$GLPI.PRIORITY.HIGH.THRESHOLD:"Ticket"} |
Warning |
LLD rule Assets type discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Assets type discovery | Assets type discovery. |
Dependent item | assets.type.discovery |
Item prototypes for Assets type discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Assets [{#ASSETS_TYPE}]: Total | Total number of {#ASSETS_TYPE} assets. |
Dependent item | glpi.assets.total[{#ASSETS_TYPE}] Preprocessing
|
Trigger prototypes for Assets type discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| GLPI: Assets: Number of {#ASSETS_TYPE} items has changed | Number of {#ASSETS_TYPE} items in Assets has changed. Acknowledge to close the problem manually. |
last(/GLPI by HTTP/glpi.assets.total[{#ASSETS_TYPE}],#1)<>last(/GLPI by HTTP/glpi.assets.total[{#ASSETS_TYPE}],#2) |
Info | Manual close: Yes |
LLD rule Management type discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Management type discovery | Management type discovery. |
Dependent item | management.type.discovery |
Item prototypes for Management type discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Management [{#MANAGEMENT_TYPE}]: Total | Total number of {#MANAGEMENT_TYPE} assets. |
Dependent item | glpi.management.total[{#MANAGEMENT_TYPE}] Preprocessing
|
Trigger prototypes for Management type discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| GLPI: Management: Number of {#MANAGEMENT_TYPE} items has changed | Number of {#MANAGEMENT_TYPE} items in Management has changed. Acknowledge to close the problem manually. |
last(/GLPI by HTTP/glpi.management.total[{#MANAGEMENT_TYPE}],#1)<>last(/GLPI by HTTP/glpi.management.total[{#MANAGEMENT_TYPE}],#2) |
Info | Manual close: Yes |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
Vendor and Community integrations are created by third parties and are not verified by Zabbix. Zabbix is not responsible for their functionality or quality.
Community repositories
4 Independent projects on GitHubThis template help to monitor GLPI data on Zabbix
No description, website, or topics provided.
No description, website, or topics provided.
Integrar Triggers do ZABBIX 2.2.4 com o GLPI 9.1.6

GLPI webhook
Overview
This guide describes how to integrate your Zabbix installation with your GLPI installation using the Zabbix webhook feature, providing instructions on setting up a media type, user, and action in Zabbix.
The webhook supports both legacy REST API (V1) and RESTful API (V2). This webhook creates tickets in the GLPI Assistance section. Created tickets have the following urgency mapping:
| Severity in Zabbix | Urgency in GLPI |
|---|---|
| 0 - Not classified | Very low |
| 1 - Information | Very low |
| 2 - Warning | Low |
| 3 - Average | Medium |
| 4 - High | High |
| 5 - Disaster | Very high |
- When a problem is updated in Zabbix, the webhook updates the ticket's title and urgency in GLPI and adds a followup entry with the update comment.
- When a problem is resolved in Zabbix, the webhook updates the ticket's title and adds a followup entry with resolution details.
- Created tickets have the status "New" and resolved tickets - "Solved".
- Due to the specifics of the webhook, the number of retries is, by default, set to 1. We recommend not changing this setting; should a transaction error occur, additional duplicate objects (tickets, followups) may be created during the retry.
Tested on
- GLPI 10.0.18, 10.0.24, 11.0.5, 11.0.6
Requirements
Zabbix version: 7.4 and higher.
Parameters
After importing the webhook, you can configure it using webhook parameters.
Configurable parameters
The configurable parameters are intended to be changed according to the webhook setup as well as the user's preferences and environment.
| Name | Value | Description |
|---|---|---|
| tls_verify | {$HTTP.TLS.VERIFY:"GLPI"} | TLS certificate verification for HTTP requests: "none" - disabled, "peer" - verify the certificate chain and expiration, "full" - full verification. Any other value enables full verification. To override the setting for this media type only, define the global macro with the context "GLPI", e.g. {$HTTP.TLS.VERIFY:"GLPI"}. |
| zabbix_url | {$ZABBIX.URL} | Current Zabbix URL. |
| glpi_legacy_api | false | Boolean value (true/false) to set API version: false (default) enables Modern API v2 with OAuth2 Bearer token authentication, true enables Legacy API v1 with Session-Token authentication. |
| glpi_app_token | GLPI application token (optional; specify if the token is set in the API client settings). | |
| glpi_user_token | <PLACE GLPI USER TOKEN> | GLPI user token. |
| glpi_client_id | <PLACE GLPI CLIENT ID> | GLPI client ID. |
| glpi_client_secret | <PLACE GLPI CLIENT SECRET> | GLPI client secret. |
| glpi_username | <PLACE GLPI USERNAME> | GLPI username. |
| glpi_password | <PLACE GLPI USER PASSWORD> | GLPI user password. |
| glpi_url | <PLACE GLPI URL> | URL of GLPI installation. |
| glpi_urgency_autoregistration | Low | String value of GLPI urgency to assign to autoregistration event tickets. |
| glpi_urgency_discovery | Low | String value of GLPI urgency to assign to discovery event tickets. |
| glpi_urgency_internal | Low | String value of GLPI urgency to assign to internal event tickets. |
| severity_not_classified | Very low | GLPI urgency to assign to tickets when event has Zabbix severity "Not classified". |
| severity_information | Very low | GLPI urgency to assign to tickets when event has Zabbix severity "Information". |
| severity_warning | Low | GLPI urgency to assign to tickets when event has Zabbix severity "Warning". |
| severity_average | Medium | GLPI urgency to assign to tickets when event has Zabbix severity "Average". |
| severity_high | High | GLPI urgency to assign to tickets when event has Zabbix severity "High". |
| severity_disaster | Very high | GLPI urgency to assign to tickets when event has Zabbix severity "Disaster". |
Internal parameters
Internal parameters are reserved for predefined macros that are not meant to be changed.
| Name | Value | Description |
|---|---|---|
| event_source | {EVENT.SOURCE} | Numeric value of the event source. Possible values: 0 - Trigger, 1 - Discovery, 2 - Autoregistration, 3 - Internal, 4 - Service. |
| event_value | {EVENT.VALUE} | Numeric value of the event that triggered an action (1 for problem, 0 for recovering). |
| event_severity | {EVENT.SEVERITY} | Name of the event severity. |
| event_nseverity | {EVENT.NSEVERITY} | Numeric value of the event severity. Possible values: 0 - Not classified, 1 - Information, 2 - Warning, 3 - Average, 4 - High, 5 - Disaster. |
| event_update_nseverity | {EVENT.UPDATE.NSEVERITY} | Numeric value of the event update severity. Possible values: 0 - Not classified, 1 - Information, 2 - Warning, 3 - Average, 4 - High, 5 - Disaster. |
| event_update_severity | {EVENT.UPDATE.SEVERITY} | Name of the event update severity. |
| event_update_status | {EVENT.UPDATE.STATUS} | Numeric value of the problem update status. Possible values: 0 - Webhook was called because of problem/recovery event, 1 - Update operation. |
| alert_subject | {ALERT.SUBJECT} | 'Default subject' value from action configuration. |
| alert_message | {ALERT.MESSAGE} | 'Default message' value from action configuration. |
| event_id | {EVENT.ID} | Numeric ID of the event that triggered an action. |
| trigger_id | {TRIGGER.ID} | Numeric ID of the trigger of this action. |
| glpi_problem_id | {EVENT.TAGS.__zbx_glpi_problem_id} | GLPI problem ID. |
Please be aware that each webhook supports an HTTP proxy. To use this feature, add a new media type parameter with the name
http_proxyand set its value to the proxy URL.
Service setup
RESTful API (V2) with OAuth2 - recommended configuration for GLPI 11+:
- Enable access to the GLPI API:
- In the GLPI web interface, go to Setup > General > API.
- Switch the toggle to activate Enable API and click the Save button.
- Add an OAuth client:
- Go to Setup > OAuth clients.
- Click the Add button on the top of the page.
- Set the client name; enter api in the Scopes field and Password in Grants.
- Click the Add button.
- Open the settings of the created client, and then copy and save the client ID and client secret.
- Create a new user profile with permissions to create tickets and followups (alternatively, you can use an existing profile with sufficient privileges):
- Go to Administration > Profiles and click the Add button on the top of the page.
- Specify the profile name and set the Profile's Interface option to Standard Interface, and then click the Add button.
- Open the created profile and click the Assistance tab.
- In the Tickets section, set the Update, Create, and See all tickets permissions.
- In the Followups/Tasks section, set the Add (Requester) permission for the Followups row.
- Click the Save button.
- Create a new user:
- Go to Administration > Users and click the Add button on the top of the page.
- Specify the user login and set the Authorization > Profile option to the profile you created in the previous step (or any other existing profile with permissions to create tickets and followups).
- Set the password for the user.
- Click the Add button.
GLPI 11+ continues to support REST API (V1) without requiring OAuth2/V2. Note that V1 is not recommended for new integrations.
REST API (V1) - legacy configuration for GLPI 10:
- Enable access to the GLPI REST API:
- In the GLPI web interface, go to Setup > General > API.
- Set the Enable Rest API and Enable login with external token options to Yes and click the Save button.
- Add a new API client:
- Click the Add API client button.
- Specify the API client name and set the Active option to Yes.
- For security reasons, you may want to restrict the API client to the IP address of Zabbix server and/or create an additional application token (will be generated by default; you can uncheck the Regenerate checkbox if you don't want to use it).
- Click the Add button.
- If you've opted to create an application token, open the settings of the created API client, and then copy and save the generated application token.
- Create a new user profile with permissions to create tickets and followups (alternatively, you can use an existing profile with sufficient privileges):
- Go to Administration > Profiles and click the Add button on the top of the page.
- Specify the profile name and set the Profile's Interface option to Standard Interface, and then click the Add button.
- Open the created profile and click the Assistance tab.
- Set the Update, Create, and See all tickets permissions in the Tickets section.
- Set the Add followup (Requester) permission for the Followups line in the Followups/Tasks section.
- Click the Save button.
- Create a new user:
- Go to Administration > Users and click the Add User button on the top of the page.
- Specify the user login and set the Profiles option to the profile that you created in the previous step (or any other existing profile with permissions to create tickets and followups).
- Click the Add button.
- Open the profile of the created user and check the Regenerate checkbox of the API token option; click Save.
- Copy and save the generated user API token.
Zabbix configuration
- Before you can start using the GLPI webhook, you need to set the global macro
{$ZABBIX.URL}:
- In the Zabbix web interface, go to Administration > Macros in the top-left drop-down menu.
- Set up the global macro
{$ZABBIX.URL}which will contain the URL to the Zabbix frontend. The URL should be either an IP address, a fully qualified domain name, or a localhost. - Specifying a protocol is mandatory, whereas the port is optional. Depending on the web server configuration, you might also need to append
/zabbixto the end of the URL. Good examples:http://zabbix.comhttps://zabbix.lan/zabbixhttp://server.zabbix.lan/http://localhosthttp://127.0.0.1:8080
- Bad examples:
zabbix.comhttp://zabbix/
- Import the media type:
- In the Alerts > Media types section, import the
media_glpi.yamlfile.
- It is also possible to set GLPI ticket urgency by parameters. Predefined parameter values are already in place; note that they use the default GLPI urgency.
Please adjust these values to suit your GLPI environment.
The following parameters apply to Zabbix events that support severities:
severity_not_classified- for Zabbix severity "Not Classified"severity_information- for Zabbix severity "Information"severity_warning- for Zabbix severity "Warning"severity_average- for Zabbix severity "Average"severity_high- for Zabbix severity "High"severity_disaster- for Zabbix severity "Disaster"
And the following for Zabbix events that do not have severities:
glpi_urgency_internal- for Zabbix internal eventsglpi_urgency_discovery- for Zabbix discovery eventsglpi_urgency_autoregistration- for Zabbix autoregistration events
- Open the imported GLPI media type and set the following webhook parameters:
glpi_url- the frontend URL of your GLPI installation, without any path suffix (e.g. http://glpi.example.com:8080).glpi_legacy_api- determine whether you are using RESTful API V2 with OAuth2 authorization (default, parameter valuefalse) or legacy API (parameter valuetrue).
If using RESTful API V2 with OAuth2, set the required parameters:
glpi_client_id- the client ID that was generated during the creation of the OAuth client.glpi_client_secret- the client secret that was generated during the creation of the OAuth client.glpi_username- GLPI username created for the webhook.glpi_password- password for the GLPI webhook user.
If using legacy API, set the parameters:
glpi_app_token- if you've opted to use an application token during the creation of API client, specify it here; otherwise leave it empty.glpi_user_token- the user token that was generated during the creation of the GLPI user.
-
Click the Enabled checkbox to enable the media type and click the Update button to save the webhook settings.
-
Create a Zabbix user and add media:
- To create a new user, go to the Users > Users section and click the Create user button in the top-right corner. In the User tab, fill in all the required fields (marked with red asterisks).
- In the Media tab, click Add and select GLPI from the Type drop-down list. Though the Send to field is not used in the GLPI webhook, it cannot be left empty. To comply with frontend requirements, enter any symbol in the field.
- Make sure this user has access to all the hosts for which you would like problem notifications to be sent to GLPI.
- Done! You can now start using this media type in actions and create ticket items in GLPI.
For more information, please see Zabbix and GLPI documentation.
Feedback
Please report any issues with the media type at https://support.zabbix.com.
You can also provide feedback, discuss the media type, or ask for help at ZABBIX forums.

GLPi webhook
Overview
This guide describes how to integrate your Zabbix installation with GLPi using the Zabbix webhook feature, providing instructions on setting up a media type, user, and action in Zabbix.
This webhook creates problem records in the GLPi Assistance section. Created problems have the following severity mapping:
| Severity in Zabbix | Urgency in GLPi |
|---|---|
| 0 - Not classified | Medium (default) |
| 1 - Information | Very low |
| 2 - Warning | Low |
| 3 - Average | Medium |
| 4 - High | High |
| 5 - Disaster | Very high |
When an on Update action occurs in Zabbix, the webhook updates the problem's title and severity and adds a follow-up entry with the update comment. When a problem is resolved in Zabbix, the webhook updates the problem's title and adds a follow-up entry with resolution details. Created problems have the status "New", and resolved problems - "Solved".
Due to the specifics of the webhook, the number of retries is, by default, set to 1. We recommend not changing this setting; should a transaction error occur, additional duplicate objects (problems, followups) may be created during the retry.
Tested on
- GLPI 10.0.16
Requirements
Zabbix version: 7.2 and higher.
Parameters
After importing the webhook, you can configure it using webhook parameters.
Configurable parameters
The configurable parameters are intended to be changed according to the webhook setup as well as the user's preferences and environment.
| Name | Value | Description |
|---|---|---|
| zabbix_url | {$ZABBIX.URL} | Current Zabbix URL. |
| glpi_token | <PLACE GLPI TOKEN> | GLPi user token. |
| glpi_url | <PLACE GLPI URL> | URL of GLPi installation. |
Internal parameters
Internal parameters are reserved for predefined macros that are not meant to be changed.
| Name | Value | Description |
|---|---|---|
| event_source | {EVENT.SOURCE} | Numeric value of the event source. Possible values: 0 - Trigger, 1 - Discovery, 2 - Autoregistration, 3 - Internal, 4 - Service. |
| event_value | {EVENT.VALUE} | Numeric value of the event that triggered an action (1 for problem, 0 for recovering). |
| event_severity | {EVENT.SEVERITY} | Name of the event severity. |
| event_nseverity | {EVENT.NSEVERITY} | Numeric value of the event severity. Possible values: 0 - Not classified, 1 - Information, 2 - Warning, 3 - Average, 4 - High, 5 - Disaster. |
| event_update_nseverity | {EVENT.UPDATE.NSEVERITY} | Numeric value of the event update severity. Possible values: 0 - Not classified, 1 - Information, 2 - Warning, 3 - Average, 4 - High, 5 - Disaster. |
| event_update_severity | {EVENT.UPDATE.SEVERITY} | Name of the event update severity. |
| event_update_status | {EVENT.UPDATE.STATUS} | Numeric value of the problem update status. Possible values: 0 - Webhook was called because of problem/recovery event, 1 - Update operation. |
| alert_subject | {ALERT.SUBJECT} | 'Default subject' value from action configuration. |
| alert_message | {ALERT.MESSAGE} | 'Default message' value from action configuration. |
| event_id | {EVENT.ID} | Numeric ID of the event that triggered an action. |
| trigger_id | {TRIGGER.ID} | Numeric ID of the trigger of this action. |
| glpi_problem_id | {EVENT.TAGS.__zbx_glpi_problem_id} | GLPi problem ID. |
Please be aware that each webhook supports an HTTP proxy. To use this feature, add a new media type parameter with the name
http_proxyand set its value to the proxy URL.
Service setup
1. In GLPi, create a user or choose an existing user - one with permission to create problems and followups.
2. Create an API token. Head to your GLPi user profile, check the Regenerate box next to API token, and hit Save.
3. Copy the API token of your new integration to use it in Zabbix.
Zabbix configuration
1. Start by setting up the global macro {$ZABBIX.URL} containing an URL to the Zabbix frontend. Note that if an HTTP/HTTPS schema is not present in the URL, HTTPS will be used by default.
The global macro can also be used, for example, to populate a custom field in Jira with a URL linking to event information or a graph.
2. Import the GLPi media type from the file media_glpi.yaml.
3. In the imported media, change the values of the variable glpi_token and glpi_url.
For more information about Zabbix webhook configuration, please see Zabbix documentation.
4. Create a Zabbix user and add Media with the GLPi media type. Though the Send to field is not used in the GLPi webhook, it cannot be left empty. To comply with frontend requirements, enter any symbol in the field.
Make sure the user you created has access to all the hosts for which you would like Zabbix problem notifications to be converted into GLPi problems.
For more information, please see Zabbix and GLPi documentation.
Feedback
Please report any issues with the media type at https://support.zabbix.com.
You can also provide feedback, discuss the media type, or ask for help at ZABBIX forums.

GLPI webhook
Overview
This guide describes how to integrate your Zabbix installation with your GLPI installation using the Zabbix webhook feature, providing instructions on setting up a media type, user, and action in Zabbix.
The webhook supports both legacy REST API (V1) and RESTful API (V2). This webhook creates tickets in the GLPI Assistance section. Created tickets have the following urgency mapping:
| Severity in Zabbix | Urgency in GLPI |
|---|---|
| 0 - Not classified | Very low |
| 1 - Information | Very low |
| 2 - Warning | Low |
| 3 - Average | Medium |
| 4 - High | High |
| 5 - Disaster | Very high |
- When a problem is updated in Zabbix, the webhook updates the ticket's title and urgency in GLPI and adds a followup entry with the update comment.
- When a problem is resolved in Zabbix, the webhook updates the ticket's title and adds a followup entry with resolution details.
- Created tickets have the status "New" and resolved tickets - "Solved".
- Due to the specifics of the webhook, the number of retries is, by default, set to 1. We recommend not changing this setting; should a transaction error occur, additional duplicate objects (tickets, followups) may be created during the retry.
Tested on
- GLPI 10.0.18, 10.0.24, 11.0.5, 11.0.6
Requirements
Zabbix version: 7.0 and higher.
Parameters
After importing the webhook, you can configure it using webhook parameters.
Configurable parameters
The configurable parameters are intended to be changed according to the webhook setup as well as the user's preferences and environment.
| Name | Value | Description |
|---|---|---|
| tls_verify | {$HTTP.TLS.VERIFY:"GLPI"} | TLS certificate verification for HTTP requests: "none" - disabled, "peer" - verify the certificate chain and expiration, "full" - full verification. Any other value enables full verification. To override the setting for this media type only, define the global macro with the context "GLPI", e.g. {$HTTP.TLS.VERIFY:"GLPI"}. |
| zabbix_url | {$ZABBIX.URL} | Current Zabbix URL. |
| glpi_legacy_api | false | Boolean value (true/false) to set API version: false (default) enables Modern API v2 with OAuth2 Bearer token authentication, true enables Legacy API v1 with Session-Token authentication. |
| glpi_app_token | GLPI application token (optional; specify if the token is set in the API client settings). | |
| glpi_user_token | <PLACE GLPI USER TOKEN> | GLPI user token. |
| glpi_client_id | <PLACE GLPI CLIENT ID> | GLPI client ID. |
| glpi_client_secret | <PLACE GLPI CLIENT SECRET> | GLPI client secret. |
| glpi_username | <PLACE GLPI USERNAME> | GLPI username. |
| glpi_password | <PLACE GLPI USER PASSWORD> | GLPI user password. |
| glpi_url | <PLACE GLPI URL> | URL of GLPI installation. |
| glpi_urgency_autoregistration | Low | String value of GLPI urgency to assign to autoregistration event tickets. |
| glpi_urgency_discovery | Low | String value of GLPI urgency to assign to discovery event tickets. |
| glpi_urgency_internal | Low | String value of GLPI urgency to assign to internal event tickets. |
| severity_not_classified | Very low | GLPI urgency to assign to tickets when event has Zabbix severity "Not classified". |
| severity_information | Very low | GLPI urgency to assign to tickets when event has Zabbix severity "Information". |
| severity_warning | Low | GLPI urgency to assign to tickets when event has Zabbix severity "Warning". |
| severity_average | Medium | GLPI urgency to assign to tickets when event has Zabbix severity "Average". |
| severity_high | High | GLPI urgency to assign to tickets when event has Zabbix severity "High". |
| severity_disaster | Very high | GLPI urgency to assign to tickets when event has Zabbix severity "Disaster". |
Internal parameters
Internal parameters are reserved for predefined macros that are not meant to be changed.
| Name | Value | Description |
|---|---|---|
| event_source | {EVENT.SOURCE} | Numeric value of the event source. Possible values: 0 - Trigger, 1 - Discovery, 2 - Autoregistration, 3 - Internal, 4 - Service. |
| event_value | {EVENT.VALUE} | Numeric value of the event that triggered an action (1 for problem, 0 for recovering). |
| event_severity | {EVENT.SEVERITY} | Name of the event severity. |
| event_nseverity | {EVENT.NSEVERITY} | Numeric value of the event severity. Possible values: 0 - Not classified, 1 - Information, 2 - Warning, 3 - Average, 4 - High, 5 - Disaster. |
| event_update_nseverity | {EVENT.UPDATE.NSEVERITY} | Numeric value of the event update severity. Possible values: 0 - Not classified, 1 - Information, 2 - Warning, 3 - Average, 4 - High, 5 - Disaster. |
| event_update_severity | {EVENT.UPDATE.SEVERITY} | Name of the event update severity. |
| event_update_status | {EVENT.UPDATE.STATUS} | Numeric value of the problem update status. Possible values: 0 - Webhook was called because of problem/recovery event, 1 - Update operation. |
| alert_subject | {ALERT.SUBJECT} | 'Default subject' value from action configuration. |
| alert_message | {ALERT.MESSAGE} | 'Default message' value from action configuration. |
| event_id | {EVENT.ID} | Numeric ID of the event that triggered an action. |
| trigger_id | {TRIGGER.ID} | Numeric ID of the trigger of this action. |
| glpi_problem_id | {EVENT.TAGS.__zbx_glpi_problem_id} | GLPI problem ID. |
Please be aware that each webhook supports an HTTP proxy. To use this feature, add a new media type parameter with the name
http_proxyand set its value to the proxy URL.
Service setup
RESTful API (V2) with OAuth2 - recommended configuration for GLPI 11+:
- Enable access to the GLPI API:
- In the GLPI web interface, go to Setup > General > API.
- Switch the toggle to activate Enable API and click the Save button.
- Add an OAuth client:
- Go to Setup > OAuth clients.
- Click the Add button on the top of the page.
- Set the client name; enter api in the Scopes field and Password in Grants.
- Click the Add button.
- Open the settings of the created client, and then copy and save the client ID and client secret.
- Create a new user profile with permissions to create tickets and followups (alternatively, you can use an existing profile with sufficient privileges):
- Go to Administration > Profiles and click the Add button on the top of the page.
- Specify the profile name and set the Profile's Interface option to Standard Interface, and then click the Add button.
- Open the created profile and click the Assistance tab.
- In the Tickets section, set the Update, Create, and See all tickets permissions.
- In the Followups/Tasks section, set the Add (Requester) permission for the Followups row.
- Click the Save button.
- Create a new user:
- Go to Administration > Users and click the Add button on the top of the page.
- Specify the user login and set the Authorization > Profile option to the profile you created in the previous step (or any other existing profile with permissions to create tickets and followups).
- Set the password for the user.
- Click the Add button.
GLPI 11+ continues to support REST API (V1) without requiring OAuth2/V2. Note that V1 is not recommended for new integrations.
REST API (V1) - legacy configuration for GLPI 10:
- Enable access to the GLPI REST API:
- In the GLPI web interface, go to Setup > General > API.
- Set the Enable Rest API and Enable login with external token options to Yes and click the Save button.
- Add a new API client:
- Click the Add API client button.
- Specify the API client name and set the Active option to Yes.
- For security reasons, you may want to restrict the API client to the IP address of Zabbix server and/or create an additional application token (will be generated by default; you can uncheck the Regenerate checkbox if you don't want to use it).
- Click the Add button.
- If you've opted to create an application token, open the settings of the created API client, and then copy and save the generated application token.
- Create a new user profile with permissions to create tickets and followups (alternatively, you can use an existing profile with sufficient privileges):
- Go to Administration > Profiles and click the Add button on the top of the page.
- Specify the profile name and set the Profile's Interface option to Standard Interface, and then click the Add button.
- Open the created profile and click the Assistance tab.
- Set the Update, Create, and See all tickets permissions in the Tickets section.
- Set the Add followup (Requester) permission for the Followups line in the Followups/Tasks section.
- Click the Save button.
- Create a new user:
- Go to Administration > Users and click the Add User button on the top of the page.
- Specify the user login and set the Profiles option to the profile that you created in the previous step (or any other existing profile with permissions to create tickets and followups).
- Click the Add button.
- Open the profile of the created user and check the Regenerate checkbox of the API token option; click Save.
- Copy and save the generated user API token.
Zabbix configuration
- Before you can start using the GLPI webhook, you need to set the global macro
{$ZABBIX.URL}:
- In the Zabbix web interface, go to Administration > Macros in the top-left drop-down menu.
- Set up the global macro
{$ZABBIX.URL}which will contain the URL to the Zabbix frontend. The URL should be either an IP address, a fully qualified domain name, or a localhost. - Specifying a protocol is mandatory, whereas the port is optional. Depending on the web server configuration, you might also need to append
/zabbixto the end of the URL. Good examples:http://zabbix.comhttps://zabbix.lan/zabbixhttp://server.zabbix.lan/http://localhosthttp://127.0.0.1:8080
- Bad examples:
zabbix.comhttp://zabbix/
- Import the media type:
- In the Alerts > Media types section, import the
media_glpi.yamlfile.
- It is also possible to set GLPI ticket urgency by parameters. Predefined parameter values are already in place; note that they use the default GLPI urgency.
Please adjust these values to suit your GLPI environment.
The following parameters apply to Zabbix events that support severities:
severity_not_classified- for Zabbix severity "Not Classified"severity_information- for Zabbix severity "Information"severity_warning- for Zabbix severity "Warning"severity_average- for Zabbix severity "Average"severity_high- for Zabbix severity "High"severity_disaster- for Zabbix severity "Disaster"
And the following for Zabbix events that do not have severities:
glpi_urgency_internal- for Zabbix internal eventsglpi_urgency_discovery- for Zabbix discovery eventsglpi_urgency_autoregistration- for Zabbix autoregistration events
- Open the imported GLPI media type and set the following webhook parameters:
glpi_url- the frontend URL of your GLPI installation, without any path suffix (e.g. http://glpi.example.com:8080).glpi_legacy_api- determine whether you are using RESTful API V2 with OAuth2 authorization (default, parameter valuefalse) or legacy API (parameter valuetrue).
If using RESTful API V2 with OAuth2, set the required parameters:
glpi_client_id- the client ID that was generated during the creation of the OAuth client.glpi_client_secret- the client secret that was generated during the creation of the OAuth client.glpi_username- GLPI username created for the webhook.glpi_password- password for the GLPI webhook user.
If using legacy API, set the parameters:
glpi_app_token- if you've opted to use an application token during the creation of API client, specify it here; otherwise leave it empty.glpi_user_token- the user token that was generated during the creation of the GLPI user.
-
Click the Enabled checkbox to enable the media type and click the Update button to save the webhook settings.
-
Create a Zabbix user and add media:
- To create a new user, go to the Users > Users section and click the Create user button in the top-right corner. In the User tab, fill in all the required fields (marked with red asterisks).
- In the Media tab, click Add and select GLPI from the Type drop-down list. Though the Send to field is not used in the GLPI webhook, it cannot be left empty. To comply with frontend requirements, enter any symbol in the field.
- Make sure this user has access to all the hosts for which you would like problem notifications to be sent to GLPI.
- Done! You can now start using this media type in actions and create ticket items in GLPI.
For more information, please see Zabbix and GLPI documentation.
Feedback
Please report any issues with the media type at https://support.zabbix.com.
You can also provide feedback, discuss the media type, or ask for help at ZABBIX forums.
GLPi webhook
About webhook
This webhook creates problems in GLPi Assistance section. Created problems have the next severity mapping:
| Severity In zabbix | Urgency in GLPi |
|---|---|
| 0 - Not classified | Medium (default) |
| 1 - Information | Very low |
| 2 - Warning | Low |
| 3 - Average | Medium |
| 4 - High | High |
| 5 - Disaster | Very High |
On Update action in zabbix, webhook updates created problem's title, severity and creates followup with update comment.
On resolve action, webhook updates created problem title and creates followup with resolve information.
Created problems have "New" status, and resolved - "Solved" status.
Due to the specifics of the webhook, the number of retries is set to 1 by default. We recommend that you do not change this setting, because in case of a transaction error, additional duplicate objects (problems, followups) may be created during the retry.
Installation guide
This guide describes how to integrate your Zabbix installation with GLPi problems using the Zabbix webhook feature. This guide provides instructions on setting up a media type, a user and an action in Zabbix.
In GLPi
1. Create or use existing user in GLPi with permission to create problems and followups.
![]()
2. Please create an API token. For that you should go into user profile and set tick in "Regenerate" field against "API token" and hit save.
![]()
3. Copy the API token of your new integration to use it in Zabbix.
In Zabbix
The configuration consists of a media type in Zabbix, which will invoke the webhook to send alerts to GLPi problems through the GLPi Rest API.
1. Import the GLPi media type from file media_glpi.yaml.
2. Change in the imported media the values of the variable glpi_token and glpi_url.
For more information about the Zabbix Webhook configuration, please see the documentation.
3. Create a Zabbix user and add Media with the GLPi media type. Though a "Send to" field is not used in GLPi webhook, it cannot be empty. To comply with frontend requirements, you can put any symbol there. Make sure this user has access to all hosts for which you would like problem notifications to be converted into GLPi problems.
4. Set up a global macro {$ZABBIX.URL} with URL of current zabbix. Please notice that HTTPS will be used by default if HTTP/HTTPS schema is not present in the URL.
For more information, please see Zabbix and GLPi documentation.
Tested on
GLPI 9.5.7
Supported Versions
Zabbix 6.2
GLPi webhook
About webhook
This webhook creates problems in GLPi Assistance section. Created problems have the next severity mapping:
| Severity In zabbix | Urgency in GLPi |
|---|---|
| 0 - Not classified | Medium (default) |
| 1 - Information | Very low |
| 2 - Warning | Low |
| 3 - Average | Medium |
| 4 - High | High |
| 5 - Disaster | Very High |
On Update action in zabbix, webhook updates created problem's title, severity and creates followup with update comment.
On resolve action, webhook updates created problem title and creates followup with resolve information.
Created problems have "New" status, and resolved - "Solved" status.
Due to the specifics of the webhook, the number of retries is set to 1 by default. We recommend that you do not change this setting, because in case of a transaction error, additional duplicate objects (problems, followups) may be created during the retry.
Installation guide
This guide describes how to integrate your Zabbix installation with GLPi problems using the Zabbix webhook feature. This guide provides instructions on setting up a media type, a user and an action in Zabbix.
In GLPi
1. Create or use existing user in GLPi with permission to create problems and followups.
![]()
2. Please create an API token. For that you should go into user profile and set tick in "Regenerate" field against "API token" and hit save.
![]()
3. Copy the API token of your new integration to use it in Zabbix.
In Zabbix
The configuration consists of a media type in Zabbix, which will invoke the webhook to send alerts to GLPi problems through the GLPi Rest API.
1. Import the GLPi media type from file media_glpi.yaml.
2. Change in the imported media the values of the variable glpi_token and glpi_url.
For more information about the Zabbix Webhook configuration, please see the documentation.
3. Create a Zabbix user and add Media with the GLPi media type. Though a "Send to" field is not used in GLPi webhook, it cannot be empty. To comply with frontend requirements, you can put any symbol there. Make sure this user has access to all hosts for which you would like problem notifications to be converted into GLPi problems.
4. Set up a global macro {$ZABBIX.URL} with URL of current zabbix. Please notice that HTTPS will be used by default if HTTP/HTTPS schema is not present in the URL.
For more information, please see Zabbix and GLPi documentation.
Tested on
GLPI 9.5.7
Supported Versions
Zabbix 6.2
GLPi webhook
About webhook
This webhook creates problems in GLPi Assistance section. Created problems have the next severity mapping:
| Severity In zabbix | Urgency in GLPi |
|---|---|
| 0 - Not classified | Medium (default) |
| 1 - Information | Very low |
| 2 - Warning | Low |
| 3 - Average | Medium |
| 4 - High | High |
| 5 - Disaster | Very High |
On Update action in zabbix, webhook updates created problem's title, severity and creates followup with update comment.
On resolve action, webhook updates created problem title and creates followup with resolve information.
Created problems have "New" status, and resolved - "Solved" status.
Due to the specifics of the webhook, the number of retries is set to 1 by default. We recommend that you do not change this setting, because in case of a transaction error, additional duplicate objects (problems, followups) may be created during the retry.
Installation guide
This guide describes how to integrate your Zabbix installation with GLPi problems using the Zabbix webhook feature. This guide provides instructions on setting up a media type, a user and an action in Zabbix.
In GLPi
1. Create or use existing user in GLPi with permission to create problems and followups.
![]()
2. Please create an API token. For that you should go into user profile and set tick in "Regenerate" field against "API token" and hit save.
![]()
3. Copy the API token of your new integration to use it in Zabbix.
In Zabbix
The configuration consists of a media type in Zabbix, which will invoke the webhook to send alerts to GLPi problems through the GLPi Rest API.
1. Import the GLPi media type from file media_glpi.yaml.
2. Change in the imported media the values of the variable glpi_token and glpi_url.
For more information about the Zabbix Webhook configuration, please see the documentation.
3. Create a Zabbix user and add Media with the GLPi media type. Though a "Send to" field is not used in GLPi webhook, it cannot be empty. To comply with frontend requirements, you can put any symbol there. Make sure this user has access to all hosts for which you would like problem notifications to be converted into GLPi problems.
4. Set up a global macro {$ZABBIX.URL} with URL of current zabbix. Please notice that HTTPS will be used by default if HTTP/HTTPS schema is not present in the URL.
For more information, please see Zabbix and GLPi documentation.
Tested on
GLPI 9.5.7
Supported Versions
Zabbix 6.0