Você está na página 1de 8

7/6/2014 Reiniciar Mikrotik por 3 minutos cuando alcanza CPU %100 | Comunidad ryohnosuke.

com

Accede o regístrate

Portal Foros Miembros Manuales Tienda Área de Clientes

Buscar Mensajes recientes

Portal Foros MikroTik Scripting & Scheduling

Reiniciar Mikrotik por 3 minutos cuando alcanza CPU %100

Esto lo encontré en el foro oficial de Mikrotik http://forum.mikrotik.com

Realiza un testeo del uso del CPU cada 20 segundos.


Al superar el %80 se reinicia el equipo.

CODE, HTML o PHP Insertado:

XeReX / system script


New Member
add name="Average CPU Load" source=":if \(\[ /system resource get cpu-load \] \
Me Gusta recibidos: 0 >= 80 \) do={ /system reboot; }"
policy=ftp,reboot,read,write,policy,test,winbox,password,sniff

/ system scheduler
add name="Average CPU Load" on-event="Average CPU Load" start-date=jan/01/1970
start-time=00:00:00 interval=20s comment="" disabled=yes

Espero les sirva.


Saludos.

XeReX, 31 Dic 2009 #1

Es posible modificar ese scrip para que si la potencia del enlace baja de 36
dbi cambie a otra frecuencia, ejemplo (lo hago en pseudocodigo porque no
se programarlo en script)
Si la potencia de wlan1 < a 36dbi entonces
si frecuencia = 5600 entonces
frecuencia = 5200
si no
dax569 frecuencia = 5600
New Member fin si
Me Gusta recibidos: 0
fin si

si alguien sabe como programar eso o hacer el script les agradeceria.


gracias a todos y buena vida!
http://www.ryohnosuke.com/foros/index.php?threads/5479/ 1/8
7/6/2014 Reiniciar Mikrotik por 3 minutos cuando alcanza CPU %100 | Comunidad ryohnosuke.com

dax569, 27 Feb 2010 #2

Si se puede, lo que debes hacer es utilizar el comando


CODE, HTML o PHP Insertado:

:if

y con get puedes traer el valor actual de la propiedad que desees, por
XeReX ejemplo:
New Member
CODE, HTML o PHP Insertado:
Me Gusta recibidos: 0
/interface wireless get wlan1 frecuency

y con el con set haces los cambios.


No entiendo cuando te refires a 36 dbi de enlace.
Saludos.

XeReX, 28 Feb 2010 #3

Quise decir signal streng menor a -80 si supera eso que cambie de
frecuencia es una barbaridad lo que voy a scribir debajo pero eso es lo que
quiero que haga el script a grandes rasgos :S

:if /interface wireless get wlan1 signal streng > -80

dax569 :if /interface wireless get wlan1 frecuency = 5600


New Member /interface wireless set wlan1 frecuency=5200
Me Gusta recibidos: 0
else
/interface wireless set wlan1 frecuency=5600
fin si
fin si

si sabes como modificar eso para que haga el cambio de frecuencia decime
te lo voy a agradecer.
Gracias a todos y buena vida!!!

dax569, 2 Mar 2010 #4

Disculpame, estube de viaje asi que no lo vi, si veo como se puede hacer lo
posteo.
Saludos.

Ya lo tengo, sería asi:

http://www.ryohnosuke.com/foros/index.php?threads/5479/ 2/8
7/6/2014 Reiniciar Mikrotik por 3 minutos cuando alcanza CPU %100 | Comunidad ryohnosuke.com

CODE, HTML o PHP Insertado:

:global senal;
:set senal [/interface wireless registration-table get 0 signal-strength];
:log info $senal;
:set senal {:put [:pick $senal 0 [:find $senal "dBm"]]};
:log info $senal;
:if ($senal < -60) do={:log info "cambiar señal"};
XeReX
New Member

Me Gusta recibidos: 0 Me costo encontrar para sacar solo el valor entero del signal strength.
Tiene dos veces

CODE, HTML o PHP Insertado:

:log info $senal

para que vayas corroborando en el log que es lo que captura.


Luego donde dice

CODE, HTML o PHP Insertado:

do={:log info "cambiar señal"}

debes reemplazar por el código correspondiente para cambiar la frecuencia


correspondiente.

