Below Powershell script will monitor Windows Server backups with Check_MK.
Prerequisits:
Before starting – You must install Windows Server Backup Features Command Line Tools.
To do this, open up Server Manager and go to Features > Add Features
In the Add Features menu, expand “Windows Server Backup Features” and ensure “Command-Line tools” is enabled, if not – Proceed to install this (No restart required).
The Backup Monitoring Script:
Assuming a default installation of the Check_MK agent on your Windows server, create the file below:
C:\Program Files (x86)\check_mk\local\server-backup-status.ps1
#region Parameters [CmdletBinding()] param ( [String]$ServerName ) #endregion Parameters $rsession = New-PSSession -ComputerName localhost Invoke-Command -Session $rsession -ScriptBlock {add-pssnapin windows.serverbackup -ErrorAction SilentlyContinue; $status = get-wbjob -previous 1;$runstatus = get-wbjob} $rstatus = Invoke-Command -Session $rsession -ScriptBlock {$status} $runningstatus = Invoke-Command -Session $rsession -ScriptBlock {$runstatus} remove-pssession $rsession $hresult=$rstatus.errordescription $outstatus="Success" if ($rstatus.hresult -eq "0" -and !$hresult) { $Backup = "0 WindowsBackup - Success, last backup at {0} {1}" -f $outstatus, $rstatus.endtime } elseif ($hresult.Contains("warnings")) { $Backup = "1 WindowsBackup - Warning, last backup did not complete successfully {0}" -f $rstatus.endtime } else { $Backup = "2 WindowsBackup - Failed, last backup at did not complete successfully {0}" -f $rstatus.endtime } if ($runningstatus.CurrentOperation) { $Backup = "0 WindowsBackup - Backup in process. Last completed successfully at {0}" -f $rstatus.endtime } Write-output $Backup
Run an inventory from your Check_MK server and ensure the backup status monitoring now appears.