mirror of
https://github.com/Icinga/icinga-powershell-framework.git
synced 2025-12-23 16:19:37 -05:00
Added base help for Icinga thresholds including examples
This commit is contained in:
parent
a32ec4f17c
commit
93f7ac7f29
2 changed files with 91 additions and 0 deletions
1
lib/help/help.psm1
Normal file
1
lib/help/help.psm1
Normal file
|
|
@ -0,0 +1 @@
|
|||
Import-IcingaDirectoryModules -LibDirectory (Join-Path -Path $PSScriptRoot -ChildPath $MyInvocation.MyCommand.Name);
|
||||
90
lib/help/help/Get-IcingaHelpThresholds.psm1
Normal file
90
lib/help/help/Get-IcingaHelpThresholds.psm1
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
Import-IcingaLib icinga\checkresult;
|
||||
|
||||
function Get-IcingaHelpThresholds()
|
||||
{
|
||||
param(
|
||||
$Value,
|
||||
$Warning,
|
||||
$Critical
|
||||
);
|
||||
|
||||
if ([string]::IsNullOrEmpty($Value) -eq $FALSE) {
|
||||
$ExampleCheck = New-IcingaCheck -Name 'Example' -Value $Value;
|
||||
$ExampleCheck.WarnOutOfRange($Warning).CritOutOfRange($Critical).Compile($TRUE) | Out-Null;
|
||||
return;
|
||||
}
|
||||
|
||||
Write-Host
|
||||
'
|
||||
Icinga is providing a basic handling for thresholds to make it easier to check if certain values of metrics should rise an event or not.
|
||||
By default, you are always fine to specify simple numeric values for thresholds throughout the entire Check-Plugins.
|
||||
|
||||
#####################
|
||||
|
||||
-Warning 60
|
||||
-Critical 90
|
||||
|
||||
This example will always raise an event, in case the value is below 0. On the other hand, it will raise
|
||||
Warning, if the value is above 60 and
|
||||
Critical, if the value is above 90.
|
||||
|
||||
Example: Get-IcingaHelpThresholds -Value 40 -Warning 60 -Critical 90; #This will return Ok
|
||||
Get-IcingaHelpThresholds -Value 70 -Warning 60 -Critical 90; #This will return Warning
|
||||
|
||||
There is however a smart way available, to check for ranges of metric values which are explained below.
|
||||
|
||||
#####################
|
||||
|
||||
Between Range
|
||||
-Warning "30:50"
|
||||
|
||||
This configuration will check if a value is within the specified range. In this example it would return Ok, whenver the
|
||||
value is >= 30 and <= 50
|
||||
|
||||
Example: Get-IcingaHelpThresholds -Value 40 -Warning "30:50" -Critical "10:70"; #This will return Ok
|
||||
Get-IcingaHelpThresholds -Value 20 -Warning "30:50" -Critical "10:70"; #This will return Warning
|
||||
Get-IcingaHelpThresholds -Value 5 -Warning "30:50" -Critical "10:70"; #This will return Critical
|
||||
|
||||
#####################
|
||||
|
||||
Outside Range
|
||||
-Warning "@40:70"
|
||||
|
||||
The exact opposite of the between range. Simply write an @ before your range and it will return Ok only, if the value is
|
||||
outside the range. In this case, it will only return Ok if the value is <= 40 and >= 70
|
||||
|
||||
Example: Get-IcingaHelpThresholds -Value 10 -Warning "@20:90" -Critical "@40:60"; #This will return Ok
|
||||
Get-IcingaHelpThresholds -Value 20 -Warning "@20:90" -Critical "@40:60"; #This will return Warning
|
||||
Get-IcingaHelpThresholds -Value 50 -Warning "@20:90" -Critical "@40:60"; #This will return Critical
|
||||
|
||||
#####################
|
||||
|
||||
Above value
|
||||
-Warning "50:"
|
||||
|
||||
A threshold followed by a : will always return Ok in case the value is above the configured start value. In this case it will
|
||||
always return Ok as long as the value itself is above 50
|
||||
|
||||
Example: Get-IcingaHelpThresholds -Value 100 -Warning "90:" -Critical "50:"; #This will return Ok
|
||||
Get-IcingaHelpThresholds -Value 60 -Warning "90:" -Critical "50:"; #This will return Warning
|
||||
Get-IcingaHelpThresholds -Value 10 -Warning "90:" -Critical "50:"; #This will return Critical
|
||||
|
||||
#####################
|
||||
|
||||
Below value
|
||||
-Warning "~:40"
|
||||
|
||||
Like the above value, you can also configure a threshold to require to be lower then a certain value. In this example, every value
|
||||
below 40 will return Ok
|
||||
|
||||
Example: Get-IcingaHelpThresholds -Value 20 -Warning "~:40" -Critical "~:70"; #This will return Ok
|
||||
Get-IcingaHelpThresholds -Value 60 -Warning "~:40" -Critical "~:70"; #This will return Warning
|
||||
Get-IcingaHelpThresholds -Value 90 -Warning "~:40" -Critical "~:70"; #This will return Critical
|
||||
|
||||
#####################
|
||||
|
||||
You can play around yourself with this by using this Cmdlet with different values and -Warning / -Critical thresholds:
|
||||
|
||||
Get-IcingaHelpThresholds -Value <value> -Warning <warning> -Critical <critical>;
|
||||
';
|
||||
}
|
||||
Loading…
Reference in a new issue