Diogenismo digital
2017-04-28 15:42:02
En otra vida, trabajé con un entorno en el que habia n servidores con m procesos, digamos que en el orden de las cuatro cifras de procesos en total.
Cada uno de estos divertidos procesos generaba una modesta cantidad de log, pero que multiplicado por n y por m generaba 1.21 gigawatios por cada viaje temporal, lo que añadido a una de esas instalaciones... ajum... en las que cada servidor estaba dividido en infinitas particiones, daba continuos problemas de disco duro lleno cuando la particion /var se llenaba mientras la /home o la /usr tenian gigas y gigas libres.
Un coñazo, por usar un termino técnico.
Por eso se me ocurrió, aunque no llegué a implementarlo y por eso lo comparto a post mortem, que hubiera estado bien tenerlo todo limpito y centralizado.
Dos alternativas no necesariamente independientes: una era montar un servidor con graylog y mandarlo todo ahí directamente, o bien un demonio que leyese los ficheros de logs, los enviase a un servidor especializado, y borrase los locales(*).
¿Que tal un POST no bloqueante a ese servidor con identificador de maquina, identificador de proceso, instante temporal, nombre de log, cadena de log, sha256 de los datos+sal?
Tercera alternativa, mucho más sosa, xz a todos los ficheros de log más viejos de un mes.
* No es tan sencillo, claro: eliges fichero, renombras a temporal, creas fichero vacio con el mismo nombre, tratas temporal, borras temporal. Es importante.