Cómo instalar Sysdig para monitorear su sistema Linux

Tu sistema Linux es una excelente plataforma para servidores y escritorios. Pero, como cualquier otro sistema complejo, es crucial tener una supervisión adecuada para mantener tu sistema en su mejor rendimiento. Afortunadamente, Sysdig está a la vuelta de la esquina.

Sysdig es una herramienta integral de monitoreo para Linux que puede vigilar tu sistema en busca de amenazas, errores, patrones de uso y mucho más. Y en este tutorial, aprenderás a instalar Sysdig, destacando opciones de configuración particulares para mejorar la supervisión de tu sistema Linux.

¡Sigue leyendo y nunca te pierdas una ‘alerta’ de nuevo!

Prerrequisitos

Este tutorial será una demostración práctica. Si quieres seguirlo, asegúrate de tener lo siguiente.

  • A Linux machine – This tutorial uses Ubuntu 20.04 LTS, but any Linux distributions will work.
  • A non-root user with sudo privileges.

Instalación de Sysdig en Linux

La herramienta de línea de comandos Sysdig suele estar disponible en la mayoría de las distribuciones Linux modernas, y puedes instalar Sysdig como otros paquetes que hayas instalado hasta ahora en tu máquina.

1. Abre tu terminal y ejecuta el comando apt update a continuación para asegurarte de tener las últimas actualizaciones de los repositorios de tu distribución. Este comando actualiza las listas de paquetes de tu sistema y puede tardar unos minutos en completarse.

sudo apt update -y
Updating your System’s Package Lists

2. A continuación, ejecuta el comando apt install a continuación para descargar (curl) e instalar los paquetes necesarios para Sysdig. Este comando también instala algunos módulos adicionales utilizados más adelante en este tutorial de la siguiente manera:

  • gnupg – El Guardián de Privacidad de GNU es una herramienta para comunicación segura y almacenamiento de datos. Este paquete permite la descarga de la clave pública de GPG de Sysdig para verificar la validez de los paquetes de Sysdig.
  • software-properties-common – Proporciona una forma rápida de administrar tus fuentes de software a través del entorno de línea de comandos o GUI. Este paquete te permite usar el comando add-apt-repository para agregar los repositorios de paquetes de Sysdig.
  • linux-headers-$(uname -r) – Proporciona los archivos necesarios para construir módulos de kernel para tu kernel en ejecución. Este paquete es necesario porque es posible que instales Sysdig en una máquina con un kernel stock más antiguo.
sudo apt install gnupg software-properties-common curl -y && sudo apt install linux-headers-$(uname -r) -y
Installing the Necessary Packages for Sysdig

3. Ejecuta el comando curl a continuación para agregar la clave pública GPG de Sysdig (GPG) a tu llavero APT. Este comando te permite verificar que los paquetes descargados de sysdig.com sean válidos y no estén modificados.

curl -s https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public | apt-key add -

Recibirás un mensaje de OK después de haber agregado correctamente la clave, como se muestra a continuación.

Adding the GPG key to APT”s Keyring

4. Ahora, ejecuta el comando curl a continuación para descargar silenciosamente (-s) los repositorios de Sysdig como draios.list y agregarlo a tu sistema. La extensión .list indica a tu APT que el archivo es una lista de URL para repositorios, en lugar de solo una URL.

curl -s -o /etc/apt/sources.list.d/draios.list http://download.draios.com/stable/deb/draios.list

5. Vuelve a ejecutar el comando apt update a continuación para descargar los nuevos repositorios de Sysdig y actualizar las listas de paquetes de APT con la información de los nuevos repositorios.

sudo apt update -y

Verás la siguiente salida si tu APT está configurado correctamente.

Updating your APT’s Package Lists

6. Después de descargar los repositorios de Sysdig, ejecuta el comando apt install a continuación para instalar sysdig en tu máquina. Este comando descarga e instala el paquete sysdig y sus paquetes de soporte.

sudo apt install sysdig -y
Installing Sysdig

7. Finalmente, ejecuta el comando sysdig a continuación para verificar la versión de Sysdig instalada en tu máquina.

sudo sysdig --version

El número de versión ayuda a determinar si tu paquete de Sysdig está actualizado. La versión también proporciona información sobre si el lanzamiento de Sysdig afecta el rendimiento del sistema.

