Cómo instalar Sysdig en Debian 11

Sysdig es una herramienta de monitorización y resolución de problemas del sistema, de código abierto y multiplataforma. Es útil tanto para los administradores de sistemas con experiencia como para los que se inician en la línea de comandos de Linux. Puede darnos un montón de información sobre lo que realmente ocurre en nuestros servidores, contenedores o escritorios durante las operaciones normales.

Sysdig viene con una interfaz de línea de comandos, pero también tiene una interfaz de usuario web para los que se inclinan más por la interfaz gráfica de usuario.

Sysdig recoge datos del sistema y permite al usuario filtrar y supervisar estos datos de muchas maneras. Puedes capturar el tráfico hacia/desde un contenedor o una máquina virtual, utilizar filtros para que el sistema sólo te muestre los eventos relevantes, como «si el proceso X está escuchando en el puerto Y», y puedes agregar eventos en representaciones gráficas de tendencias a largo plazo.

La mayor fortaleza de Sysdig es su profundidad de conocimiento. Sysdig puede decirte dónde se están produciendo todas las lecturas de disco, cuántos paquetes está enviando/recibiendo cada contenedor, o si alguno de tus servidores web está caído. Incluso va más allá y respalda esta información con datos binarios relevantes (si se registran).

La mayor parte de nuestro tiempo como administradores de sistemas lo pasamos solucionando problemas que son difíciles de reproducir o identificar. La razón por la que estos problemas son tan difíciles de depurar es que no hay suficiente información para seguir adelante.

Sysdig puede darnos suficiente información para resolver estos problemas. Una vez que tenemos esta información, la resolución de problemas se hace mucho más fácil: a menudo parece que tenemos un superpoder.

Sysdig funciona en la mayoría de las principales distribuciones, como CentOS, Ubuntu, Debian, Fedora Core, Arch Linux, Gentoo e incluso OSX. La instalación es bastante sencilla; no requiere compilar el código fuente (¡vaya!), e incluso hay una página oficial de GitHub que tiene instrucciones de instalación para cada distribución que Sysdig soporta oficialmente.

Para este artículo, instalaremos Sysdig en un servidor Debian 11. El proceso es bastante sencillo y no requiere muchos conocimientos profundos sobre Linux para empezar.

Requisitos previos

Para instalar sysdig, necesitamos tener

  • Una conexión ssh a nuestro servidor remoto.
  • Acceso root o sudo.

Actualizar el sistema

Es una buena idea actualizar el sistema antes de continuar. Podemos hacerlo ejecutando:

sudo apt-get update && sudo apt-get upgrade -y

Una vez hechas las actualizaciones, ejecuta los siguientes comandos para instalar las dependencias necesarias. libc6 es la biblioteca estándar de C que utiliza Sysdig para hacer la mayor parte de su trabajo pesado. curl es una herramienta que recupera archivos utilizando el protocolo HTTP o HTTPS, y es lo que utilizaremos para descargar sysdig. libcurl3 es una dependencia de curl.

sudo apt install libc6 libcurl3 gnupg -y
sudo apt install software-properties-common curl -y

Instalar Syndig en Debian 11

Ahora que el sistema está actualizado, vamos a descargar e instalar Sysdig. Ejecuta el siguiente comando para descargar e instalar sysdig.

sudo curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

Dependiendo de las especificaciones de tu servidor, esto puede llevar un tiempo. Así que ten paciencia mientras se completa la descarga y la instalación.

Ejemplo de salida:

Instalación de Syndig en Debian 11

Una vez finalizada la instalación, podemos comprobar si Sysdig se ha instalado correctamente ejecutando el siguiente comando.

sysdig --version

Si la instalación se ha realizado correctamente, este comando devolverá los detalles de la versión de sysdig como se muestra a continuación.

Instalación de Syndig en Debian 11

También puedes comprobar las distintas capacidades de sysdig ejecutando el siguiente comando.

sysdig -h

Instalación de Syndig en Debian 11

Utilizar Sysdig

Ahora que tenemos instalado Sysdig, vamos a repasar algunos de los comandos básicos de Sysdig.

Lo primero que debemos hacer es ejecutar el siguiente comando para empezar a capturar la actividad del sistema. Utilizamos el comando sysdig para monitorizar el sistema. Ejecutamos el comandosysdig con el prefijo sudo, que es necesario porque csysdig requiere acceso de root o sudo para funcionar.

sudo csysdig

Ejemplo de salida:

Utilizar Sysdig

