GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar Sysdig en Linux para monitorear la carga del sistema

Aquí veremos los pasos para instalar Sysdig, una herramienta de monitoreo de servidor o sistema Linux en CentOS, Redhat, Debian   Ubuntu 20.04/18.04/16.04 junto con otras versiones que no son LTS, incluidas Linux Mint y Elementary OS.

¿Qué es la herramienta de supervisión de Sysdig Linux?

Sysdig es una herramienta alternativa de código abierto para top, iotop, iftop, strace, tcpdump, htop, iftop, lsof y rastreo de transacciones. Proporciona una descripción completa del uso de CPU, memoria, E/S, usuarios y más directamente en el terminal de comando en una interfaz bien estructurada. Sysdig se puede instalar en casi todos los sistemas operativos, incluso en Windows y OS X.

requisitos

  • Servidor Ubuntu o escritorio
  • Para ejecutar todos los comandos en este tutorial como uno debe tener acceso de usuario root o con un usuario no root con derechos sudo .

Paso 1:Actualizar el sistema

Ejecute el comando de actualización del sistema para asegurarse de que todo el repositorio y otros paquetes instalados estén en su estado más reciente.

sudo apt update

Paso 2:Instale Sysdig en varios sistemas Linux

Ubuntu 20.04/18.04 o anterior

En el último sistema operativo de Ubuntu y Linux Mint, no necesitamos agregar ningún repositorio y podemos instalar Sysdig usando un solo comando, es decir,

sudo apt install sysdig

Sin embargo, en Debian y otras distribuciones de Linux basadas en él, ejecute el siguiente script que no solo agregará su repositorio sino que también instalará Sysdig.

Antes de la secuencia de comandos, ejecute el comando para instalar curl y otras propiedades comunes del software que ayudan a APT a administrar el software de diferentes fuentes de manera eficiente.

sudo apt -y install software-properties-common curl
curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

La instalación está completamente automatizada y no requiere más intervención.

Instalación de Sysdig en CentOS, RHEL, Fedora, Amazon Linux

Agrega el repositorio yum

sudo rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public
sudo curl -s -o /etc/yum.repos.d/draios.repo https://s3.amazonaws.com/download.draios.com/stable/rpm/draios.repo
sudo yum -y install sysdig

o

sudo dnf -y install sysdig

Instalación de Sysdig en CentOS

Instalación de Docker Sysdig

docker pull sysdig/sysdig
docker run -i -t --name sysdig --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro sysdig/sysdig

Paso 3:Cómo usar los comandos de Sysdig

El primer comando simple de Sysdig para ver el proceso en ejecución, el consumo de memoria por parte de ellos y más; simplemente escriba:

sudo csysdig

Lo estamos ejecutando con sudo porque Sysdig necesita acceder a un área crucial del sistema, como el sistema de archivos /proc, los dispositivos /dev/sysdig* y más, para brindarle la carga actual y otra información.

Verá algo como el siguiente resultado...

PID :PID de proceso.
CPU :Cantidad de CPU usada por el proceso.
TH :Número de hilos que contiene el proceso.
VIRT :Memoria virtual total para el proceso.
RES :Memoria residente no intercambiada para el proceso.
ARCHIVO :ancho de banda de E/S de archivo total (entrada+salida) generado por el proceso, en bytes por segundo.
NET :Ancho de banda de E/S de red total (entrada+salida) generado por el proceso, en bytes por segundo.
Comando :La línea de comando completa del proceso

Comando Sysdig para ver el proceso del sistema

En la captura de pantalla anterior , puede ver los procesos que se están ejecutando actualmente, el comando y su impacto en la utilización del sistema (CPU y carga de memoria). El menú o la asignación de teclas se encuentra en la parte inferior. Presionando  F2 aparecerá otro menú, aquí puede elegir lo que desea ver.

Comando rápido Sysdig para monitorear el sistema Linux

Puedes ver en la captura de pantalla anterior las cosas clave que necesitamos monitorear se muestran en el panel lateral izquierdo en la terminal de Comando. Con las teclas de flecha, puede elegir lo que le interese y luego presionar Entrar tecla que cambiará la interfaz al filtro correspondiente.

Por ejemplo, para probar las conexiones hemos seleccionado eso y se muestra lo siguiente.

Monitoreo de conexiones usando Sysdig

Esto le muestra qué conexiones están actualmente conectadas al servidor, por ejemplo, sesiones SSH activas junto con el servidor de medios plex. Si desea profundizar más para saber más al respecto, presione F6 .

Análisis de profundidad de las conexiones de red

De la misma manera, seleccione Errores La opción mostrará todos los procesos que han fallado. Se ordenan según la frecuencia con la que ocurren.

Para conocer el proceso y la CPU total utilizada por ellos, seleccione la opción "CPU de proceso ” y presiona Entrar Clave.

PID :PID del proceso.
TOT :cantidad total de CPU utilizada por el proceso (usuario + sistema).
USUARIO :Cantidad de CPU de usuario utilizada por el proceso.
SYS :Cantidad de CPU del sistema utilizada por el proceso.
SYSCALLS :Número de llamadas al sistema por segundo realizadas por el proceso.
Comando :La línea de comando completa del proceso.

proceso y CPU total

En Lista de archivos abiertos , por ejemplo, encontrará una lista de todos los archivos a los que se está accediendo actualmente y quién o qué programa está accediendo a ellos.

E/S por tipo:  le muestra qué proceso o qué disparador está escribiendo y leyendo actualmente cuánto en el soporte de datos. Se trata de la tasa de transferencia, la cantidad total de datos movidos no se puede ver aquí.

ENTRADA DE BPS: Bytes por segundo leídos de los FD del tipo específico.
BPS OUT :bytes por segundo escritos en los FD del tipo específico.
IOPS :Número de operaciones de E/S para la categoría de E/S especificada. Esto cuenta todas las operaciones en el archivo, incluidas abrir, cerrar, leer, escribir, estadísticas, etc. Como consecuencia, este valor puede ser cero que no sea K8s Services incluso si los bytes de E/S para el archivo son cero.
TIEMPO :tiempo que dedican los procesos a realizar cualquier operación de E/S (incluida la espera) de este tipo.
Tipo de E/S :Tipo de E/S. Puede ser de archivo, directorio, ipv4, ipv6, pipe, Unix, señal, evento, inotifMesos Frameworks y

E/S por tipo

Bajo  Usuarios espía , encontrará una lista de todos los procesos que han llamado los usuarios, no el sistema ni otros procesos. Aquí puede ver las listas de todos los comandos que se ejecutan de forma interactiva, es decir, que tienen un shell como proceso principal. El resultado de Archivos es la visualización de toda la actividad del usuario, ordenada por tiempo.

TIEMPO :Hora en que se ejecutó el comando.
USUARIO :Nombre del usuario que ejecuta el comando.
SHELL :Pid del shell donde se ejecutó este comando. Esto, esencialmente, corresponde a una 'ID de sesión'. Puede archivar u ordenar por esta columna para aislar una sesión de usuario interactiva específica.
Comando :El comando ejecutado, incluidos los argumentos.

Del mismo modo , podemos explorar otras opciones para monitorear nuestros sistemas Linux.

Si desea obtener algunos detalles particulares del sistema, como la CPU, la red y más, también puede usar el comando directo correspondiente. Al igual que en la versión de línea de comandos pura, hay tantas configuraciones, variables y filtros que no quiero enumerarlos todos aquí. Puede encontrar una lista completa de todas las funciones en el Sysdig Wiki oficial.

Estos son algunos de ellos:

Para monitorear directamente el proceso según el uso de la CPU, el comando es:

sudo sysdig -c topprocs_cpu

comando de monitor de proceso de CPU sysdig

El comando para Supervisar ambas conexiones de red 

sudo sysdig -c netstat

Toda la conexión de red de Linux

Para ver las principales conexiones de red y procesar por entrada/salida de red

sudo sysdig -c topconns
sudo sysdig -c topprocs_net

Se pueden ver otros comandos rápidos usando el comando:

 sudo sysdig -cl

Los siguientes son los comandos por categoría:

Por ejemplo, quiero ver el registro de solicitudes HTTP, el primer comando dado en la lista a continuación. Para usar eso, simplemente escriba

sudo sysdig -c httplog

El que está en negrita es el comando...

Category: Application
---------------------
httplog HTTP requests log
httptop Top HTTP requests
memcachelog memcached requests log

