This commit is contained in:
Lord Hepipud 2019-07-24 13:13:31 +02:00
commit 9b60037ebe
5 changed files with 30 additions and 5 deletions

View file

@ -13,10 +13,10 @@ function Invoke-IcingaCheckService()
$FoundService = Get-IcingaServices -Service $Service;
$ServiceName = $FoundService.Values.metadata.ServiceName;
$DisplayName = $FoundService.Values.metadata.DisplayName;
# $Status = Get-IcingaServicesStatusTranslation -Status $Status;
$Status = ConvertTo-ServiceStatusCode -Status $Status;
$StatusRaw = $FoundService.Values.configuration.Status.raw;
$IcingaCheck = New-IcingaCheck -Name ([string]::Format('Service "{0} ({1})"', $DisplayName, $ServiceName)) -Value $StatusRaw -ObjectExists $FoundService -ValueTranslation $ProviderEnums.ServiceStatus;
$IcingaCheck = New-IcingaCheck -Name ([string]::Format('Service "{0} ({1})"', $DisplayName, $ServiceName)) -Value $StatusRaw -ObjectExists $FoundService -ValueTranslation $ProviderEnums.ServicesStatus;
$IcingaCheck.CritIfNotMatch($Status) | Out-Null;
exit (New-IcingaCheckResult -Name "Service $Service" -Check $IcingaCheck -NoPerfData $TRUE -Compile);

View file

@ -1,7 +1,7 @@
Import-IcingaLib core\perfcounter;
Import-IcingaLib icinga\plugin;
function Invoke-IcingaCheckFreePartition()
function Invoke-IcingaCheckUsedPartitionSpace()
{
param(
$Warning,
@ -33,7 +33,7 @@ function Invoke-IcingaCheckFreePartition()
}
}
$IcingaCheck = New-IcingaCheck -Name ([string]::Format('Partition {0}', $Letter)) -Value $DiskFree.([string]::Format($Letter))."Free Space" -Unit '%';
$IcingaCheck = New-IcingaCheck -Name ([string]::Format('Partition {0}', $Letter)) -Value (100-($DiskFree.([string]::Format($Letter))."Free Space")) -Unit '%';
$IcingaCheck.WarnOutOfRange($Warning).CritOutOfRange($Critical) | Out-Null;
$DiskPackage.AddCheck($IcingaCheck);
}

View file

@ -471,6 +471,15 @@
62= 'TPF';
}
<##################################################################################################
################# /lib/provider/Services ###########################################################
##################################################################################################>
[hashtable]$ServiceStatus = @{
'Stopped' = 1;
'Running' = 4;
}
[hashtable]$ProviderEnums = @{
#/lib/provider/bios
BiosCharacteristics = $BiosCharacteristics;
@ -493,6 +502,8 @@
WindowsOSProductSuite = $WindowsOSProductSuite;
WindowsProductType = $WindowsProductType;
WindowsOSType = $WindowsOSType;
#/lib/provider/services
ServiceStatus = $ServiceStatus;
}
Export-ModuleMember -Variable @('ProviderEnums');

View file

@ -0,0 +1,14 @@
function ConvertTo-ServiceStatusCode()
{
param (
$Status
)
if ($Status -match "^\d+$") {
return $Status
} else {
$Status = $ProviderEnums.ServiceStatus.($Status);
}
return $Status;
}