Powershell/NRPE/Check_iis8_connections.ps1
2023-07-04 12:59:44 +02:00

78 lines
1.7 KiB
PowerShell

<#
Ester Niclos Ferreras
Returns nomber of web site connections
UNKNOWN - not found
OK - connections
warning - current connections greater than warning value
critical - current connection greater than critical value
#>
#
# Shell arguments
#
[CmdletBinding()]
Param(
[Parameter(Mandatory=$True,Position=1)]
[string]$website,
[Parameter(Mandatory=$True,Position=2)]
[int]$warning_value,
[Parameter(Mandatory=$True,Position=3)]
[int]$critical_value
)
$bReturnOK = $TRUE
$bReturnCritical = $FALSE
$bReturnWarning = $FALSE
$returnStateOK = 0
$returnStateWarning = 1
$returnStateCritical = 2
$returnStateUnknown = 3
$DataTexte = ""
$strCritical = ""
$strWarning = ""
$counter = Get-Counter "\Service Web($website)\connexions actives"
# Nagios output
$resultstring='CONNECTIONS UNKNOWN ' + $website + ' not found'
$exit_code = $UNKNOWN
If ($counter -ne $null) {
$connections=$counter.CounterSamples.CookedValue
If ($connections -gt $critical_value) {
$strCritica = 'CONNECTIONS CRITICAL '+ $website +' connections '+ $connections
$bReturnCritical = $TRUE
}
Elseif ($connections -gt $warning_value) {
$strWarning = 'CONNECTIONS WARNING '+ $website +' connections '+ $connections
$bReturnWarning = $TRUE
}
Else {
$str= 'CONNECTIONS OK '+ $website +' connections '+ $connections
}
$DataTexte = "connections=" + $connections + ';' + $warning_value + ';' + $critical_value + "; "
}
If ($bReturnCritical) {
write-output $strCritica "|" $DataTexte
exit $returnStateCritical
}
Elseif ($bReturnWarning) {
write-output $strWarning "|" $DataTexte
exit $returnStateWarning
}
Else {
write-output $str "|" $DataTexte
exit $returnStateOK
}