5.02021-11-21T21:43:44ZTemplatesBackup Exec ServerBackup Exec Server## Description
Veritas/Simantec Backup Exec Server template All checks executes with T-SQL, so you must configure Zabbix to use FreeTDS for MS SQL Server. Backup Jobs ODBC LLD rules: - Backup Exec Windows Service - Backup Exec Jobs (FULL) - Backup Exec Jobs (INCREMENTAL) Two rules needs for creating triggers with different severity levels for Full job types and Incremental job types. Macroses {$BE.USER} and {$BE.PASSWORD} must be set on template or host level before usage. These are username and password to connect to BEDB database. LLD returns {#JOB.TYPE} macros, containig 'FULL' or 'INCR' string to determine backup job type. On database level it's: 16777216 - INCR 16973824 - FULL Documentation will be available soon on my GitHub page (https://github.com/asand3r).
## Overview
**Veritas/Symantec Backup Exec Server template**
All checks executes with T-SQL, so you must configure Zabbix to use FreeTDS for MS SQL Server.
Backup Jobs LLD rules:
- Backup Exec Windows Service
- Backup Exec Jobs Discovery
Macroses {$BE.USER} and {$BE.PASSWORD} **must** be set on template or host level before usage. These are username and password to connect to BEDB database.
LLD returns {#JOB.TYPE} macros, containig 'full' or 'incr' string to determine backup job type.
On database level it's:
16777216, 20971520 - incr
16973824 - full
## Author
Khatsayuk Alexander
TemplatesBackup Exec ServicesBackup Exec Jobs Discovery (FULL)ODBCdb.odbc.discovery[be.jobs.full,{HOST.HOST}]1hSELECT JobID as 'JOB.ID', JobName as 'JOB.NAME', CurrentStatus as 'JOB.STATUS', IIF (JobRunFlags = 16777216, 'INCR', 'FULL') as 'JOB.TYPE'
FROM BEDB.dbo.vwJobs
WHERE TaskTypeID = 200 and CurrentStatus IN ('16','17','18');{$BE.USER}{$BE.PASSWORD}{#JOB.TYPE}^FULL$A7dDiscover Full Backup Exec jobs by SQL query.{#JOB.NAME}: Final Job StatusODBCdb.odbc.select[be.job.full.{#JOB.NAME}.finaljobstatus,{HOST.HOST}]15m{$HISTORY}{$TRENDS}SELECT ISNULL ((SELECT TOP 1 FinalJobStatus FROM BEDB.dbo.JobHistorySummary WHERE JobID = '{#JOB.ID}' and IsJobActive != 1 ORDER BY EndTime DESC), 0);{$BE.USER}{$BE.PASSWORD}{#JOB.NAME} final job statusBE Job: {#JOB.NAME}Backup Exec Job StatusPOST{count(#2,19,ne)}<>0Backup job {#JOB.NAME}: {ITEM.VALUE}AVERAGEBackup job {#JOB.NAME} finished with error: {ITEM.LASTVALUE}.appbackup execjob type{#JOB.TYPE}servicebackup{#JOB.NAME}: Total Data Size, bytesODBCdb.odbc.select[be.job.full.{#JOB.NAME}.totalbytes,{HOST.HOST}]15m{$HISTORY}{$TRENDS}BSELECT ISNULL ((SELECT TOP 1 TotalDataSizeBytes FROM BEDB.dbo.JobHistorySummary WHERE JobID = '{#JOB.ID}' and IsJobActive != 1 ORDER BY EndTime DESC), 0);{$BE.USER}{$BE.PASSWORD}{#JOB.NAME} total bytesBE Job: {#JOB.NAME}POST{#JOB.NAME}: Saved Data SizeGRADIENT_LINE1A7C11- Backup Exec Serverdb.odbc.select[be.job.full.{#JOB.NAME}.totalbytes,{HOST.HOST}]
POSTBackup Exec Jobs Discovery (INCREMENTAL)ODBCdb.odbc.discovery[be.jobs.incr,{HOST.HOST}]1hSELECT JobID as 'JOB.ID', JobName as 'JOB.NAME', CurrentStatus as 'JOB.STATUS', IIF (JobRunFlags = 16777216, 'INCR', 'FULL') as 'JOB.TYPE'
FROM BEDB.dbo.vwJobs
WHERE TaskTypeID = 200 and CurrentStatus IN ('16','17','18');{$BE.USER}{$BE.PASSWORD}{#JOB.TYPE}^INCR$A7dDiscover Incremental Backup Exec jobs by SQL query.{#JOB.NAME}: Final Job StatusODBCdb.odbc.select[be.job.incr.{#JOB.NAME}.finaljobstatus,{HOST.HOST}]15m{$HISTORY}{$TRENDS}SELECT ISNULL ((SELECT TOP 1 FinalJobStatus FROM BEDB.dbo.JobHistorySummary WHERE JobID = '{#JOB.ID}' and IsJobActive != 1 ORDER BY EndTime DESC), 0);{$BE.USER}{$BE.PASSWORD}{#JOB.NAME} final job statusBE Job: {#JOB.NAME}Backup Exec Job Status{count(#2,19,ne)}<>0Backup job {#JOB.NAME}: {ITEM.VALUE}WARNINGBackup job {#JOB.NAME} finished with error: {ITEM.LASTVALUE}.appbackup execjob type{#JOB.TYPE}servicebackup{#JOB.NAME}: Total Data Size, bytesODBCdb.odbc.select[be.job.incr.{#JOB.NAME}.totalbytes,{HOST.HOST}]15m{$HISTORY}{$TRENDS}BSELECT ISNULL ((SELECT TOP 1 TotalDataSizeBytes FROM BEDB.dbo.JobHistorySummary WHERE JobID = '{#JOB.ID}' and IsJobActive != 1 ORDER BY EndTime DESC), 0);{$BE.USER}{$BE.PASSWORD}{#JOB.NAME} total bytesBE Job: {#JOB.NAME}{#JOB.NAME}: Saved Data Size (incremental)GRADIENT_LINE1A7C11- Backup Exec Serverdb.odbc.select[be.job.incr.{#JOB.NAME}.totalbytes,{HOST.HOST}]
Backup Exec ServicesZABBIX_ACTIVEservice.discovery3h{#SERVICE.NAME}^BackupExec|bedbgA{#SERVICE.STARTUP}0B3dDiscovery Backup Exec Services.Service {#SERVICE.NAME} statusZABBIX_ACTIVEservice.info[{#SERVICE.NAME}]{$HISTORY}{$TRENDS}{#SERVICE.NAME} status
Display name: {#SERVICE.DISPLAYNAME}
Description: {#SERVICE.DESCRIPTION}Backup Exec ServicesWindows service statePOST{count(#5,0,ne)}>3Service {#SERVICE.NAME} in {ITEM.VALUE} stateWARNINGService {#SERVICE.NAME} ({#SERVICE.DISPLAYNAME}) not in 'Running' stateappbackup execservicebackupwindows service{ITEM.VALUE}POST{$BE.PASSWORD}PASSWORD{$BE.USER}LOGIN{$HISTORY}14d{$TRENDS}180dBackup Exec Job Status1Terminated because canceled2Completed waiting for final disposition3Completed with exceptions4Dispatched5On hold6Completed with an error7Schedule invalid8Invalid Time Window9Missed10Missed11Paused12Pending13Recovered14Resource Disabled15Resumed16Running17Ready18Scheduled19Completed successfully20Superceded21Abort (Time)22To Be Scheduled23Linked to another job24UNKNOWN25Blocked by Template RuleWindows service state0Running1Paused2Start pending3Pause pending4Continue pending5Stop pending6Stopped7Unknown255No such service