Espero les ayude y vamos viendo como mejorar estos scripts.


Saludos.

XeReX, 3 Mar 2010 #5

a esto tengo que agregarle el codigo de cambio de frecuencia, decime si es


mas o meno asi como voy a intentar explicar debajo.

:global senal;
:global frecuancia;
:set senal [/interface wireless registration-table get 0 signal-strength];
:log info $senal;
dax569 :set senal { ut [ ick $senal 0 [:find $senal "dBm"]]};
New Member :log info $senal;
Me Gusta recibidos: 0
:if ($senal < -75) do={:log info "cambiar señal"};
-------------------------------------------------------:
:set frecuencia [/interface wireless get wlan1 frecuency ];
:if frecuencia=5200;
HACER QUE LA FRECUENCIA DE LA INTERFAZ /interface wireless get wlan1
frecuency TOME EL VALOR DE 5600
SI NO (SUPONGO QUE EXISTE UN ELSE O SIMILAR)
HACER QUE LA FRECUENCIA DE LA INTERFAZ /interface wireless get wlan1

http://www.ryohnosuke.com/foros/index.php?threads/5479/ 3/8
7/6/2014 Reiniciar Mikrotik por 3 minutos cuando alcanza CPU %100 | Comunidad ryohnosuke.com

frecuency TOME EL VALOR DE 5200


FIN SI

PERDON POR SER TAN TORPE PERO NO ENTIENDO DEMASIADO EL SCRIPT Y


MIS CONOCIMIENTOS DEL CORAZON DE MKT NO SON DEMASIADOS AUNQUE
SIGO APRENDIENDO DIA A DIA.
gRACIAS A TODOS Y BUENA VIDA!

dax569, 22 Mar 2010 #6

No hay un else pero si puedes abrir un nuevo if, lo que tienes lo puedes
solucionar con +100 en la frecuencia pero vas a caer en canales no
frecuenciados para tus antenas.
Saludos.

XeReX
New Member
XeReX, 22 Mar 2010 #7
Me Gusta recibidos: 0

eSTA BIEN ENTONCES USO OTRO IF Y LO SOLUCIONO CON ESO Y CUAL ES


LA SENTENCIA PARA QUE ESA INTERFACE TOME LA FRECUENCIA QUE YO LE
QUIERO DAR?
GRACIAS POR TODO Y BUENA VIDA!

dax569
New Member
dax569, 23 Mar 2010 #8
Me Gusta recibidos: 0

Con set en vez de get,


Lo pruebo bien al comando y te avsiso, disculpa por la demora.
Saludos.

XeReX
New Member
XeReX, 25 Mar 2010 #9
Me Gusta recibidos: 0

como es eso de la cpu al 100%? yo con 26 clientes no llego ni al 50% y ni se


http://www.ryohnosuke.com/foros/index.php?threads/5479/ 4/8
7/6/2014 Reiniciar Mikrotik por 3 minutos cuando alcanza CPU %100 | Comunidad ryohnosuke.com

entivia q cosas hacen ustedes para q el de ustedes llegen a ese nivel de uso
de cpu o altas temperaturas como he leido por ahi?

riklimax riklimax, 11 Abr 2011 #10


New Member

Me Gusta recibidos: 0

Cuando tengas muchos clientes, qos, varios script que corren, layer 7,
proxy, etc, vas a ver como levanta la cpu.

Interflash
Member
Interflash, 12 Abr 2011 #11
Me Gusta recibidos: 0

Interesante el script,este se puede modificar para habilitar o deshabilitar la


regla de nat que redireciona el puerto 80 a la webproxy, cuando el sistema
limpia o carga el cache, el proceso alcanza 100% cpu por varios minutos.

gfp77
New Member
gfp77, 7 Mar 2012 #12
Me Gusta recibidos: 0

si se puede , debes editar lo que esta despues la accion a realizar, esta


despues de do={

c0d3rSh3ll
Active Member
c0d3rSh3ll, 9 Mar 2012 #13
Me Gusta recibidos: 24

http://www.ryohnosuke.com/foros/index.php?threads/5479/ 5/8
7/6/2014 Reiniciar Mikrotik por 3 minutos cuando alcanza CPU %100 | Comunidad ryohnosuke.com

Gracias por la respuesta, el script quedaria asi: "do={ /ip firewall nat disable
[/ip firewall nat find comment="Redireccion Webproxy Cache"]; }",
y para no crear otras regla del nat de direccionamiento yo quiero si
"source=":if \(\[ /system resource get cpu-load \] \
<= 80 \) habilita el nat de lo contrario lo deshabilita, como se realizaria esta
modificación.

