diff --git a/TCP_listener.ps1 b/TCP_listener.ps1 index 204cbfd..345220a 100644 --- a/TCP_listener.ps1 +++ b/TCP_listener.ps1 @@ -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() -} \ No newline at end of file +} + +Write-Verbose "Fin" +$tcpnetworkstream.Close() +$tcpnetworkstream.Dispose() + +$listener.Server.Shutdown() +$listener.Server.Close() +$listener.Server.Dispose() +$listener.Stop() +$listener.Dispose() \ No newline at end of file