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
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