Changement du mode de calcul
This commit is contained in:
+40
-14
@@ -54,7 +54,7 @@ if ($config.RAM_VALUE -as [int] -is [int] -and ($config.RAM_ENABLED -eq 1))
|
|||||||
{
|
{
|
||||||
if ($config.RAM_VALUE -eq 0)
|
if ($config.RAM_VALUE -eq 0)
|
||||||
{
|
{
|
||||||
Write-host "Valeur RAM_VALUE absente, incorrecte ou à 0, désactivation"
|
Write-host "Value RAM_VALUE missing, incorrect or at 0, CPU CHECK disabled"
|
||||||
$config.RAM_ENABLED = 0
|
$config.RAM_ENABLED = 0
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -65,7 +65,7 @@ if ($config.RAM_THRESHOLD -as [int] -is [int] -and ($config.RAM_ENABLED -eq 1))
|
|||||||
{
|
{
|
||||||
if ($config.RAM_THRESHOLD -eq 0)
|
if ($config.RAM_THRESHOLD -eq 0)
|
||||||
{
|
{
|
||||||
Write-host "Valeur RAM_THRESHOLD absente, incorrecte ou à 0, désactivation"
|
Write-host "Value RAM_THRESHOLD missing, incorrect or at 0, RAM CHECK disabled"
|
||||||
$config.RAM_ENABLED = 0
|
$config.RAM_ENABLED = 0
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -87,7 +87,8 @@ if ($config.CPU_VALUE -as [int] -is [int] -and ($config.CPU_ENABLED -eq 1))
|
|||||||
{
|
{
|
||||||
if ($config.CPU_VALUE -eq 0)
|
if ($config.CPU_VALUE -eq 0)
|
||||||
{
|
{
|
||||||
Write-host "Valeur CPU_VALUE absente, à 0 ou incorrecte. Désactivation check CPU"
|
Write-host "Value CPU_VALUE missing, on 0 or wrong. Disabled check CPU"
|
||||||
|
$config.CPU_ENABLED = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,11 +96,13 @@ if ($config.CPU_THRESHOLD -as [int] -is [int] -and ($config.CPU_ENABLED -eq 1))
|
|||||||
{
|
{
|
||||||
if ($config.CPU_THRESHOLD -eq 0)
|
if ($config.CPU_THRESHOLD -eq 0)
|
||||||
{
|
{
|
||||||
Write-host "Valeur CPU_THRESHOLD absente, à 0 ou incorrecte. Désactivation check CPU"
|
Write-host "Value CPU_THRESHOLD missing, at 0 or incorrect. Disabled check CPU"
|
||||||
|
$config.CPU_ENABLED = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$endpoint = New-Object System.Net.IPEndPoint([ipaddress]::Any,8000)
|
$endpoint = New-Object System.Net.IPEndPoint([ipaddress]::Any,8000)
|
||||||
|
$listener = $null
|
||||||
$listener = New-Object System.Net.Sockets.TcpListener $endpoint
|
$listener = New-Object System.Net.Sockets.TcpListener $endpoint
|
||||||
|
|
||||||
$listener.Start()
|
$listener.Start()
|
||||||
@@ -114,35 +117,48 @@ function Get-ServerHAProxyLoad()
|
|||||||
# Threshold : Si une valeur dépasse, on passe à true et force l'usage à 0 après les calculs (drain mode)
|
# Threshold : Si une valeur dépasse, on passe à true et force l'usage à 0 après les calculs (drain mode)
|
||||||
$threshold = $false
|
$threshold = $false
|
||||||
|
|
||||||
|
$ram = 0
|
||||||
|
$cpuusage = 0
|
||||||
if ($config.RAM_ENABLED -eq 1)
|
if ($config.RAM_ENABLED -eq 1)
|
||||||
{
|
{
|
||||||
$raminfos = Get-WmiObject -Class WIN32_OperatingSystem
|
$raminfos = Get-WmiObject -Class WIN32_OperatingSystem
|
||||||
$ram = [math]::Floor( 100 - ($raminfos.FreePhysicalMemory / $raminfos.TotalVisibleMemorySize) * 100)
|
$ram = [math]::Floor( 100 - ($raminfos.FreePhysicalMemory / $raminfos.TotalVisibleMemorySize) * 100)
|
||||||
# usage - ( ( pourcentage de ram libre / limite de ram ) * IF )
|
|
||||||
$usage = [math]::Floor($usage - (( $ram / $Config.RAM_VALUE ) * $config.RAM_IMPORTANCEFACTOR ) )
|
|
||||||
Write-verbose "Ram : $ram`n`tUsage : $usage"
|
|
||||||
|
|
||||||
|
Write-verbose "Ram used : $ram"
|
||||||
|
$ramscore = [math]::Floor( ( $ram / $Config.RAM_VALUE ) * $config.RAM_IMPORTANCEFACTOR )
|
||||||
|
Write-Verbose "Ram score : $ramscore"
|
||||||
if ($ram -ge $config.RAM_THRESHOLD)
|
if ($ram -ge $config.RAM_THRESHOLD)
|
||||||
{
|
{
|
||||||
$threshold = $true
|
$threshold = $true
|
||||||
Write-verbose "Limite THRESHOLD sur RAM"
|
Write-verbose "Limit THRESHOLD on RAM"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($config.CPU_ENABLED -eq 1)
|
if ($config.CPU_ENABLED -eq 1)
|
||||||
{
|
{
|
||||||
$cpuusage = $(Get-WmiObject -Class Win32_Processor).loadpercentage
|
$cpuusage = $(Get-WmiObject -Class Win32_Processor).loadpercentage
|
||||||
$usage = [math]::Floor( $usage - (( $cpuusage / $config.CPU_VALUE ) * $config.CPU_IMPORTANCEFACTOR) )
|
|
||||||
Write-verbose "CPU : $cpuusage`n`tUsage : $usage"
|
Write-verbose "CPU used : $cpuusage"
|
||||||
|
$cpuscore = [math]::Floor( ( $cpuusage / $config.CPU_VALUE ) * $config.CPU_IMPORTANCEFACTOR )
|
||||||
|
Write-verbose "CPU score : $cpuscore"
|
||||||
if ($cpuusage -ge $config.CPU_THRESHOLD)
|
if ($cpuusage -ge $config.CPU_THRESHOLD)
|
||||||
{
|
{
|
||||||
$threshold = $true
|
$threshold = $true
|
||||||
Write-verbose "Limite THRESHOLD sur CPU"
|
Write-verbose "Limit THRESHOLD on CPU"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
## Calcul des scores
|
||||||
|
## RAM
|
||||||
|
#
|
||||||
|
|
||||||
if ($threshold -or $usage -lt 0)
|
|
||||||
|
$usage = [math]::Floor( $usage - $ramscore )
|
||||||
|
Write-Verbose "Score post RAM : $usage"
|
||||||
|
## CPU
|
||||||
|
$usage = [math]::Floor( $usage - $cpuscore )
|
||||||
|
Write-Verbose "Score post CPU : $usage"
|
||||||
|
|
||||||
|
if ($threshold -or $usage -le 0)
|
||||||
{
|
{
|
||||||
return "drain 0"
|
return "drain 0"
|
||||||
}
|
}
|
||||||
@@ -170,4 +186,14 @@ while ($true)
|
|||||||
$tcpnetworkstream.close()
|
$tcpnetworkstream.close()
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Write-Verbose "Fin"
|
||||||
|
$tcpnetworkstream.Close()
|
||||||
|
$tcpnetworkstream.Dispose()
|
||||||
|
|
||||||
|
$listener.Server.Shutdown()
|
||||||
|
$listener.Server.Close()
|
||||||
|
$listener.Server.Dispose()
|
||||||
|
$listener.Stop()
|
||||||
|
$listener.Dispose()
|
||||||
Reference in New Issue
Block a user