Analizando la actividad de tu sistema Linux

Sysdig.jpg

Puedes tener muchas razones por las que quieras monitorizar el comportamiento o actividad de un sistema, ya sean por razones de seguridad, rendimiento, etc.

Actualmente, en los sistemas basados en el núcleo de Linux tienes un buen puñado de utilidades que te permiten llevar a cabo esta tarea, pero en esta entrada quiero hablar sobre una que yo particularmente no conocía llamada: sysdig.

Sysdig es una herramienta open source que nos permite guardar el estado y actividad del sistema y más tarde filtrar y analizar. Según la propia web de Sysdig, es una mezcla de strace + tcpdump + lsof + funcionalidad extra con la ayuda de un poco de Lua.

Sysdig se sienta dentro del núcleo, lo cual la hace muy potente al poder interceptar todas las actividades relevantes. Por este echo, necesitas permisos de root para poder usarla. El código que ejecuta es mínimo, la cual la hace una opción viable para correr en sistemas de producción y además nos permite analizar el código en tiempo real, o como decía antes, almacenarlo en un fichero para su posterior análisis. Y como última característica a destacar, es fácilmente extensible a través de scripts escritos en Lua.

Algunos ejemplos sacados del sitio web:

sysdig -w trace.scap Vuelca toda la actividad del sistema en el fichero trace.scap para su posterior análisis.

sysdig -c topfiles_time proc.name=httpd Muestra los ficheros en los que el demonio httpd (Apache) pasa la mayor parte del tiempo haciendo operaciones de entrada/salida (I/O).

sysdig -A -c echo_fds fd.sip=192.168.0.1 and proc.name=httpd Muestra los datos de red que Apache (demonio httpd) ha intercambiado con la dirección 192.168.0.1

sysdig evt.type=open and fd.name contains /etc Muestra todas las veces que un fichero bajo /etc es abierto.

Aunque esta herramienta actualmente sólo funciona (captura de eventos) en sistemas Linux, dispones de versiones para Windows y OS X, pero estas sólo sirven para analizar un fichero previamente creado en un sistema Linux.

Si quieres ver un uso real de Sysdig, echa un vistazo a esta entrada.