Sysdig. es una herramienta de solución de problemas y supervisión del sistema de código abierto, multiplataforma, potente y flexible para Linux; también funciona en Windows y Mac OSX, pero con una funcionalidad limitada y se puede utilizar para el análisis, la inspección y la depuración del sistema.
Normalmente, utilizaría una combinación de varias herramientas de resolución de problemas y supervisión del rendimiento de Linux, incluidas las que se enumeran a continuación para realizar las tareas de supervisión y depuración de Linux:
- strace: descubre las llamadas y señales del sistema a un proceso.
- tcpdump: supervisión del tráfico de red sin procesar.
- netstat-monitoreo de conexiones de red.
- htop-monitoreo de procesos en tiempo real.
- iftop-monitoreo de ancho de banda de red en tiempo real.
- lsof-ver qué archivos están abierto por qué proceso.
Sin embargo, sysdig. integra lo que todas las herramientas anteriores y muchas más ofrecen en un programa único y simple, más aún con una increíble compatibilidad con 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 comandos 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 guardarlo para un análisis posterior. Puede ver cómo funciona csysdig en el siguiente video.
Características de Sysdig:
- Es rápido, estable y fácil de usar con una completa documentado.
- Viene con soporte nativo para tecnologías de contenedor, incluyendo Docker, LXC.
- Es programable en Lua; ofrece cinceles (scripts de Lua livianos) para procesar los eventos capturados del sistema.
- Admite un filtrado útil de la salida.
- Admite el seguimiento del sistema y de las aplicaciones.
- Se puede integrar con Ansible, Puppet y Logstash.
- Habilite el análisis de registro avanzado de muestra.
- También ofrece funciones de análisis de ataques al servidor Linux (forense) para piratas informáticos éticos y mucho más.
En este artículo, mostraremos cómo instalar sysdig en un sistema Linux y usarlo con ejemplos básicos de análisis, monitoreo y resolución de problemas del sistema.
Table of Contents
Cómo instalar Sysdig en Linux
freestar.config.enabled_slots.push
Instalar el paquete sysdig. es tan fácil como ejecutar el siguiente comando, consultar todos los requisitos; si todo está en su lugar, descargará e instalará el paquete desde el repositorio APT/YUM de Draios.
# curl-s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | bash O
$ curl-s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash
Después de instalarlo, debe ejecutar sysdig. como root porque requiere acceso a áreas críticas como el sistema de archivos /proc. /dev/sysdig *. y necesita cargar automáticamente el módulo del kernel sysdig-probe (en caso de que no lo esté); 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 más útil ejecute csysdig.
$ sudo csysdig Monitor Linux S Eventos de ystem
Nota. para tener una idea real de esta herramienta, debe usar sysdig. que produce datos sin procesar como vimos antes, desde un sistema Linux en ejecución: esto requiere que comprenda cómo usar filtros y cinceles.
Pero si necesita un medio sencillo de usar sysdig. continúe con csysdig.
Comprensión de los cinceles y filtros de Sysdig
Los cinceles de Sysdig. son scripts mínimos de Lua para examinar el flujo de eventos de sysdig para llevar a cabo un sistema útil acciones de resolución de problemas y más. El siguiente comando le ayudará a ver todos los cinceles disponibles:
$ sudo sysdig-cl
La captura de pantalla muestra una lista de muestra de cinceles en diferentes categorías.
Ver cinceles de Sysdig
Si desea obtener más información sobre un cincel en particular, use la marca-i:
$ sudo sysdig-i topprocs_cpu Ver información de cincel de Sysdig
Filtros de Sysdig agregan más potencia al tipo de salida que puede obtener de los flujos de eventos, le permiten personalizar la salida. Debe especificarlos al final de una línea de comando.
Un filtro sencillo y común es una verificación básica de “ class.field = value. , también puede combinar cinceles con filtros para personalizaciones aún más potentes.
Para ver una lista de las clases de campo disponibles, los campos y sus descripciones, escriba:
$ sudo sysdig-l
Ver clases de campo de Sysdig Creando un archivo de seguimiento del sistema Linux
Para volcar la salida de sysdig en un archivo para un análisis posterior, use el indicador-w de esta manera.
Puede leer el archivo de volcado de seguimiento usando el -r. bandera:
$ sudo sysdig-r trace.scap
La opción-s se usa 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 proceso mongod.
$ sudo sysdig-s 3000-w trace.scap $ sudo sysdig-r trace.scap proc.name = mongod Crear procesos de Linux de monitoreo de archivos de seguimiento MongoDB
Para enumerar los procesos del sistema, escriba:
$ sudo sysdig-c ps Supervisar los procesos de Linux Supervisar los procesos por uso de CPU
Para ver los principales procesos por porcentaje de uso de CPU, ejecute este comando :
$ sudo sysdig-c topprocs_cpu
Monitorear procesos por uso de CPU Monitoreo de conexiones de red y E/S
Para ver las conexiones de red del sistema, ejecute:
$ sudo sysdig-c netstat Supervisar las conexiones de red
El siguiente comando le ayudará a enumerar las principales conexiones de red por bytes totales:
$ sudo sysdig-c topconns
A continuación, también puede enumerar los principales procesos por red E/S de la siguiente manera:
$ sudo sysdig-c topprocs_net E/S de archivos del sistema de supervisión
Puede generar los datos leídos y escritos por los procesos en el sistema de la siguiente manera:
$ sudo sysdig-c echo_fds Monitor del sistema IO
Para enumerar los principales procesos por (leer + escribir) bytes de disco, use:
$ s udo sysdig-c topprocs_file Solución de problemas de rendimiento del sistema Linux
Para vigilar los cuellos de botella del sistema (llamadas lentas al sistema), ejecute este comando:
$ sudo sysdig-c bottlenecks Solucionar problemas del tiempo de ejecución de seguimiento de rendimiento de Linux de un proceso
Para realizar un seguimiento del tiempo de ejecución de un proceso, puede ejecutar este comando y volcar el seguimiento en un archivo:
$ sudo sysdig-w extime.scap-c proc_exec_time Seguimiento de la ejecución del proceso Tiempo
Luego, use un filtro para reducir a cero los detalles de un proceso en particular ( postgres. en este ejemplo) de la siguiente manera:
$ sudo sysdig-r extime.scap proc.name = postgres Descubrir I/0 de red lenta
Este sencillo comando le ayudará a detectar I/0 de red lenta:
$ sudo sysdig-c netlower Observación de entradas de archivos de registro
El siguiente comando le ayuda a mostrar todos los mensajes escritos en syslog, si está interesado en las entradas de registro para un proceso específico, cree un volcado de seguimiento y filtre como se muestra antes:
$ 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 del servidor HTTP
Si tiene un servidor HTTP como Apache o Nginx ejecutándose en nuestro sistema, revise el registro de solicitudes del servidor con este comando:
$ sudo sysdig-c httplog $ sudo sysdig-c httptop [Imprimir solicitudes HTTP superiores] Supervisar solicitudes HTTP Mostrar shells de inicio de sesión y actividad de usuario interactiva
El siguiente comando le permitirá ver todos los ID de shell de inicio de sesión:
$ su do sysdig-c list_login_shells
Por último, pero no menos importante, puede mostrar la actividad interactiva de los usuarios del sistema así:
$ sudo sysdig-c spy_users Supervisar la actividad del usuario
Para obtener más información de uso y ejemplos, lea las páginas de manual de sysdig y csysdig:
$ man sysdig $ man csysdig
Referencia: https://www.sysdig. org/
Consulte también estas útiles herramientas de supervisión del rendimiento de Linux: