SYSDIG una potente herramienta de monitoreo y solución de problemas para Linux

SYSDIG una potente herramienta de monitoreo y solución de problemas para Linux

Sysdig es una herramienta de monitorización de sistemas y solución de problemas de código abierto, multiplataforma, potente y flexible para Linux; También funciona en Windows y Mac OSX pero con funcionalidad limitada y puede usarse para el análisis del sistema, la inspección y la depuración.

Normalmente, emplearía una combinación de varias herramientas de monitoreo y solución de problemas de rendimiento de Linux, incluidas las que se enumeran a continuación para realizar las tareas de monitoreo y depuración de Linux:

  1. Strace: descubra las llamadas y señales del sistema a un proceso.
  2. TCPDUMP - Monitoreo de tráfico de red en bruto.
  3. NetStat - Monitoreo de conexiones de red.
  4. HTOP - Monitoreo de procesos en tiempo real.
  5. IFTOP - Monitoreo de ancho de banda de red en tiempo real.
  6. LSOF - Ver qué archivos se abren mediante qué proceso.

Sin embargo, sysdig Integra lo que todas las herramientas anteriores y muchas más, ofrecen en un programa simple y simple, más aún con un sorprendente soporte de contenedores. Le permite capturar, guardar, filtrar y examinar el comportamiento real (flujo de eventos) de los sistemas Linux y los contenedores.

Viene con una interfaz de línea de comando y una poderosa interfaz de usuario interactiva (csysdig) que le permiten observar la actividad del sistema en tiempo real, o realizar un volcado de rastreo y ahorrar para un análisis posterior. Puedes ver cómo funciona Csysdig en el siguiente video.

Características de Sysdig:

  • Es rápido, estable y fácil de usar con bien documentado.
  • Viene con soporte nativo para tecnologías de contenedores, incluidos Docker, LXC.
  • Es scriptable en Lua; Ofrece cinceles (scripts lua livianos) para procesar eventos del sistema capturado.
  • Admite un filtrado útil de la salida.
  • Admite el rastreo del sistema y la aplicación.
  • Se puede integrar con Ansible, Puppet y Logstash.
  • Habilitar el análisis de registro avanzado de muestra.
  • También ofrece características de análisis de Attack del servidor Linux (forense) para hackers éticos y lot More.

En este artículo, mostraremos cómo instalar SYSDIG en un sistema Linux y usarlo con ejemplos básicos de análisis, monitoreo y solución de problemas del sistema.

Cómo instalar Sysdig en Linux

Instalación sysdig El paquete es tan fácil como ejecutar el comando a continuación, que verificará todos los requisitos; Si todo está en su lugar, descargará e instalará el paquete desde el repositorio Draros APT/YUM.

# curl -s https: // s3.amazonaws.com/descargar.droios.com/stable/install-sysdig | bash o $ curl -s https: // s3.amazonaws.com/descargar.droios.com/stable/install-sysdig | sudo Bash 

Después de instalarlo, debe ejecutar sysdig como raíz porque requiere acceso a áreas críticas como /Proc sistema de archivos, /dev/sysdig* dispositivos y necesidades de cargar automáticamente el módulo de núcleo SysDig-Probe (en caso de que no lo sea); De lo contrario, use el comando sudo.

El ejemplo más básico es ejecutarlo sin ningún argumento, esto le permitirá ver el flujo de eventos de su sistema Linux actualizado en tiempo real:

$ sudo sysdig 
Ver eventos del sistema Linux

La salida anterior (datos sin procesar) quizás no tenga mucho sentido para usted, para una salida de salida más útil csysdig:

$ sudo csysdig 
Monitorear eventos del sistema Linux

Nota: Para obtener la sensación real de esta herramienta, debe usar sysdig que produce datos sin procesar como vimos antes, desde un sistema de Linux en ejecución: esto requiere que comprenda cómo usar filtros y cinceles.

Pero si necesita un medio indoloro de usar sysdig - continua con csysdig.

Comprender cinceles y filtros de Sysdig

Cinceles de sysdig son scripts de Lua mínimos para examinar la transmisión de eventos de Sysdig para llevar a cabo acciones útiles de solución de problemas y más. El siguiente comando lo ayudará a ver todos los cinceles disponibles:

$ sudo sysdig -cl 

La captura de pantalla muestra una lista de muestras de cinceles en diferentes categorías.

Ver cinceles Sysdig

Si desea obtener más información sobre un cincel en particular, use el -i bandera:

$ sudo sysdig -i topprocs_cpu 
Ver información de cincel de sysdig

Los filtros de sysdig agregan más potencia al tipo de salida que puede obtener de las transmisiones de eventos, le permiten personalizar la salida. Debe especificarlos al final de una línea de comando.

Un filtro sencillo y común es un básico "clase.campo = valor"Verifique, también puede combinar cinceles con filtros para personalizaciones aún más potentes.

Para ver una lista de clases de campo, campos y sus descripciones disponibles, Tipo:

