diff --git a/lib/plugins/Invoke-IcingaCheckService.psm1 b/lib/plugins/Invoke-IcingaCheckService.psm1 index 71f0a9e..2479f5c 100644 --- a/lib/plugins/Invoke-IcingaCheckService.psm1 +++ b/lib/plugins/Invoke-IcingaCheckService.psm1 @@ -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); diff --git a/lib/plugins/Invoke-IcingaCheckFreePartition.psm1 b/lib/plugins/Invoke-IcingaCheckUsedPartitionSpace.psm1 similarity index 88% rename from lib/plugins/Invoke-IcingaCheckFreePartition.psm1 rename to lib/plugins/Invoke-IcingaCheckUsedPartitionSpace.psm1 index bab94fa..6fa57f8 100644 --- a/lib/plugins/Invoke-IcingaCheckFreePartition.psm1 +++ b/lib/plugins/Invoke-IcingaCheckUsedPartitionSpace.psm1 @@ -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); } diff --git a/lib/provider/enums/Icinga_ProviderEnums.psm1 b/lib/provider/enums/Icinga_ProviderEnums.psm1 index d69c48d..19ccb80 100644 --- a/lib/provider/enums/Icinga_ProviderEnums.psm1 +++ b/lib/provider/enums/Icinga_ProviderEnums.psm1 @@ -470,6 +470,15 @@ 61= 'VSE'; 62= 'TPF'; } + +<################################################################################################## +################# /lib/provider/Services ########################################################### +##################################################################################################> + +[hashtable]$ServiceStatus = @{ + 'Stopped' = 1; + 'Running' = 4; +} [hashtable]$ProviderEnums = @{ #/lib/provider/bios @@ -493,6 +502,8 @@ WindowsOSProductSuite = $WindowsOSProductSuite; WindowsProductType = $WindowsProductType; WindowsOSType = $WindowsOSType; + #/lib/provider/services + ServiceStatus = $ServiceStatus; } Export-ModuleMember -Variable @('ProviderEnums'); \ No newline at end of file diff --git a/lib/provider/services/ConvertTo-ServiceStatusCode.psm1 b/lib/provider/services/ConvertTo-ServiceStatusCode.psm1 new file mode 100644 index 0000000..1e4772f --- /dev/null +++ b/lib/provider/services/ConvertTo-ServiceStatusCode.psm1 @@ -0,0 +1,14 @@ +function ConvertTo-ServiceStatusCode() +{ + param ( + $Status + ) + + if ($Status -match "^\d+$") { + return $Status + } else { + $Status = $ProviderEnums.ServiceStatus.($Status); + } + + return $Status; +} \ No newline at end of file diff --git a/lib/provider/services/Icinga_ProviderServices.psm1 b/lib/provider/services/Icinga_ProviderServices.psm1 index 9dfc1cb..8774868 100644 --- a/lib/provider/services/Icinga_ProviderServices.psm1 +++ b/lib/provider/services/Icinga_ProviderServices.psm1 @@ -62,4 +62,4 @@ function Get-IcingaServices() ); } return $ServiceData; -} \ No newline at end of file +}