Cuando sysdig comience a capturar eventos, empezará a rellenar la interfaz con información. Después de ejecutar el comando anterior, los datos del sistema se refrescan cada dos segundos. Esto se controla con la variable refresh_rate, que por defecto es de 2 segundos. Se puede ajustar mediante el archivo de configuración de sysdig.

En la salida anterior, verás columnas como PID, Nombre, CPU y Comm. Se trata de descripciones de las columnas y se pueden ver pasando el ratón por encima de ellas. La sintaxis de los nombres de las columnas es [nombre del campo]-[descriptor del campo].

Los campos que más nos interesan suelen ser

  • PID – el PID del proceso que ha generado el evento.
  • PPID – el PID del proceso padre de un proceso determinado.
  • %CPU – cuánto tiempo de CPU está utilizando un proceso.
  • USER – el nombre de usuario del responsable del proceso.
  • RES – la cantidad de memoria no intercambiada que está utilizando un proceso.
  • Comando – la línea de comando que inició el proceso.

Por supuesto, hay muchas otras columnas que puedes utilizar para profundizar en la actividad del sistema. Y Sysdig puede personalizarse para adaptarse a tus necesidades.

Como los datos del sistema se actualizan continuamente, puede ser difícil entender lo que está pasando. Podemos detener la ejecución de sysdig pulsando CTRL + C. Una vez que la interfaz esté despejada, podemos ejecutar un comando sysdig con opciones y filtros para obtener los datos que queremos.

La systax es sysdig [opciones] [filtros].

El mecanismo de filtrado de Sysdig es muy potente y puede utilizarse para encontrar exactamente lo que buscas. Los filtros, similares a los de tcpdump, consisten en una cadena de una o varias expresiones primitivas que están unidas por conjunciones (‘y’, ‘o’) y opcionalmente terminadas por una disyunción (‘no’). Para mostrar todos los filtros que podemos utilizar con sysdig, ejecuta el siguiente comando.

sysdig -l

Obtendrás una lista con un gran número de filtros con una breve descripción de cada uno, como se muestra a continuación.

Utilizar Sysdig

Como es imposible abarcarlos todos, cubriremos algunos filtros de uso común.

Empezaremos con el filtro – proc.name= que nos permite filtrar por nombres de procesos específicos.

Por ejemplo, para buscar todos los eventos del nombre de proceso «nano», podemos ejecutar el siguiente comando.

sudo sysdig proc.name=nano

Ejemplo de salida:

Utilizar Sysdig

También puedes utilizar operadores como «o» y «y» para obtener datos más específicos. Por ejemplo, puedes obtener todos los eventos para «nano» o «vi».

sudo sysdig proc.name=cat or proc.name=vi

Utilizar Sysdig

Ejecuta el siguiente comando para ver los eventos relacionados con la red. Puedes ver los puertos a los que están conectados, las direcciones MAC y muchas cosas más en tiempo real.

sudo sysdig -c netstat 

Ejemplo de salida:

Utilizar Sysdig

Ejecuta el siguiente comando para obtener los procesos que más consumen de la CPU.

sudo sysdig -c topprocs_cpu

Ejemplo de salida:

Utilizar Sysdig

Para capturar la actividad del sistema y guardarla para su posterior análisis, utiliza la opción -w, seguida de un nombre de archivo. En el ejemplo siguiente, capturamos toda la salida de sysdig en un archivo llamado «sysdig-output.scap»

sudo sysdig -w sysdig-output.scap

Este comando indica a sysdig que emita los datos continuamente hasta que se detenga pulsando CTRL+C. Con el tiempo, el archivo aumentará de tamaño. Puedes utilizar la opción-C para capturar la actividad del sistema en un archivo con un tamaño máximo de un número determinado de MB.

Por ejemplo, el siguiente comando creará un nuevo archivo cada 1MB y almacenará en él la actividad del sistema.

sudo sysdig -C 1 -w sysdig-output.scap

Ejecuta el comando ls -l para ver el archivo recién creado con el nombre «sysdig-output.scap», como se muestra a continuación.

ls -l

La salida es la siguiente:

Utilizar Sysdig

Conclusión

Sysdig tiene un gran número de funcionalidades y puede utilizarse como una gran herramienta para la resolución de problemas y el análisis del rendimiento. Y como es de código abierto, también puedes ampliar su funcionalidad mediante cinceles para satisfacer tus necesidades.

En este artículo, hemos cubierto algunos de los comandos básicos para empezar a utilizar sysdig. Para leer más sobre sysdig y sus casos de uso, consulta su página de documentación.

También te podría gustar...