Veeam Backup and Replication by HTTP
Overview
This template is designed to monitor Veeam Backup and Replication. It works without any external scripts and uses the script item.
NOTE: Since the RESTful API may not be available for some editions, the template will only work with the following editions of Veeam Backup and Replication:
- Veeam Universal License (VUL) editions:
- Foundation
- Advanced
- Premium
- Veeam Socket License editions:
- Enterprise Plus Socket
See Veeam Data Platform Feature Comparison for more details.
Requirements
Zabbix version: 7.0 and higher.
Tested versions
This template has been tested on:
- Veeam Backup and Replication, version 11.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
- Create a user to monitor the service or use an existing read-only account.
See Veeam Help Center for more details.
- Link the template to a host.
- Configure the following macros:
{$VEEAM.API.URL}
,{$VEEAM.USER}
, and{$VEEAM.PASSWORD}
.
Macros used
Name | Description | Default |
---|---|---|
{$VEEAM.API.URL} | The Veeam API endpoint is a URL in the format |
https://localhost:9419 |
{$VEEAM.HTTP.PROXY} | Sets the HTTP proxy to |
|
{$VEEAM.PASSWORD} | The |
|
{$VEEAM.USER} | The |
|
{$VEEAM.DATA.TIMEOUT} | A response timeout for the API. |
10 |
{$CREATED.AFTER} | Returns sessions that are created after chosen days. |
7 |
{$SESSION.NAME.MATCHES} | This macro is used in discovery rule to evaluate sessions. |
.* |
{$SESSION.NAME.NOT_MATCHES} | This macro is used in discovery rule to evaluate sessions. |
CHANGE_IF_NEEDED |
{$SESSION.TYPE.MATCHES} | This macro is used in discovery rule to evaluate sessions. |
.* |
{$SESSION.TYPE.NOT_MATCHES} | This macro is used in discovery rule to evaluate sessions. |
CHANGE_IF_NEEDED |
{$PROXIES.NAME.MATCHES} | This macro is used in proxies discovery rule. |
.* |
{$PROXIES.NAME.NOT_MATCHES} | This macro is used in proxies discovery rule. |
CHANGE_IF_NEEDED |
{$PROXIES.TYPE.MATCHES} | This macro is used in proxies discovery rule. |
.* |
{$PROXIES.TYPE.NOT_MATCHES} | This macro is used in proxies discovery rule. |
CHANGE_IF_NEEDED |
{$REPOSITORIES.NAME.MATCHES} | This macro is used in repositories discovery rule. |
.* |
{$REPOSITORIES.NAME.NOT_MATCHES} | This macro is used in repositories discovery rule. |
CHANGE_IF_NEEDED |
{$REPOSITORIES.TYPE.MATCHES} | This macro is used in repositories discovery rule. |
.* |
{$REPOSITORIES.TYPE.NOT_MATCHES} | This macro is used in repositories discovery rule. |
CHANGE_IF_NEEDED |
{$JOB.NAME.MATCHES} | This macro is used in discovery rule to evaluate the states of jobs. |
.* |
{$JOB.NAME.NOT_MATCHES} | This macro is used in discovery rule to evaluate the states of jobs. |
CHANGE_IF_NEEDED |
{$JOB.TYPE.MATCHES} | This macro is used in discovery rule to evaluate the states of jobs. |
.* |
{$JOB.TYPE.NOT_MATCHES} | This macro is used in discovery rule to evaluate the states of jobs. |
CHANGE_IF_NEEDED |
{$JOB.STATUS.MATCHES} | This macro is used in discovery rule to evaluate the states of jobs. |
.* |
{$JOB.STATUS.NOT_MATCHES} | This macro is used in discovery rule to evaluate the states of jobs. |
CHANGE_IF_NEEDED |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Get metrics | The result of API requests is expressed in the JSON. |
Script | veeam.get.metrics |
Get errors | The errors from API requests. |
Dependent item | veeam.get.errors Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Veeam Backup and Replication by HTTP/veeam.get.errors))>0 |
Average |
LLD rule Proxies discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Proxies discovery | Discovery of proxies. |
Dependent item | veeam.proxies.discovery Preprocessing
|
Item prototypes for Proxies discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Server [{#NAME}]: Get data | Gets raw data collected by the proxy server. |
Dependent item | veeam.proxy.server.raw[{#NAME}] Preprocessing
|
Proxy [{#NAME}] [{#TYPE}]: Get data | Gets raw data collected by the proxy with the name |
Dependent item | veeam.proxy.raw[{#NAME}] Preprocessing
|
Proxy [{#NAME}] [{#TYPE}]: Max Task Count | The maximum number of concurrent tasks. |
Dependent item | veeam.proxy.maxtask[{#NAME}] Preprocessing
|
Proxy [{#NAME}] [{#TYPE}]: Host name | The name of the proxy server. |
Dependent item | veeam.proxy.server.name[{#NAME}] Preprocessing
|
Proxy [{#NAME}] [{#TYPE}]: Host type | The type of the proxy server. |
Dependent item | veeam.proxy.server.type[{#NAME}] Preprocessing
|
LLD rule Repositories discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Repositories discovery | Discovery of repositories. |
Dependent item | veeam.repositories.discovery Preprocessing
|
Item prototypes for Repositories discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Repository [{#NAME}] [{#TYPE}]: Get data | Gets raw data from repository with the name: |
Dependent item | veeam.repositories.raw[{#NAME}] Preprocessing
|
Repository [{#NAME}] [{#TYPE}]: Used space [{#PATH}] | Used space by repositories expressed in gigabytes (GB). |
Dependent item | veeam.repository.capacity[{#NAME}] Preprocessing
|
Repository [{#NAME}] [{#TYPE}]: Free space [{#PATH}] | Free space of repositories expressed in gigabytes (GB). |
Dependent item | veeam.repository.free.space[{#NAME}] Preprocessing
|
LLD rule Sessions discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Sessions discovery | Discovery of sessions. |
Dependent item | veeam.sessions.discovery Preprocessing
|
Item prototypes for Sessions discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Session [{#NAME}] [{#TYPE}]: Get data | Gets raw data from session with the name: |
Dependent item | veeam.sessions.raw[{#ID}] Preprocessing
|
Session [{#NAME}] [{#TYPE}]: State | The state of the session. The enums used: |
Dependent item | veeam.sessions.state[{#ID}] Preprocessing
|
Session [{#NAME}] [{#TYPE}]: Result | The result of the session. The enums used: |
Dependent item | veeam.sessions.result[{#ID}] Preprocessing
|
Session [{#NAME}] [{#TYPE}]: Message | A message that explains the session result. |
Dependent item | veeam.sessions.message[{#ID}] Preprocessing
|
Session progress percent [{#NAME}] [{#TYPE}] | The progress of the session expressed as percentage. |
Dependent item | veeam.sessions.progress.percent[{#ID}] Preprocessing
|
Trigger prototypes for Sessions discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Last result session failed | find(/Veeam Backup and Replication by HTTP/veeam.sessions.result[{#ID}],,"like","Failed")=1 |
Average | Manual close: Yes |
LLD rule Jobs states discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Jobs states discovery | Discovery of the jobs states. |
Dependent item | veeam.job.state.discovery Preprocessing
|
Item prototypes for Jobs states discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Job states [{#NAME}] [{#TYPE}]: Get data | Gets raw data from the job states with the name |
Dependent item | veeam.jobs.states.raw[{#ID}] Preprocessing
|
Job states [{#NAME}] [{#TYPE}]: Status | The current status of the job. The enums used: |
Dependent item | veeam.jobs.status[{#ID}] Preprocessing
|
Job states [{#NAME}] [{#TYPE}]: Last result | The result of the session. The enums used: |
Dependent item | veeam.jobs.last.result[{#ID}] Preprocessing
|
Trigger prototypes for Jobs states discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Last result job failed | find(/Veeam Backup and Replication by HTTP/veeam.jobs.last.result[{#ID}],,"like","Failed")=1 |
Average | 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