Su sistema Linux es una excelente plataforma para servidores y escritorios. Pero como cualquier otro sistema complejo, contar con un monitoreo adecuado es crucial para mantener su sistema en su punto máximo. Afortunadamente, ¡Sysdig está a la vuelta de la esquina!
Sysdig es una herramienta integral de monitoreo de Linux que puede monitorear su sistema en busca de amenazas, errores, patrones de uso y mucho más. Y en este tutorial, aprenderá a instalar Sysdig mientras resalta opciones de configuración particulares en el camino sobre cómo monitorear mejor su sistema Linux.
¡Siga leyendo y nunca más se pierda una "alerta"!
Requisitos previos
Este tutorial será una demostración práctica. Si desea seguirnos, asegúrese de tener lo siguiente.
- Una máquina con Linux:este tutorial usa Ubuntu 20.04 LTS, pero cualquier distribución de Linux funcionará.
- Un usuario no root con privilegios sudo.
Instalación de Sysdig en Linux
La herramienta de línea de comandos Sysdig suele estar disponible en la mayoría de las distribuciones modernas de Linux, y puede instalar Sysdig como otros paquetes que ha instalado hasta ahora en su máquina.
1. Abra su terminal y ejecute el apt update
Comando a continuación para asegurarse de tener las últimas actualizaciones de los repositorios de su distribución. Este comando actualiza las listas de paquetes de su sistema y puede tardar unos minutos en completarse.
sudo apt update -y
2. A continuación, ejecute el apt install
comando a continuación para descargar (curl
) y install
los paquetes necesarios para Sysdig. Este comando también instala algunos módulos adicionales que se usarán más adelante en este tutorial de la siguiente manera:
gnupg
– GNU Privacy Guard es una herramienta para la comunicación segura y el almacenamiento de datos. Este paquete permite descargar la clave GPG pública de Sysdig para verificar la validez de los paquetes de Sysdig.
software-properties-common
– Proporciona una forma rápida de administrar sus fuentes de software a través del entorno de línea de comandos o GUI. Este paquete le permite usar eladd-apt-repository
comando para agregar los repositorios de paquetes de Sysdig.
linux-headers-$(uname -r)
– Proporciona los archivos necesarios para crear módulos de kernel para su kernel en ejecución. Este paquete es necesario porque es posible que instale Sysdig en una máquina con un núcleo de stock más antiguo.
sudo apt install gnupg software-properties-common curl -y && sudo apt install linux-headers-$(uname -r) -y
3. Ejecute el curl
Comando a continuación para agregar la clave pública GPG de Sysdig (GPG
) al llavero de su APT. Este comando le permite verificar que los paquetes descargados de sysdig.com sean válidos y no hayan sido modificados.
curl -s https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public | apt-key add -
Recibirá un mensaje de Aceptar una vez que haya agregado correctamente la clave, como se muestra a continuación.
4. Ahora, ejecuta el curl
comando a continuación para en silencio (-s
) descargue los repositorios de Sysdig como draios.list
y añádelo a tu sistema. El .list
extensión le dice a su 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. Vuelva a ejecutar el apt update
comando a continuación para descargar los nuevos repositorios de Sysdig y actualizar las listas de paquetes de su APT con la información de los nuevos repositorios.
sudo apt update -y
Verá el siguiente resultado si su APT está configurado correctamente.
6. Después de descargar los repositorios de Sysdig, ejecute el apt install
comando a continuación a install sysdig
en su máquina. Este comando descarga e instala el sysdig
paquete y sus paquetes de apoyo.
sudo apt install sysdig -y
7. Finalmente, ejecuta el sysdig
Comando a continuación para verificar la versión de Sysdig instalada en su máquina.
sudo sysdig --version
El número de versión ayuda a determinar si su paquete de Sysdig está actualizado. La versión también da una idea de si el lanzamiento de Sysdig afecta o no el rendimiento del sistema.
Como se muestra a continuación, 0.28.0 es la última versión de sysdig en el momento de escribir este artículo. Su número de versión puede ser diferente.
Monitoreo de sistemas Linux con csysdig
Ahora que tiene Sysdig instalado, puede usar Sysdig para ver qué está pasando con su sistema. La herramienta de línea de comandos Sysdig tiene muchos indicadores que le brindan diferentes vistas de su sistema y su actividad. El ejemplo más básico es el csysdig
comando.
Ejecute el comando csysdig
sin ningún indicador para ver lo que está sucediendo en su sistema en este momento. El comando le mostrará la actividad de todos los procesos que se están ejecutando actualmente.
Tenga en cuenta que debe ejecutar los comandos de Sysdig con
sudo
privilegio de tener acceso total a su sistema. Algunas actividades del sistema pueden estar ocultas de forma predeterminada para los usuarios no root, como la salida del sistema de archivos /proc. Sysdig también requieresudo
privilegios para cargar automáticamente los símbolos del kernel necesarios para hacer muchos de sus trucos, como el módulo del kernel sysdig-probe
sudo csysdig
Si encuentra el siguiente error, deberá reinstalar el ncurses-term
paquete. El ncurses-term
El paquete tiende a corromperse después de una nueva instalación de Sysdig. Sysdig depende del ncurses-term
paquete para admitir su interfaz de usuario ncurses.
Si el csysdig
el comando es exitoso, obtendrá el siguiente resultado organizado en pestañas.
Descripción | |
PID | El ID de proceso asignado por el kernel de Linux. Utiliza PID para identificar y administrar procesos. |
IDPP | El ID del proceso principal del proceso. Utiliza PPID para rastrear el proceso a través de sus procesos principales. Juntos, PID y PPID identifican de forma única un proceso en su sistema. |
CPU | El porcentaje de CPU utilizado por la aplicación desde que se inició se puede ver en una escala de 0 a 100 %, donde 100 % equivale al uso total de CPU. Utiliza el uso de la CPU para encontrar aplicaciones que están acaparando los recursos del sistema. |
USUARIO | El nombre del usuario que inició el proceso. Utiliza USUARIO para averiguar quién está ejecutando un proceso que le interesa. |
TH | El nombre del usuario que inició el proceso. Utiliza USUARIO para averiguar quién está ejecutando un proceso que le interesa. |
VIRT | La cantidad total de memoria virtual utilizada por la aplicación. Utiliza VIRT para encontrar aplicaciones que están acaparando la memoria de su sistema. |
RES | El número de páginas de memoria residente que tiene un proceso, según lo asignado a la memoria física. Utiliza RES para encontrar aplicaciones que están acaparando la memoria de su sistema. |
ARCHIVO | El descriptor de archivo del disco utilizado por la aplicación. Utiliza FILE para ver qué archivos se leen o escriben con frecuencia, generalmente una indicación de la actividad de E/S. |
NETO | El descriptor de socket de red utilizado por la aplicación. Utiliza NET para ver qué conexiones de red está utilizando el proceso y cuántos datos se están transfiriendo en bytes por segundo. |
Comando | El descriptor de socket de red utilizado por la aplicación. Utiliza NET para ver qué conexiones de red está utilizando el proceso y cuántos datos se están transfiriendo en bytes por segundo. |
A primera vista, la interfaz de csysdig se parece a herramientas de monitoreo como htop.
Presione 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 vistas del sistema, organizadas por el tipo de información que muestran, que ofrecen más contexto. Y dado que estas vistas están basadas en secuencias de comandos LUA, puede personalizar las secuencias de comandos para extraer diferentes datos del sistema y cambiar la vista como prefiera.
De forma predeterminada, los scripts LUA se encuentran en /usr/share/sysdig/chisels directorio, como se muestra a continuación.
ls /usr/share/sysdig/chisels
Supervisión de 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é experimentando un rendimiento lento en su CPU. Si es así, ejecuta el sysdig
El comando con un cincel específico le permite ver qué aplicaciones/procesos están ocupando la mayor parte de su uso de CPU.
1. Ejecute el sysdig
Comando a continuación para enumerar los cinceles disponibles.
sudo sysdig -cl
La siguiente captura de pantalla muestra solo algunos cinceles. Pero puede encontrar y aprender la lista completa de todos los cinceles disponibles en la documentación oficial.
Los cinceles Sysdig también son secuencias de comandos LUA. Puedes cree sus propios cinceles para monitorear información específica del sistema o implementar su propia vista, pero este tema está más allá del alcance de este tutorial.
2. A continuación, ejecute el siguiente comando para ver la información detallada (-i
) sobre un cincel específico, como topprocs_cpu
en esta demostración.
sudo sysdig -i topprocs_cpu
Puede ver toda la información sobre el cincel topprocs_cpu a continuación, incluido el nombre del cincel, la categoría y una breve descripción de lo que hace.
En este ejemplo, el cincel topprocs_cpu se categoriza como Uso de CPU y muestra el proceso superior definido por la mayor utilización de CPU.
Una vez que comprenda la funcionalidad de un cincel, puede comenzar a usarlo.
3. Ejecute el sysdig
comando a continuación, especificando el cincel derecho (-c topprocs_cpu
) para encontrar las aplicaciones que usan la mayor cantidad de CPU en su sistema.
sudo sysdig -c topprocs_cpu
Sysdig captura los 10 principales procesos que consumen CPU en esta demostración y los imprime en la terminal. Los procesos con mayor uso de CPU se mostrarán en la parte superior (sshd), lo que los hará más rápidos de encontrar.
Supervisión de la información filtrada del sistema
En algunos casos, la salida es enorme, lo que dificulta filtrar la información del sistema en función de un cincel específico. Afortunadamente, Sysdig ofrece una potente opción de filtrado que utiliza la sintaxis de Lua para que pueda realizar un filtrado efectivo.
Suponga que solo está buscando procesos sshd que contribuyan a un alto uso de la CPU. Puede definir una expresión de filtro por un PID específico o nombre de proceso.
Ejecute el siguiente sysdig
comando para mostrar solo el sshd
proceso que usa mucha CPU.
sudo sysdig proc.name=sshd
Como se muestra a continuación, obtendrá una salida filtrada sin obtener ninguna otra información del proceso.
A partir del resultado, puede obtener más información sobre el proceso sshd, como por qué el proceso sshd usa más CPU o memoria, etc.
Crear un archivo de registro de eventos para monitorear su sistema
Una de las excelentes características que ofrece Sysdig son los archivos de registro de eventos, que le permiten recopilar toda la información sobre lo que hace su aplicación o el sistema para su posterior análisis. Los archivos de registro de eventos proporcionan la misma información que los resultados de la línea de comandos en los ejemplos anteriores, pero se guardan en un archivo en el disco.
1. Ejecute el siguiente comando para crear un archivo (-w
) llamado ata.scap
en su directorio de inicio, donde Syslog almacenará todos los sysdig
salidas.
La extensión de archivo .scap permite guardar flujos de datos en forma de texto legible por humanos.
sudo sysdig -w ata.scap
2. A continuación, ejecute el ls -la
Comando a continuación para enumerar todos los archivos en el directorio de trabajo.
ls -la
Notará un nuevo archivo llamado ata.scap en su directorio de inicio, como se muestra a continuación.
3. Finalmente, ejecute el siguiente comando para que Sysdig lo lea (-r
) el archivo de registro de eventos de Sysdig (ata.scap
) e imprima el comportamiento de su sistema cuando ingrese a su servidor mediante SSH.
sudo sysdig -r ata.scap
Conclusión
En este artículo, aprendió cómo instalar Sysdig en Ubuntu 20.04 y usar csysdig para recopilar su sistema, aplicaciones e información de seguridad. También se refirió a la creación de un archivo de registro de eventos que le permita registrar el comportamiento de su sistema.
En este punto, se ha dado cuenta de que tener Sysdig instalado en su sistema le brinda herramientas poderosas. Y estas herramientas lo ayudan a obtener más información sobre cómo funcionan su sistema, sus aplicaciones y su infraestructura.
Ahora, con este nuevo conocimiento, ¿por qué no aprender a decodificar su tráfico HTTP con Sysdig? ¿O cómo rastrear los cuellos de botella de las aplicaciones con los rastreadores de Sysdig?