gfp77
New Member
gfp77, 10 Mar 2012 #14
Me Gusta recibidos: 0

XeReX dijo: ↑

Esto lo encontré en el foro oficial de Mikrotik http://forum.mikrotik.com

Realiza un testeo del uso del CPU cada 20 segundos.


Al superar el %80 se reinicia el equipo.

wtorrez CODE, HTML o PHP Insertado:


Member
/ system script
Me Gusta recibidos: 0 add name="Average CPU Load" clic
sour ce=" :if \(\[ /system resource get cpu-load \]
Hacer para expandir...
>= 80 \) do={ /system reboot; }"

por mas que quiero copiar esto a mi mk ... no ingresa .... me puedes orientar
porfavor

wtorrez, 12 May 2013 #15

hola e probado el scribt pero no me funciona tengo la vercion 5.26 al guien


me puede ayudar con esto gracias

/ system script
add name="Average CPU Load" source=":if \(\[ /system resource get cpu-
load \] \
>= 80 \) do={ /system reboot; }"
wcasallas1 policy=ftp,reboot,read,write,policy,test,winbox,password,sniff
Member

Me Gusta recibidos: 2
/ system scheduler
add name="Average CPU Load" on-event="Average CPU Load" start-
date=jan/01/1970
start-time=00:00:00 interval=20s comment="" disabled=yes

este es el codigo del compañero pero no me funciona.

wcasallas1, 20 Abr 2014 #16

http://www.ryohnosuke.com/foros/index.php?threads/5479/ 6/8
7/6/2014 Reiniciar Mikrotik por 3 minutos cuando alcanza CPU %100 | Comunidad ryohnosuke.com

Pueba este scrpit, a mi me funciona en todas las versiones. Metelo


directamente en el new terminal.

CODE, HTML o PHP Insertado:

/system scheduler

add disabled=no interval=15m name="Reinicio equipo por carga CPU" on-event=\


fcmontes "Reinicio equipo por carga CPU" policy=\
Active Member ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
start-date=jul/11/2013 start-time=11:23:53
Me Gusta recibidos: 58

/system script

add name="Reinicio equipo por carga CPU" policy=\


ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
source=":local cpu1 ([ /system resource get cpu-load]);\r\
\ndelay 15s;\r\
\n:local cpu2 ([ /system resource get cpu-load]);\r\
\ndelay 15s;\r\
\n:local cpu3 ([ /system resource get cpu-load]);\r\
\ndelay 15s;\r\
\n:local cpu4 ([ /system resource get cpu-load]);\r\
\ndelay 15s;\r\
\n:local cpu ((\$cpu1+\$cpu2+\$cpu3+\$cpu4)/4);\r\
\n\r\
\n:if (\$cpu>=95) do={ \\\r\
\nlog info message=\"cpu al \$cpu% durante mas de 1 minuto. Reinicio el equ
po\";\r\
\ndelay 10s;\r\
\n/system reboot;\r\
\n\r\
\n} else={};\r\
\n"

fcmontes, 21 Abr 2014 #17

A DK7WIRELESS y wcasallas1 les gusta esto.

fcmontes amigo gracias por ese detalle lo estoy probando quiero


eliminar estos dolores de cabeza, gracias..

wcasallas1
Member
wcasallas1, 21 Abr 2014 #18
Me Gusta recibidos: 2

http://www.ryohnosuke.com/foros/index.php?threads/5479/ 7/8
7/6/2014 Reiniciar Mikrotik por 3 minutos cuando alcanza CPU %100 | Comunidad ryohnosuke.com

(Debes acceder o registrarte para responder aquí.)

Compartir esta página


Rec omendar Sé el primero de tus amigos en recomendar esto.

Portal Foros MikroTik Scripting & Scheduling

Español (ES) Contactarnos Ayuda

Forum software by XenForo™ ©2010-2014 XenForo Ltd. Términos y reglas

http://www.ryohnosuke.com/foros/index.php?threads/5479/ 8/8

Você também pode gostar