Como se muestra a continuación, 0.28.0 es la última versión de sysdig hasta la fecha de esta redacción. Tu número de versión podría ser diferente.

Verifying Sysdig Version Installed

Monitoreo de sistemas Linux con csysdig

Ahora que tienes Sysdig instalado, puedes usar Sysdig para ver qué está sucediendo en tu sistema. La herramienta de línea de comandos de Sysdig tiene muchas opciones que te dan diferentes vistas de tu sistema y su actividad. El ejemplo más básico es el comando csysdig.

Ejecuta el comando csysdig sin ninguna opción para ver qué está sucediendo en tu sistema en este momento. El comando te mostrará la actividad de todos los procesos que se están ejecutando actualmente.

Ten en cuenta que debes ejecutar los comandos de Sysdig con privilegios de sudo para tener acceso completo a tu sistema. Algunas actividades del sistema pueden estar ocultas de forma predeterminada para los usuarios sin privilegios de root, como la salida del sistema de archivos /proc. Sysdig también requiere privilegios de sudo para cargar automáticamente los símbolos del kernel necesarios para realizar muchas de sus funciones, como el módulo del kernel sysdig-probe

sudo csysdig

Si encuentras el siguiente error, deberás reinstalar el paquete ncurses-term. El paquete ncurses-term tiende a corromperse después de una instalación fresca de Sysdig. Sysdig depende del paquete ncurses-term para admitir su interfaz de usuario ncurses.

Getting an Error while Running csysdig

Si el comando csysdig tiene éxito, obtendrás la siguiente salida organizada en pestañas.

Description
PID The Process ID that assigned by the Linux kernel. You use PIDs to identify and manage processes.
PPID The parent process ID of the process. You use PPID to trace the process back through its parent processes. Together, PID and PPID uniquely identify a process on your system.
CPU The percentage of CPU used by the application since it started can be seen on a scale from 0 to 100%, where 100% equals total CPU usage. You use CPU usage to find applications that are hogging system resources.
USER The name of the user that started the process. You use USER to find out who is executing a process you are interested in.
TH The name of the user that started the process. You use USER to find out who is executing a process you are interested in.
VIRT The total amount of virtual memory used by the application. You use VIRT to find applications that are hogging your system’s memory.
RES The number of resident memory pages a process has, as mapped to physical memory. You use RES to find applications that are hogging your system’s memory.
FILE The disk’s file descriptor used by the application. You use FILE to see which files are being read or written frequently, usually an indication of I/O activity.
NET The network socket descriptor used by the application. You use NET to see which network connections are being used by the process, and how much data is being transferred in bytes per second.
Command The network socket descriptor used by the application. You use NET to see which network connections are being used by the process, and how much data is being transferred in bytes per second.

Al primer vistazo, la interfaz de csysdig se asemeja a herramientas de monitoreo como htop.

Monitoring System Processes using Csysdig

Presiona F2 y las pestañas superiores cambiarán para mostrar un nuevo conjunto de información organizada en pestañas a la izquierda, como se muestra a continuación.

Sysdig llama a estas “vistas” porque son diferentes perspectivas del sistema, organizadas por el tipo de información que muestran, ofreciendo más contexto. Y dado que estas vistas están basadas en scripts LUA, puedes personalizar los scripts para extraer datos diferentes del sistema y cambiar la vista según tus preferencias.

Viewing System Information via the Csysdig Views

Por defecto, los scripts LUA se encuentran en el directorio /usr/share/sysdig/chisels, como se muestra a continuación.

ls /usr/share/sysdig/chisels
Listing files (scripts) in the /usr/share/sysdig/chisels directory

Monitoreando Procesos que Consumen CPU con Sysdig Chisels

Sysdig ofrece varios cinceles listos para usar que recopilan automáticamente información específica del sistema, conocidos como “cinceles.” Quizás estés experimentando un rendimiento lento en tu CPU. Si es así, ejecutar el comando sysdig con un cincel específico te permite ver qué aplicaciones/procesos están utilizando la mayor parte de tu CPU.

1. Ejecuta el comando sysdig a continuación para listar los cinceles disponibles.

sudo sysdig -cl

La captura de pantalla siguiente muestra solo algunos cinceles. Pero puedes encontrar y aprender la lista completa de todos los cinceles disponibles en la documentación.

