Changement du mode de calcul

This commit is contained in:
2025-06-10 17:59:15 +02:00
parent 088ae75339
commit 70b5678d13
+40 -14
View File
@@ -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"
}
@@ -170,4 +186,14 @@ while ($true)
$tcpnetworkstream.close()
}
}
Write-Verbose "Fin"
$tcpnetworkstream.Close()
$tcpnetworkstream.Dispose()
$listener.Server.Shutdown()
$listener.Server.Close()
$listener.Server.Dispose()
$listener.Stop()
$listener.Dispose()