Pequeñas o grandes corporaciones cuentan con una gran cantidad de servicios en producción en servidores, que pudiera pensarse imposible de monitorear de forma manual.
Existen gran cantidad de herramientas en internet para ello, entre ellas nagios, una de las mas completas, pero en esta ocasión decidimos desarrollar un script que permite monitorear e iniciar el servicio que le indiquemos.
El script, es muy sencillo de entender, los servicios que deseamos monitorizar se indican en un archivo de texto, validando el servicio que deseamos controlar en nuestro servidor, para el caso de distribuciones basadas en Debian, como es Ubuntu, entramos al directorio /etc/init.d y determinamos cuales queremos chequear.
Se obtiene la fecha y hora del sistema, para registrar en un log que maneja el script, las incidencias del servicio.
¿Pero, que hacer si el servicio esta inactivo?. Al momento de determinar el servicio inactivo, se inicia y se envía un email al administrador, para que valide el error puntual que origino la caída del servicio.
He aquí, el código fuente del script:
#! / bin / bash FILE=servicios.txt TIME='date +%Y-%m-%d_%H-%m-%S' while read linea; do if ps ax | grep -v grep | grep $linea > /dev/null then echo "Servicio $linea esta ejecutandose" else echo "El Servicio $linea ,estaba DETENIDO, a las $TIME" >> Servicios.log service $linea start echo "Validar el estado del servicio, si esta down, puede ser iniciado con: service $linea status, estaba down a las $TIME" | mail -s "Servicio $linea Detenido " usuario@dominio.com fi done < "$FILE"
Debemos tomar en cuenta, crear el archivo de servicios.txt en la misma ruta donde coloquemos el script, por aquello del tema de las rutas.
El archivo de Servicios.log podemos mudarlo a la ruta que deseamos, por solo mencionar /var/log/, para este caso, quedó en la misma ruta del script.
Ahora solo queda colocarlo en un cron. Al ser un proceso de corto tiempo de procesamiento del servidor, podemos programarlo cada 3 minutos, para que valide el estado del servicio. ¿ Como hacerlo ? editamos el vim /etc/crontab y agregamos la siguiente linea.
*/3 * * * * /ruta/del/script/script.sh
Interesante aporte. Le echaré un vistazo para probarlo.
Salu2!
No sé si «monitorear» será una nueva variante del toreo. Puede que sea algo así como torear monos. En cualquier caso ese bonito «palabro» no viene en el diccionario.
La palabra correcta que respalda la RAE es MONITORIZAR.
@Anónimo Otro «listo» de la gramática que solo comenta en blogs para eso, haciendo el ridículo:
http://dle.rae.es/?id=PehHKV2
http://lema.rae.es/dpd/srv/search?id=79HjiY8E1D68S0oGfe
http://www.fundeu.es/recomendacion/monitorizar-y-monitorear-formas-correctas-en-espanol/
Encima poniendo mayúsculas como si eso le fuera a dar la razón XD
No soy un «listo de la gramática». No hace falta ponerse así, hombre.
Como bien dice el segundo enlace de la RAE que refieres, en España solo se usa el término «monitorizar», siendo el término «monitorear» exclusivo en América.
Mi error ha sido dar por hecho que este era un blog de España. Te pido disculpas por ello.
Saludos.
Es un blog en español…no de España (ni siquiera está alojado ahí) y bueno..lo lee gente de todas partes.
Entiendo que te llamará la atención el termino (vale, reconozco que yo también tenía dudas la primera vez que lo vi 🙂 ), pero da la casualidad de que en esta ocasión no escribí yo el post, sino @Anger que si es de origen latinoamericano y de vez en cuando colabora en el blog, con este tipo de post más técnicos.
Un saludo, disculpas aceptadas y seguro que tendrás ocasión de corregirme muchas más veces (lo de revisar la ortografía como que lo llevo mal)
La gente que se dedica a corregir la ortografía hasta la más mínima forma son las más odiosas, no porque tengan razón, puede que si, puede que no, pero les pierde su prepotencia y egocentrismo, hay cientos de palabras que no se feflejan en la Rae, pero si todo el mundo lo usa así y todo el mundo lo entiende respetando el principio de la comunicación de un lenguaje estas tarde o temprano se añaden, así que la Rae no es ni la biblia ni santo grial de lo correcto para aquellos que andan queriendo tener la razón.
Además considero ese detalle offtopic porque hablamos de una script para la terminal y no de la ortografía, llega a ser mi blog y lo baneo.
Oye, Oye, Oye, el script funciona, con o sin la Horrografia, al final importa que funcione, no esta de mas que mejoremos en la ortografía y «aceptada tu critica», pero me tomo el día para un aporte que sea funcional y de ayuda para la comunidad. Y somos criticados por una palabra. Te sale por la derecha un rm -f
saludos; Buen post compañero; solo quería consultarte para salir de dudas, cuando tu indicas que tenemos que colocar los servicios a verificar en el archivo .txt se colocaria solo el nombre del servicio, como por ejemplo sshd named ???
Hola, buen día, en efecto como comentas, se debe de colocar cada servicio, linea por linea, en el archivo .txt
Vaya vaya con los amigos de DesdeLinux, si más no recuerdo vendieron el sitio ¿o no? …
Sí, lo vendieron. Y estos nuevos no es la primera vez que roban descaradamente, copiando hasta el output en la terminal textual, cambiando sólo unas palabras del post. No dan crédito, y cuando se los comentas te borran los comentarios.
Otro caso el cual les dejé un comentario y fue borrado fue:
http://blog.desdelinux.net/reduce-el-peso-de-las-imagenes-desde-la-terminal/
robo textual de:
https://lamiradadelreplicante.com/2016/04/06/optimizar-imagenes-desde-la-terminal-en-linux/
Asco dan. Saludos.
Deberían cambiarse el nombre y llamarse DesdeCopyPasteLinux. Aunque eso también les queda grande, no saben ni copiar…
Es una verdadera lástima, pero era de esperarse. Ahora son redactores los que escriben las notas, una búsqueda en internet, cambiar dos o tres palabras y listo ¡a cobrar!.
[root@bllniqpge04 script]# sh script.sh
script.sh: line 4: $’\r’: command not found
script.sh: line 16: syntax error near unexpected token `done’
script.sh: line 16: `done < "$FILE"'