Backup and Recovery

Check Veeam Backup Jobs

Description:

This check run a query on Veeam DB and extract only the failed job (result=2)

If you want to add other result to this notification, pay attention on the result column value set.
2 = Failed
1 = Warning
0 = Success
-1 = Running

Current Version

1

Last Release Date

2014-06-19

Compatible With

  • Nagios 3.x
  • Nagios 4.x

Owner

License

GPL


Nagios CSP

Meet The New Nagios Core Services Platform

Built on over 25 years of monitoring experience, the Nagios Core Services Platform provides insightful monitoring dashboards, time-saving monitoring wizards, and unmatched ease of use. Use it for free indefinitely.

Monitoring Made Magically Better

  • Nagios Core on Overdrive
  • Powerful Monitoring Dashboards
  • Time-Saving Configuration Wizards
  • Open Source Powered Monitoring On Steroids
  • And So Much More!
Project Files
Project Notes
Reviews (1) Add a Review
Table Checked doesn't exist anymore
by Denise, March 31, 2016
Table Checked doesn't exist anymore (Reportview)
Owner's Reply:

Hi Denise, have checked it right now and this view exists in the Veeam Database.

if you don't find it, you could recreate executing this script:
USE [VeeamBackup]
GO

/****** Object: View [dbo].[vwReportJobsView] Script Date: 14/07/2016 16:05:31 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO


ALTER VIEW [dbo].[vwReportJobsView]
AS
SELECT
jobs.[id],
jobs.[type],
jobs.[name],
jobs.[target_type],
jobs.[repository_id],
repo.name AS repo_name,
fpools.name AS full_mediapool_name,
ipools.name AS incremental_mediapool_name,
obj_in_job_count = (CASE WHEN jobs.type = 24 THEN
(SELECT COUNT(*) FROM
(SELECT options FROM [Tape.jobs] WHERE id = jobs.id) AS XmlTable(o) CROSS APPLY o.nodes('/TapeJobOptionsBase/Selection/BackupSelectionBase') XmlTableFunction(c))
WHEN jobs.type = 28 THEN
CASE WHEN (SELECT count(id) FROM LinkedJobs WHERE job_id = jobs.id) 0 THEN
(SELECT count(id) FROM LinkedJobs WHERE job_id = jobs.id)
ELSE
(SELECT count(id) FROM LinkedBackupRepositories WHERE job_id = jobs.id)
END
when jobs.type IN (3, 51) then
(select sum(t) from
(select count(id) t from LinkedJobs where job_id = jobs.id
union all
select count(id) from dbo.ObjectsInJobs where (job_id = jobs.id) and (type = 0)) BCJob)
ELSE
(SELECT COUNT(id) AS Expr1 FROM dbo.ObjectsInJobs WHERE (job_id = jobs.id) AND (type = 0)) END),
jobs.[job_source_type],
[sessions].[state],
[sessions].[progress],
[sessions].[result],
[sessions].[operation],
[sessions].[id] as last_session_id,
[next_run] = jobs.schedule.query('/ScheduleOptions/NextRun').value('.','nvarchar(300)'),
[schedule_cont] = jobs.schedule.query('/ScheduleOptions/OptionsContinuous/Enabled').value('.','bit'),
[after_job_schedule] = jobs.schedule.query('/ScheduleOptions/OptionsScheduleAfterJob/IsEnabled').value('.','bit'),
jobs.[target_dir],
jobs.[latest_result],
jobs.[description],
jobs.[schedule_enabled],
[run_manually] = jobs.options.query('/JobOptionsRoot/RunManually').value('.','bit'),
[link_with_jobs] = jobs.options.query('DRJobOptions/LinkWithJobs').value('.','bit'),
target_host_name = CASE
WHEN jobs.[options].query('/JobOptionsRoot/ClusterName').value('.','nvarchar(300)') = '' THEN (SELECT [dbo].[Hosts].[name] FROM [dbo].[Hosts] WHERE [dbo].[Hosts].[id] = jobs.[target_host_id])
ELSE jobs.[options].query('/JobOptionsRoot/ClusterName').value('.','nvarchar(300)')
END,
jobs.[vcb_host_id],
usn = dbo.MaxValue3(
ISNULL ((SELECT TOP (1) ref_jobs.usn FROM BJobs ref_jobs WHERE ref_jobs.id = jobs.parent_schedule_id), 0)
, ISNULL ((SELECT TOP (1) tape_jobs.usn FROM [Tape.jobs] tape_jobs WHERE tape_jobs.id = jobs.id), 0)
, CASE WHEN (ISNULL([sessions].usn, 0) >= ISNULL(jobs.usn, 0)) AND (ISNULL([sessions].usn, 0) >= ISNULL(tapes.usn, 0))
THEN ISNULL([sessions].usn, 0) WHEN (ISNULL(jobs.usn, 0) >= ISNULL([sessions].usn, 0)) AND (ISNULL(jobs.usn, 0) >= ISNULL(tapes.usn, 0)) THEN ISNULL(jobs.usn, 0) ELSE ISNULL(tapes.usn, 0) END),
(SELECT TOP (1) name
FROM dbo.VirtualLabs
WHERE (id = jobs.target_host_id)) AS virtual_lab_name,
(SELECT TOP (1) dbo.Folders.name FROM dbo.ObjectsInJobs LEFT JOIN dbo.Folders ON dbo.ObjectsInJobs.folder_id = dbo.Folders.id
WHERE (dbo.ObjectsInJobs.job_id = jobs.id)) AS app_group_name, dbo.LinkedJobsString(jobs.id) AS linked_job,
perfomance_rate = (SELECT TOP(1) [dbo].[Backup.Model.BackupJobSessions].[avg_speed]
FROM [dbo].[Backup.Model.BackupJobSessions]
WHERE [dbo].[Backup.Model.BackupJobSessions].[id] = [sessions].[id]),
jobs.[platform],
jobs.[parent_schedule_id],
(select top(1) name as bjname from BJobs bj where bj.id = jobs.parent_schedule_id) as schelule_parent_job_name,
jobs.[schedule],
tapes.options.query('/TapeJobOptionsBase/FullSchedule/NextRun' ).value('.', 'nvarchar(300)') AS full_next_run,
tapes.options.query('/TapeJobOptionsBase/IncrementalSchedule/NextRun' ).value('.', 'nvarchar(300)') AS incremental_next_run
FROM [dbo].[BJobs] jobs
LEFT JOIN dbo.[Tape.jobs] AS tapes ON jobs.id = tapes.id
LEFT JOIN [dbo].[Backup.Model.JobSessions] [sessions] ON [sessions].[job_id] = jobs.[id]
AND [creation_time] = (SELECT MAX([creation_time]) FROM [dbo].[Backup.Model.JobSessions] WHERE [job_id] = jobs.id)
LEFT JOIN [dbo].[BackupRepositories] AS repo ON jobs.[repository_id] = repo.id
LEFT JOIN [dbo].[Tape.jobs] AS tjobs ON jobs.id = tjobs.id
LEFT JOIN [dbo].[Tape.media_pools] fpools ON tjobs.full_mediapool_id = fpools.id
LEFT JOIN [dbo].[Tape.media_pools] ipools ON tjobs.incremental_mediapool_id = ipools.id
WHERE jobs.[type] in (0, 1, 2, 3, 8, 24, 28, 51,202)


GO


Regards,
Simone


0 of 1 found this review helpful.
Helpful? Yes  No 1
Add a Review

You must be logged in to submit a review.

Thank you for your review!

Your review has been submitted and is pending approval.

Recommend

To:


From:


Thank you for your recommendation!

Your recommendation has been sent.

Project Stats
Rating
3 (1)
Favorites
0
Views
29,832