Added check for Windows Uptime

This commit is contained in:
Lord Hepipud 2019-08-20 17:02:58 +02:00
parent f300348c6f
commit f865a3d663

View file

@ -0,0 +1,27 @@
Import-IcingaLib icinga\plugin;
Import-IcingaLib provider\windows;
Import-IcingaLib core\tools;
function Invoke-IcingaCheckUptime()
{
param(
$Warning,
$Critical,
[switch]$NoPerfData,
[int]$Verbose
);
$WindowsData = Get-IcingaWindows;
$Name = ([string]::Format('Windows Uptime: {0}', (ConvertFrom-TimeSpan -Seconds $WindowsData.windows.metadata.uptime.value)));
$IcingaCheck = New-IcingaCheck -Name 'Windows Uptime' -Value $WindowsData.windows.metadata.uptime.value -Unit 's';
$IcingaCheck.WarnOutOfRange(
(ConvertTo-SecondsFromIcingaThresholds -Threshold $Warning)
).CritOutOfRange(
(ConvertTo-SecondsFromIcingaThresholds -Threshold $Critical)
) | Out-Null;
$CheckPackage = New-IcingaCheckPackage -Name $Name -OperatorAnd -Checks $IcingaCheck -Verbose $Verbose;
exit (New-IcingaCheckresult -Check $CheckPackage -NoPerfData $NoPerfData -Compile);
}