Crear script control de reinicio de Servidor

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: maiku, akodo

Responder
Avatar de Usuario
joseelmas
Forista Nuevo
Forista Nuevo
Mensajes: 11
Registrado: Mié Dic 21, 2005 8:00 am

Crear script control de reinicio de Servidor

Mensaje por joseelmas »

Buenas Tardes.
Necesito de su ayuda , En el trabajo me pidieron que realizara en script que controle los reinicio de un servidor. es decir hace unos días se reinicio un servidor en producción y la persona que estaba en monitorio en ese momento no se dio cuenta del reinicio sino hasta 20 minutos después. 20 minutos con un server caído en producción es demasiado tiempo . Entonces me dejaron la tarea de realizar un script que controle si un server se reinicia, mostrándome una alarma .
Lo que estoy pensando es crear un script que en caso que se reinicie el server me marque en rojo un alarma. y la verdad estoy medio perdido porque nunca realice un script así he echos script mas sencillo como espacio en discos backup. pero nunca uno así se me pueden dar una mano les agradezco enormemente .
saludos y garcias
Última edición por mcun el Jue Feb 14, 2013 6:48 pm, editado 1 vez en total.
Razón: Mensaje movido por pertenecer mejor a esta temática

Avatar de Usuario
hmg79
Forista Legendario
Forista Legendario
Mensajes: 2211
Registrado: Lun Mar 31, 2008 8:00 am

Re: Crear script control de reinicio de Servidor

Mensaje por hmg79 »

Donde te va a mostrar la alarma?, digo porque si el servidor cayo en teoría si estas al frente de la maquina lo vas a ver.-
O a que llamas servidor vos?, o sea a la maquina física, o al servicio que deba brindar.-
Ahora bien si es una red podes armar un script que realice un ping al servidor y por null verifiques si cayo el servidor o no.-

Código: Seleccionar todo

#!/bin/bash

//Acá tenes que poner la ip del servidor en cuestión
ping -c 3 192.168.0.1 >>/dev/null

if [ "$?" -eq 0 ]
then mensaje="Activo"
else mensaje="Caido"
fi

echo 'El servidor se encuentra '$mensaje
kdialog --sorry 'Servidor '$mensaje
Requisitos del script tener instalado kdialog, o modifícalo, igual ahora te toca a vos modificarlo para que realice lo que vos necesitas, aunque lo único que necesitas es usar cron para que realice la verificación cada 2minutos por ejemplo.-

Avatar de Usuario
joseelmas
Forista Nuevo
Forista Nuevo
Mensajes: 11
Registrado: Mié Dic 21, 2005 8:00 am

Re: Crear script control de reinicio de Servidor

Mensaje por joseelmas »

Hola como estas ,
Bueno en primer lugar te tengo que gradecer enormemente por haber respondido mi consulta.
Te cuento un poquito come es la cosa, es un servidor de producción yo accedo a el por medio de ssh lo que pienso hacer es un script que lo levanto en un maquina de monitoreo .
Vuelvo a insistir te agradezco enormemente, con este código ya puedo hacerlo.

Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1833
Registrado: Dom Oct 10, 2004 7:00 am

Re: Crear script control de reinicio de Servidor

Mensaje por neurus »

El script de Hmg está bien, pero hay un problema originado en la falta de claridad de la petición: sigues sin responder si sólo se trata de determinar que esté activo un equipo (¿tarda veinte minutos en reiniciar?) o si tienes que vigilar un servicio.

El problema que veo en esa solución, es que sólo determina si el equipo está encendido y en red. Pero por lo que cuentas, el servidor, puede estar encendido pero sin brindar el servicio. En ese caso el ping seguirá respondiendo pero el servicio no. A menos que haya alguien mirando todo el tiempo la salida del mensaje, tranquilamente se les puede pasar por alto el servidor caído.

Si el servicio es, por ejemplo, una página web, yo haría algo así como

Código: Seleccionar todo

if wget www.espaciolinux.com; then echo "activo"; else echo "Peligro, catástrofe!! Warning!!! perdemos plata!!!";fi
Queda por tu cuenta hacerlo gráfico (kdialog, zenity, Xdialog o similares), o mejorarlo, o cambiar el puerto o servicio que deseas vigilar.

Avatar de Usuario
joseelmas
Forista Nuevo
Forista Nuevo
Mensajes: 11
Registrado: Mié Dic 21, 2005 8:00 am

Re: Crear script control de reinicio de Servidor

Mensaje por joseelmas »

Hola como tu me explicas me permitiría expandirlo a varios server a las vez. el servicio es telefonía móvil
por ejemplo yo podria hacerlo de esta manera

Código: Seleccionar todo

while true
do
for i in ip1  ip2 ip3 
  do
  clear
 echo  "---------------------------------------------------"
 echo  "                    Mostrar Datos:  $i"
 echo  "---------------------------------------------------"

if $i; then 
echo "activo"; 
else 
echo "Peligro, catástrofe!! Warning!!! perdemos plata!!!";fi

