GNU/Linux Sysdig

Publicado

GNU/Linux Sysdig es una herramienta gratuita de código abierto cuya finalidad es explorar el comportamiento del sistema, capturar el estado del sistema en tiempo real, analizar las instancias que están siendo ejecutadas en Linux para crear un filtro y guardar dicha información con el fin de obtener un resultado sobre el comportamiento del mismo. Sysdig está escrito en un script LUA y contiene línea de comandos que puede ser ejecutada desde la consola. Dentro de sus principales características tenemos:
Rápido y estable.
Sencillo de usar.
Amplio alcance en el sistema.
Flexible.
Adaptable al flujo de trabajo actual.

Instalación del paquete:
# apt-get install sysdig

Comandos de ejecución de sysdig:
# sysdig

Los resultados emitidos por Sysdig es la siguiente:
%evt.num %evt.outputtime %evt.cpu %proc.name (%thread.tid) %evt.dir %evt.type %evt.info

Analicemos cada evento:

Evt.num
Es el número de evento el cual va incrementado línea a línea.

Evt. Outputtime
Indica la hora en que sucedió el evento.

Evt. Cpu
Es el número de CPU donde el evento fue registrado, por ejemplo 0.

Proc. Name
Hace referencia al proceso que desencadenó el evento, por ejemplo, acpid.

Thread. Tid
Indica el TID que generó el proceso, el cual corresponde al PID de procesos de un solo hilo.

Evt. Dir
Es la dirección donde sucedió el evento el símbolo > representa la entrada de eventos y el símbolo < la salida de eventos.

Evt. Type
Hace referencia al nombre del evento, por ejemplo open, read, etc.

Evt. Info
Lista los argumentos del evento.

Podemos aplicar opciones y filtros al comando Sysdig para obtener resultados más específicos de administrar, para esto debemos usar la siguiente sintaxis:

sysdig [opción] [filtro]

El listado completo de filtros lo podemos ver con el siguiente comando, vemos que se lista el filtro y su respectiva descripción.

sysdig -l

Las mas usadas son:

Process
Con esta clase filtramos la información del proceso como su ID o nombre.

Fd
Esta opción nos permite filtrar la información del descriptor del archivo (FD).

Evt
Usando esta clase podemos filtrar información del evento como numero de evento o fecha en que sucedió.

Group
Gracias a esta clase podemos filtrar información del grupo.

Syslog
Con este parámetro filtramos información del syslog, como severidad e instalación del evento.

En este filtro veremos todos los eventos asociados al proceso acpid, para ello ingresamos lo siguiente, podemos ver que se ha filtrado por el proceso indicado.

# sysdig proc.name=terminator

Es posible que deseemos almacenar los eventos que ocurren en un archivo para su posterior análisis, usaremos la siguiente sintaxis, hemos agregado el parámetro –w para indicar el archivo de destino.

# sysdig -w Nombre_Archivo.scap

Detenemos el proceso con la combinación de teclas Ctrl + C.

Agregar el parámetro –n para especificar cuantos eventos capturar con Sysdig, para ello usaremos la siguiente sintaxis:

# sysdig -n 300 -w Nombre_Archivo.scap

Si deseamos tomar capturas más pequeñas usamos el parámetro –C en archivos no mayor a 2 MB.

# sudo sysdig -C 2 -W 5 -w Archivo.scap

Un archivo un evento especifico, por ejemplo terminator, podemos usar la siguiente sintaxis, son 100 eventos del proceso terminator:

# sysdig -n 100 -w Archivo.scap proc.name=terminator

Leer y analizar los archivos grabados con Sysdig, si deseemos analizar los archivos que hemos almacenado utilizamos el siguiente comando para leerlo:

# sysdig -r Archivo.scap

Incluye scripts con la posibilidad de ejecutar diversas tareas administrativas dentro del sistema, la lista completa de comandos con el siguiente comando:

# sysdig –cl

Netstat
Nos permite listar las conexiones de red activas.
Spy_users
Nos permite ver la actividad de cada usuario.
Spy_port
Muestra la información que ha sido transmitida en cada puerto.
Spy_IP
Muestra la actividad de la dirección IP.
Httptop
Despliega las peticiones HTTP generadas en el sistema.

Acerca de cada comando podemos usar el parámetro –i, de la siguiente forma

# sudo sysdig -i (Comando)
# sudo sysdig –i netstat

Funcionamiento del comando usaremos el parámetro -c, de la siguiente forma

# sysdig -c topprocs_cpu

Csysdig es una herramienta que viene incluida dentro de Sysdig la cual nos ofrece la posibilidad de monitorizar el sistema de una forma gráfica, cumple las mismas funciones de Sysdig al capturar eventos en tiempo real, análisis y sus datos se refrescan cada dos segundos, para acceder a Csysdig usaremos el siguiente comando

# csysdig

Existen algunas opciones que podemos usar con Csysdig a nivel de configuración, algunas de estas son:

Modificar el tiempo de refresco de la información. Sabemos que por defecto el tiempo establecido es 2 segundos, si deseamos que dicho tiempo pase a ser 5 segundos usaremos el siguiente comando:

# csysdig -d 5000.

Excluir la información del usuario y del grupo en el campo Vistas usaremos el siguiente comando:

# csysdig -E

Para listar los eventos de un usuario en especial, usaremos el siguiente comando:

# csysdig user.name=nombreusuario

Para ver el resumen de un proceso en especial usaremos el comando sudo csysdig proc.name=(Nombre Proceso), para ver todos los comandos disponibles usaremos:

# csysdig -l

De este modo podemos usar Sysdig y Csysdig para un control en tiempo real de nuestro sistema GNU/Linux y mantener los mejores niveles de integridad y optimización.

Autor