Los cinceles de Sysdig también son scripts LUA. Puedes crear tus propios cinceles para monitorizar información específica del sistema o implementar tu propia vista, pero este tema está fuera del alcance de este tutorial.

Showing Sysdig Chisels

2. A continuación, ejecuta el siguiente comando para ver la información detallada (-i) sobre un cincel específico, como topprocs_cpu en este demo.

sudo sysdig -i topprocs_cpu

Puedes ver toda la información sobre el cincel topprocs_cpu a continuación, incluyendo el nombre del cincel, la categoría y una breve descripción de lo que hace el cincel.

En este ejemplo, el cincel topprocs_cpu está categorizado como Uso de CPU y muestra el proceso principal definido por la mayor utilización de CPU.

Una vez que entiendas la funcionalidad de un cincel, puedes comenzar a usarlo.

Showing All Information About the topprocs_cpu Chisel

3. Ejecuta el comando sysdig a continuación, especificando el cincel correcto (-c topprocs_cpu) para encontrar las aplicaciones que utilizan la mayor cantidad de CPU en tu sistema.

sudo sysdig -c topprocs_cpu

Sysdig captura los 10 procesos que consumen más CPU en este demo y los imprime en la terminal. El proceso más intensivo en CPU se mostrará en la parte superior (sshd), lo que los hace más rápidos de encontrar.

Listing the process defined by the highest CPU utilization.

Monitoreo de Información del Sistema Filtrada

En algunos casos, la salida es enorme, lo que dificulta filtrar la información del sistema basada en un cincel específico. Afortunadamente, Sysdig ofrece una poderosa opción de filtrado que utiliza la sintaxis Lua para que puedas realizar filtrados efectivos.

Supongamos que solo estás buscando procesos sshd que contribuyan a un alto uso de la CPU. Puedes definir una expresión de filtro por un PID específico o nombre de proceso.

Ejecuta el siguiente comando sysdig para mostrar solo el proceso sshd que utiliza mucha CPU.

sudo sysdig proc.name=sshd

Como se muestra a continuación, obtendrás una salida filtrada sin obtener ninguna otra información de proceso.

A partir de la salida, puedes obtener más información sobre el proceso sshd, como por qué el proceso sshd utiliza más CPU o memoria, y así sucesivamente.

Listing the SSHD process

Creando un archivo de registro de eventos para monitorear tu sistema

Una de las excelentes características que ofrece Sysdig son los archivos de registro de eventos, que te permiten recopilar toda la información sobre lo que hace tu aplicación o el sistema para su análisis posterior. Los archivos de registro de eventos proporcionan la misma información que las salidas de línea de comando en los ejemplos anteriores, pero se guardan en un archivo en el disco.

1. Ejecuta el siguiente comando para crear un archivo (-w) llamado ata.scap en tu directorio principal, donde Syslog almacenará todas las salidas de sysdig.

La extensión de archivo .scap permite guardar flujos de datos en forma de texto legible para humanos.

sudo sysdig -w ata.scap

2. A continuación, ejecuta el comando ls -la a continuación para listar todos los archivos en el directorio de trabajo.

ls -la

Notarás un nuevo archivo llamado ata.scap en tu directorio de inicio, como se muestra a continuación.

Listing All Files in Home Directory

3. Finalmente, ejecuta el siguiente comando para que Sysdig lea (-r) el archivo de registro de eventos de Sysdig (ata.scap) e imprima el comportamiento de tu sistema cuando te conectas por SSH a tu servidor.

sudo sysdig -r ata.scap
Viewing the ata.scap File

Conclusión

En este artículo, aprendiste cómo instalar Sysdig en Ubuntu 20.04 y cómo usar csysdig para recopilar información sobre tu sistema, aplicaciones y seguridad. También exploraste la creación de un archivo de registro de eventos que te permite grabar el comportamiento de tu sistema.

En este punto, te has dado cuenta de que tener Sysdig instalado en tu sistema te proporciona herramientas potentes. Y estas herramientas te ayudan a obtener más información sobre cómo funciona tu sistema, aplicaciones e infraestructura.

Ahora, con este nuevo conocimiento, ¿por qué no aprender a decodificar tu tráfico HTTP con Sysdig? ¿O cómo rastrear cuellos de botella de aplicaciones con trazadores Sysdig?

Source:
https://adamtheautomator.com/sysdig/