sleep 10s
done
sleep 15s
done
Editado -- Lun Ene 28, 2013 1:21 pm --

Te respondo lo que me preguntas mas arriba hay que vigilar un servicio que corre en el server al reiniciarse el server perdemos los servicios que pasan por ahí como te decía es de telefonía móvil el server y se necesita respuesta inmediata en caso de reinicio del server .
saludos

Editado -- Lun Ene 28, 2013 1:26 pm --

son varios server son unos 20 server pero se tuvo problemas con uno es especial por eso se decidió implementar un monitoreo del estado del server, en caso de reinicio y no pasar 20 con los servicios abajo.
Última edición por mcun el Jue Feb 14, 2013 5:20 pm, editado 1 vez en total.
Razón: Mensaje editado para agregar BBcode, por favor usa las etiquetas code para postear código así queda mas legible, gracias

Avatar de Usuario
hmg79
Forista Legendario
Forista Legendario
Mensajes: 2211
Registrado: Lun Mar 31, 2008 8:00 am

Re: Crear script control de reinicio de Servidor

Mensaje por hmg79 »

Si como comenta neurus, el scripts que pase es mas una idea para que veas si lo podes implementar o no, ya que como bien dice tiene algunas falencias importantes, por ejemplo si pasa por algún router intermedio entre el monitor y el servidor que puede tener desactivado el envío de paquetes icmp, o incluso depende de si el servidor esta configurado para que responda paquetes icmp, puede servir o no.-


Una consulta neurus, decime no serviría también el uso de un sistema snmp

Avatar de Usuario
joseelmas
Forista Nuevo
Forista Nuevo
Mensajes: 11
Registrado: Mié Dic 21, 2005 8:00 am

Re: Crear script control de reinicio de Servidor

Mensaje por joseelmas »

Lo implemente asi

Código: Seleccionar todo

#!/bin/bash 
  2 #escript que monitorea el estado del server
  3 #hace un ping al server y se fija si el estado
  4 #primera verción--
  5 
  6 while true
  7 do
 11 echo "------------------------------------------------------"
 12 echo "               Estado Sever : "
 13 echo "------------------------------------------------------"
 14 
 15 i=ip
 16 
 17 ping -c 3 $i >>/dev/null
 18 
 19 if ["$i" -eq 0]
 20 then
 21 mensaje="Activo"
 22 else
 23 mensaje="Abajo Chequear!!!!"
 24 fi
 25 
 26 echo 'El Sevidor se Encuentra'$mensaje
 27 
 28 
 29 sleep 10s
 30 done
 31 sleep 15s
me da un error en la linea 19 pero esta andando
este es el error de la linea 19 "./MON_Estado_Server.sh: line 19: [1: command not found"

Editado -- Lun Ene 28, 2013 2:54 pm --

lo implemente de esta manera porque solo con saber que el server no responde hay que chequear, los servicios deberían levantar solos de todas maneras la persona que este en monitoreo que entre al server y cheque los servicios no lleva mas de 5 minutos chequear si levantaron todos los servicios .
Llegamos a la conclusión que ese server esta con problemas de Hardware, hasta que nos aprueben el cambio de hardware vamos a mantener este monitoreo , mas bien para evitar problemas .

Editado -- Lun Ene 28, 2013 6:37 pm --

Gente les tengo que agradecer a todo por la ayuda dada ya quedo implementado el script de verdad muchas gracias por la ayuda.
saludos.
Última edición por mcun el Jue Feb 14, 2013 5:20 pm, editado 1 vez en total.
Razón: Mensaje editado para agregar BBcode, por favor usa las etiquetas code para postear código así queda mas legible, gracias

Avatar de Usuario
hmg79
Forista Legendario
Forista Legendario
Mensajes: 2211
Registrado: Lun Mar 31, 2008 8:00 am

Re: Crear script control de reinicio de Servidor

Mensaje por hmg79 »

jajaj, no era una $i, era $?, por eso no funcionaba la linea 19, va quiero suponer que ese era el error, proba ejecutarlo con varias IP para ver si funciona o no.-
O sea la comparación del if se hace contra el contenido de /dev/null, no contra la IP.-

Realmente seria mejor que utilices cront, ya que lo ejecuta y termina el proceso.-

Avatar de Usuario
mcun
Administrador
Administrador
Mensajes: 3888
Registrado: Lun Abr 19, 2010 12:30 am
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)
Contactar:

Re: Crear script control de reinicio de Servidor

Mensaje por mcun »

Jose Si consideras que el tema fue resuelto, por favor edita el primer post y agrégale al título (SOLUCIONADO) para que la ayuda que recibiste le sea útil a otros usuarios mediante el uso del buscador. Muchas Gracias
Los programadores de verdad no documentan. La documentación es para los idiotas que no pueden leer un volcado de memoria.

Trusted Network and Developer | Lee el Reglamento !! |WIKI-EL | Twitter @mr_mcun
Debian + TTY | ArchLinux + awesome | openSUSE + Gnome-Shell | Linux User #508809

Responder
  • Temas similares
    Respuestas
    Vistas
    Último mensaje