Veeam Backup and Replication by HTTP
Overview
This template is designed to monitor Veeam Backup and Replication version 11.0. It works without any external scripts and uses the script item.
Requirements
For Zabbix version: 6.2 and higher.
Setup
See Zabbix template operation for basic instructions.
- 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 macros
{$VEEAM.API.URL}
,{$VEEAM.USER}
, and{$VEEAM.PASSWORD}
.
Configuration
No specific Zabbix configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$CREATED.AFTER} | Returns sessions that are created after chosen days. |
7 |
{$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.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 |
{$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 |
{$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 |
{$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 |
{$VEEAM.API.URL} | The Veeam API endpoint is a URL in the format |
https://localhost:9419 |
{$VEEAM.DATA.TIMEOUT} | A response timeout for the API. |
10 |
{$VEEAM.HTTP.PROXY} | Sets the HTTP proxy to |
`` |
{$VEEAM.PASSWORD} | The |
`` |
{$VEEAM.USER} | The |
`` |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Jobs states discovery | Discovery of the jobs states. |
DEPENDENT | veeam.job.state.discovery Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: Filter: AND- {#TYPE} MATCHES_REGEX - {#TYPE} NOT_MATCHES_REGEX - {#NAME} MATCHES_REGEX - {#NAME} NOT_MATCHES_REGEX - {#JOB.STATUS} MATCHES_REGEX - {#JOB.STATUS} NOT_MATCHES_REGEX |
Proxies discovery | Discovery of proxies. |
DEPENDENT | veeam.proxies.discovery Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: Filter: AND- {#TYPE} MATCHES_REGEX - {#TYPE} NOT_MATCHES_REGEX - {#NAME} MATCHES_REGEX - {#NAME} NOT_MATCHES_REGEX |
Repositories discovery | Discovery of repositories. |
DEPENDENT | veeam.repositories.discovery Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: Filter: AND- {#TYPE} MATCHES_REGEX - {#TYPE} NOT_MATCHES_REGEX - {#NAME} MATCHES_REGEX - {#NAME} NOT_MATCHES_REGEX |
Sessions discovery | Discovery of sessions. |
DEPENDENT | veeam.sessions.discovery Preprocessing: - JSONPATH: - JAVASCRIPT - DISCARD_UNCHANGED_HEARTBEAT: Filter: AND- {#TYPE} MATCHES_REGEX - {#TYPE} NOT_MATCHES_REGEX - {#NAME} MATCHES_REGEX - {#NAME} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Veeam | Veeam: Get metrics | The result of API requests is expressed in the JSON. |
SCRIPT | veeam.get.metrics Expression: The text is too long. Please see the template. |
Veeam | Veeam: Get errors | The errors from API requests. |
DEPENDENT | veeam.get.errors Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
Veeam | Veeam: Server [{#NAME}]: Get data | Gets raw data collected by the proxy server. |
DEPENDENT | veeam.proxy.server.raw[{#NAME}] Preprocessing: - JSONPATH: |
Veeam | Veeam: Proxy [{#NAME}] [{#TYPE}]: Get data | Gets raw data collected by the proxy with the name |
DEPENDENT | veeam.proxy.raw[{#NAME}] Preprocessing: - JSONPATH: |
Veeam | Veeam: Proxy [{#NAME}] [{#TYPE}]: Max Task Count | The maximum number of concurrent tasks. |
DEPENDENT | veeam.proxy.maxtask[{#NAME}] Preprocessing: - JSONPATH: |
Veeam | Veeam: Proxy [{#NAME}] [{#TYPE}]: Host name | The name of the proxy server. |
DEPENDENT | veeam.proxy.server.name[{#NAME}] Preprocessing: - JSONPATH: |
Veeam | Veeam: Proxy [{#NAME}] [{#TYPE}]: Host type | The type of the proxy server. |
DEPENDENT | veeam.proxy.server.type[{#NAME}] Preprocessing: - JSONPATH: |
Veeam | Veeam: Repository [{#NAME}] [{#TYPE}]: Get data | Gets raw data from repository with the name: |
DEPENDENT | veeam.repositories.raw[{#NAME}] Preprocessing: - JSONPATH: |
Veeam | Veeam: Repository [{#NAME}] [{#TYPE}]: Used space [{#PATH}] | Used space by repositories expressed in gigabytes (GB). |
DEPENDENT | veeam.repository.capacity[{#NAME}] Preprocessing: - JSONPATH: |
Veeam | Veeam: Repository [{#NAME}] [{#TYPE}]: Free space [{#PATH}] | Free space of repositories expressed in gigabytes (GB). |
DEPENDENT | veeam.repository.free.space[{#NAME}] Preprocessing: - JSONPATH: |
Veeam | Veeam: Session [{#NAME}] [{#TYPE}]: Get data | Gets raw data from session with the name: |
DEPENDENT | veeam.sessions.raw[{#ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
Veeam | Veeam: Session [{#NAME}] [{#TYPE}]: State | The state of the session. The enums used: |
DEPENDENT | veeam.sessions.state[{#ID}] Preprocessing: - JSONPATH: |
Veeam | Veeam: Session [{#NAME}] [{#TYPE}]: Result | The result of the session. The enums used: |
DEPENDENT | veeam.sessions.result[{#ID}] Preprocessing: - JSONPATH: |
Veeam | Veeam: Session [{#NAME}] [{#TYPE}]: Message | A message that explains the session result. |
DEPENDENT | veeam.sessions.message[{#ID}] Preprocessing: - JSONPATH: |
Veeam | Veeam: Session progress percent [{#NAME}] [{#TYPE}] | The progress of the session expressed as percentage. |
DEPENDENT | veeam.sessions.progress.percent[{#ID}] Preprocessing: - JSONPATH: |
Veeam | Veeam: Job states [{#NAME}] [{#TYPE}]: Get data | Gets raw data from the job states with the name |
DEPENDENT | veeam.jobs.states.raw[{#ID}] Preprocessing: - JSONPATH: |
Veeam | Veeam: Job states [{#NAME}] [{#TYPE}]: Status | The current status of the job. The enums used: |
DEPENDENT | veeam.jobs.status[{#ID}] Preprocessing: - JSONPATH: |
Veeam | Veeam: Job states [{#NAME}] [{#TYPE}]: Last result | The result of the session. The enums used: |
DEPENDENT | veeam.jobs.last.result[{#ID}] Preprocessing: - JSONPATH: |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Veeam: 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 | |
Veeam: Last result session failed | - |
find(/Veeam Backup and Replication by HTTP/veeam.sessions.result[{#ID}],,"like","Failed")=1 |
AVERAGE | Manual close: YES |
Veeam: 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.