Category: CPU Usage
-------------------
spectrogram Visualize OS latency in real time.
subsecoffset Visualize subsecond offset execution time.
topcontainers_cpu Top containers by CPU usage
topprocs_cpu Top processes by CPU usage

Category: Errors
----------------
topcontainers_error Top containers by number of errors
topfiles_errors Top files by number of errors
topprocs_errors top processes by number of errors

Category: I/O
-------------
echo_fds        Print the data read and written by processes.
fdbytes_by        I/O bytes, aggregated by an arbitrary filter field
fdcount_by       FD count, aggregated by an arbitrary filter field
fdtime_by        FD time group by
iobytes             Sum of I/O bytes on any type of FD
iobytes_file      Sum of file I/O bytes
spy_file             Echo any read/write made by any process to all files. Optionally, you can provide the name of one file to only intercept reads
/writes to that file.
stderr        Print stderr of processes
stdin          Print stdin of processes
stdout             Print stdout of processes
topcontainers_file               Top containers by R+W disk bytes
topfiles_bytes                  Top files by R+W bytes
topfiles_time              Top files by time
topprocs_file                Top processes by R+W disk bytes
udp_extract                 extract data from UDP streams to files.

Category: Logs
--------------
spy_logs                   Echo any write made by any process to a log file. Optionally, export  the events around each log message to file.
spy_syslog                     Print every message written to syslog. Optionally, export the events around each syslog message to file.

Category: Misc
--------------
around                  Export to file the events around the time range where the given filter matches.

Category: Net
-------------
iobytes_net    Show total network I/O bytes
spy_ip            Show the data exchanged with the given IP address
spy_port        Show the data exchanged using the given IP port number
topconns         Top network connections by total bytes
topcontainers_net   Top containers by network I/O
topports_server     Top TCP/UDP server ports by R+W bytes
topprocs_net        Top processes by network I/O

Category: Performance
---------------------
bottlenecks             Slowest system calls
fileslower               Trace slow file I/O
netlower               Trace slow network I/0
proc_exec_time              Show process execution time
scallslower               Trace slow syscalls
topscalls                Top system calls by number of calls
topscalls_time             Top system calls by time

Category: Security
------------------
list_login_shells    List the login shell IDs
shellshock_detect     print shellshock attacks
spy_users             Display interactive user activity

Category: System State
----------------------
lscontainers                                 List the running containers
lsof                                     List (and optionally filter) the open file descriptors.
netstat                               List (and optionally filter) network connections.
ps                                List (and optionally filter) the machine processes.

Category: Tracers
-----------------
tracers_2_statsd        Export spans duration as statds metrics.

Use the -i flag to get detailed information about a specific chisel
 

Para conocer todos los comandos relacionados y otra información con un ejemplo para sysdig y csysdig herramientas puede ver su página man:

man sysdig
man csysdig

Notas finales para Sysdig

Sysdig es una herramienta muy extensa para realizar un seguimiento del estado actual y una carga de su sistema. Mientras que con Csysdig le ofrece una cómoda interfaz interactiva basada en línea de comandos dentro de la consola para trabajar de manera efectiva. Puede crear secuencias de comandos eficaces y crear sus propios archivos de registro personalizados utilizando la herramienta de línea de comandos.

Otros tutoriales de Linux:

  • ¿Cómo cambiar el tiempo de espera del menú de GRUB en el arranque?
  • Tutorial sobre la instalación del servidor OpenSSH en Ubuntu 20.04 LTS

Debian
  1. Cómo cambiar la identidad de un sistema Linux

  2. Cómo monitorear el rendimiento del sistema Linux con Sysstat

  3. Cómo instalar Wine en Linux

  4. Comprobar la carga del sistema en Linux

  5. ¿Cómo instalo 'convertir' en un sistema Linux?

Cómo instalar Plesk en un sistema Linux

Cómo instalar Monit en Ubuntu 20.04 para monitorear los servicios del sistema

Linux:¿cómo instalar X11 en el propio sistema Linux Buildroot?

Cómo usar el comando fd en el sistema Linux

Cómo instalar Sysdig para monitorear su sistema Linux

Cómo monitorear las métricas del sistema en tiempo real usando la herramienta Glances en Linux