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.4 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 |
|---|---|---|---|---|
| Veeam Backup: 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 |
|---|---|---|---|---|
| Veeam Backup: 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 |
|---|---|---|---|---|
| Veeam Backup: 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