$ sudo sysdig -l 
Ver clases de campo Sysdig

Creación del archivo de traza de Sistema de Linux

Para volcar la salida de sysdig en un archivo para un análisis posterior, use el -w bandera como esta.

Puede leer el archivo de volcado de rastreo utilizando el -riñonal bandera:

$ sudo sysdig -r traza.escuadra 

El -s La opción se utiliza para especificar la cantidad de bytes de datos que se capturarán para cada evento del sistema. En este ejemplo, estamos filtrando eventos para el mongod proceso.

$ sudo sysdig -s 3000 -W traza.scap $ sudo sysdig -r traza.proceso de scap.Nombre = mongod 
Crear un archivo traza de MongoDB

Monitoreo de procesos de Linux

Para enumerar los procesos del sistema, escriba:

$ sudo sysdig -c ps 
Monitorear los procesos de Linux

Monitorear los procesos por uso de la CPU

Para ver los procesos superiores por porcentaje de uso de la CPU, ejecute este comando:

$ sudo sysdig -c topprocs_cpu 
Monitorear los procesos por uso de la CPU

Monitoreo de conexiones de red y E/S

Para ver las conexiones de red del sistema, ejecute:

$ sudo sysdig -c netstat 
Monitorear las conexiones de red

El siguiente comando lo ayudará a enumerar las mejores conexiones de red por bytes totales:

$ sudo sysdig -c topconns 

A continuación, también puede enumerar los procesos superiores por E/S de red de la siguiente manera:

$ sudo sysdig -c topprocs_net 

Monitoreo de E/S del archivo del sistema

Puede generar los datos leídos y escritos por procesos en el sistema como se muestra a continuación:

$ sudo sysdig -c echo_fds 
Sistema de monitor IO

Para enumerar los procesos superiores de (leer + escribir) bytes de disco, use:

$ sudo sysdig -c topprocs_file 

Solución de problemas de rendimiento del sistema Linux

Para vigilar los cuellos de botella del sistema (llamadas lentas del sistema), ejecute este comando:

$ sudo sysdig -c cuellos de botella 
Solucionar problemas de rendimiento de Linux

Rastrear la hora de ejecución de un proceso

Para rastrear la hora de ejecución de un proceso, puede ejecutar este comando y volcar el rastreo en un archivo:

$ sudo sysdig -w extime.scap -c proc_exec_time 
Track Tiempo de ejecución del proceso

Luego use un filtro a cero en detalles de un proceso particular (post -put en este ejemplo) como sigue:

$ sudo sysdig -r extime.proceso de scap.nombre = Postgres 

Descubra la red lenta I/0

Este simple comando lo ayudará a detectar la red lenta I/0:

$ sudo sysdig -c netlower 

Viendo entradas de archivo de registro

El siguiente comando le ayuda a mostrar cada mensaje escrito en Syslog, si está interesado en las entradas de registro para un proceso específico, cree un volcado de rastreo y lo filtre en consecuencia como se muestra anteriormente:

$ sudo sysdig -c spy_syslog 

Puede imprimir cualquier dato escrito por cualquier proceso en un archivo de registro de la siguiente manera:

$ sudo sysdig -c spy_logs 

Monitoreo de solicitudes de servidor HTTP

Si tiene un servidor HTTP como Apache o Nginx en nuestro sistema, mire a través del registro de solicitudes del servidor con este comando:

$ sudo sysdig -c httplog $ sudo sysdig -c httptop [Imprimir solicitudes de http top] 
Monitorear las solicitudes HTTP

Mostrar capas de inicio de sesión y actividad interactiva del usuario

El comando a continuación le habilitará que vea todos los ID de shell de inicio de sesión:

$ sudo sysdig -c list_login_shells 

Por último, pero no menos importante, puede mostrar actividad interactiva de usuarios del sistema como así:

$ sudo sysdig -c spy_users 
Monitorear la actividad del usuario

Para obtener más información y ejemplos de uso, lea las páginas de Sysdig y Csysdig Man:

$ man sysdig $ man csysdig 

Referencia: https: // www.sysdig.org/

También verifique estas útiles herramientas de monitoreo de rendimiento de Linux:

  1. BCC - Herramientas de rastreo dinámico para el monitoreo de rendimiento de Linux, redes y más
  2. Pydash: una herramienta de monitoreo de rendimiento de Linux basada en la web
  3. Perf- Una herramienta de monitoreo y análisis de rendimiento para Linux
  4. Collectl: una herramienta avanzada de monitoreo de rendimiento todo en uno para Linux
  5. NetData: una herramienta de monitoreo de rendimiento en tiempo real para sistemas Linux
Conclusión

Sysdig reúne funcionalidades de numerosas herramientas de línea de comandos en una interfaz notable, lo que le permite profundizar en los eventos de su sistema de Linux para recopilar datos, guarda para un análisis posterior y ofrece un increíble soporte de contenedores.

Para hacer cualquier pregunta o compartir cualquier idea sobre esta herramienta, use el formulario de comentarios a continuación.