romainsi / zabbix-VEEAM_B-R

52 stars 40 forks source link

:warning: DEPRECATED : Use SQL version for Zabbix 6.X: https://github.com/romainsi/zabbix-VB-R-SQL.

VEEAM-Backup-Recovery-jobs

This template use the VEEAM Backup & Replication PowerShell Cmdlets to discover and manage VEEAM Backup jobs, Veeam BackupSync, Veeam Tape Job, Veeam Endpoint Backup Jobs, All Repositories and Veeam Services.

Explanation of how it works:

The "Result Export Xml Veeam" item sends a powershell command (with nowait option) to the host to create an xml file of the result of the Get-VBRBbackupSession, Get-VBRJob, Get-VRBBackup and Get-VBREPJob commands that is stored under C:\Program Files\Zabbix Agent\scripts\TempXmlVeeam\*.xml (variable $pathxml). Then, each request imports the xml to retrieve the information.

Why? Because the execution of this command can take between 30 seconds and more than 3 minutes (depending on the history and the number of tasks) and I end up with several scripts running for a certain time and the execution is in timeout.

Items

Discovery Jobs

1. Veeam Jobs:

2. Veeam Tape Jobs:

3. Veeam BackupSync Jobs:

4. Veeam Jobs Endpoint Backup:

5. Veeam Jobs Replication Backup:

6. Veeam Repository:

Discovery Jobs By VMs

1. VEEAM Backup By VMs:

2. VEEAM BackupSync By VMs:

Triggers

Discovery Veeam Jobs

Discovery Veeam Tape Jobs

Discovery Veeam BackupSync Jobs

Discovery Veeam Jobs Endpoint Agent

Discovery Veeam Replication Jobs

Discovery Veeam Repository

Discovery Veeam Services (this discovery exists in standard Zabbix Windows hosts template so it removed from here to avoid conflicts and duplicates)

Setup

  1. Install the Zabbix agent on your host

  2. Copy zabbix_vbr_job.ps1 in the directory : C:\Program Files\Zabbix Agent\scripts\ (create folder if not exist). Also you can use any other directory, but change UserParameter=vbr[*] below then.

  3. Add the following line to your Zabbix agent configuration file:

    EnableRemoteCommands=1
    UnsafeUserParameters=1
    ServerActive="IP or DNS Zabbix Server"
    Timeout=(to adjust if items arrive in timeout and don't forget to ajust the zabbixserver timeout)
    UserParameter=vbr[*],powershell -NoProfile -ExecutionPolicy Bypass -File "C:\Program Files\Zabbix Agent\scripts\zabbix_vbr_job.ps1" "$1" "$2" "$3"
  4. ** In Zabbix : Administration, General, Regular Expression:

    1. Add a new regular expression:
      • Name: Veeam
      • Expression Type: Result is TRUE
      • Expression: Veeam.*
  5. Import TemplateVEEAM-BACKUPtrapper.xml file into Zabbix.

  6. Purge and clean Template OS Windows if is linked to the host (you can relink it after).

  7. Associate "Template VEEAM - Backup and Replication" to the host.

  8. Wait about 1h for discovery, XML file to be generated and first informations retrieves.

! If you use old version (< v3) please Purge and clean "Template VEEAM-BACKUP trapper".

With a large or very large backup tasks history, the XML size can be more than 500 MB (so script finish in timeout) you can reduce this with this link : https://www.veeam.com/kb1995 Use first : "Changing Session history retention" and if this is not enough, "Clear old job sessions".

Note: For Windows 7, Windows 2008 and older hosts to make the template work install Powershell v3 (or newer) manually.