Amephist

Archive for June, 2010

init.d httpd script para usar con monit

by admin on Jun.17, 2010, under Scripts

Monit es una excelente herramienta para controlar y mantener a raya los servicios de un servidor. Este lindo daemon se encarga de supervisar el sistema y puede accionar eventos ante determinados patrones; nosotros en particular lo usamos para que nuestros servicios httpd no terminen por colapsar el servidor. Esto funcionaba en el 70% de las veces puesto que cuando el servidor realmente tenia mucha carga monit reiniciaba el servicio usando el script standard en init.d y este no es lo suficientemente completo como esperar a que el sistema estuviera limpio antes de volver a levantar httpd; lo cual bloqueaba los semáforos de sistema o no generaba un PID correcto. Como resultado de esto, en un extraño pero factible 30% de las veces monit colapsaba y no comprendía porque su orden no se ejecutaba correctamente. No encontré solución alguna por ningún lado, monit no esta pensado para ser niñera del proceso que se encarga de reiniciar el servicio, no es su culpa sino del script que esta en init.d. Es por ese motivo que les presento una versión un tanto agresiva que reemplaza nuestros /etc/init.d/httpd , esta versión no levanta el proceso hasta asegurarse que el anterior ha finalizado y limpia semáforos para que realmente quede limpio el sistema.

(continue reading…)

1 Comment :, , more...

Uso de ancho de banda desde la consola

by admin on Jun.01, 2010, under One-Liners

A veces quisiera tener una herramienta para chequear cuanto ancho de banda envia/recibe nuestro servidor pero slurm o vnstat no es una opción. A veces solo necesitamos un one-liner que haga rapidamente este trabajo y mantenerlo de fondo mientras hacemos algunos cambios. Bueno, como ultimamente he comenzado a utilizar mucho este script tal vez te ayude a ti tambien.

i=eth0;ltb=1;lrb=1;while :; do b=$(ifconfig $i | awk '/RX bytes/ {print $2 ":" $6}' | cut -d \: -f "2 4" | awk -F\: '{ printf("%d|%d",$1,$2)}');set - $(IFS="|"; echo $b);rb="$1";tb="$2";echo "Received:" $((($rb - $lrb) / 10240)) "kB/s Transmitted:" $((($tb - $ltb) / 10240)) "kB/s";ltb=$tb;lrb=$rb;sleep 10;done

Solo cambien la variable i=eth0 por la interfaz que quieran supervisar. Fue probado en Debian y CentOS, debería funcionar en la mayoría de las distribuciones de Linux.

Leave a Comment :, more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Archives

All entries, chronologically...