Changement du mode de calcul
This commit is contained in:
+39
-13
@@ -54,7 +54,7 @@ if ($config.RAM_VALUE -as [int] -is [int] -and ($config.RAM_ENABLED -eq 1))
|
||||
{
|
||||
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
|
||||
|
||||
}
|
||||
@@ -65,7 +65,7 @@ if ($config.RAM_THRESHOLD -as [int] -is [int] -and ($config.RAM_ENABLED -eq 1))
|
||||
{
|
||||
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
|
||||
|
||||
}
|
||||
@@ -87,7 +87,8 @@ if ($config.CPU_VALUE -as [int] -is [int] -and ($config.CPU_ENABLED -eq 1))
|
||||
{
|
||||
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)
|
||||
{
|
||||
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)
|
||||
$listener = $null
|
||||
$listener = New-Object System.Net.Sockets.TcpListener $endpoint
|
||||
|
||||
$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 = $false
|
||||
|
||||
|
||||
$ram = 0
|
||||
$cpuusage = 0
|
||||
if ($config.RAM_ENABLED -eq 1)
|
||||
{
|
||||
$raminfos = Get-WmiObject -Class WIN32_OperatingSystem
|
||||
$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)
|
||||
{
|
||||
$threshold = $true
|
||||
Write-verbose "Limite THRESHOLD sur RAM"
|
||||
Write-verbose "Limit THRESHOLD on RAM"
|
||||
}
|
||||
}
|
||||
|
||||
if ($config.CPU_ENABLED -eq 1)
|
||||
{
|
||||
$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)
|
||||
{
|
||||
$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"
|
||||
}
|
||||
@@ -171,3 +187,13 @@ while ($true)
|
||||
|
||||
|
||||
}
|
||||
|
||||
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