LINUX

CTOP: herramienta de línea de comandos para supervisar el rendimiento de los contenedores de Linux

ctop es una nueva herramienta basada en la línea de comandos disponible para monitorear los procesos a nivel de contenedor. Los contenedores proporcionan un entorno de virtualización a nivel de sistema operativo al hacer uso de la funcionalidad de administración de recursos de cgroups. Esta herramienta recopila datos relacionados con la memoria, CPU, IO de bloque y metadatos como propietario, tiempo de actividad, etc. de cgroups y los presenta en un formato legible por el usuario para que uno pueda evaluar rápidamente el estado general del sistema. Según los datos recopilados, intenta adivinar la tecnología de contenedores subyacente. ctop es útil para detectar quién está usando grandes cantidades de memoria en situaciones de poca memoria.

Capacidades

Algunas de las capacidades de ctop son:

  • Recopile métricas para cpu, memoria y blkio

  • Recopile información sobre el propietario, la tecnología del contenedor y el recuento de tareas.

  • Ordene la información usando cualquier columna

  • Mostrar la información usando la vista de árbol

  • Doblar / desplegar cgroup tree

  • Seleccionar y seguir un cgroup / container

  • Seleccione un período de tiempo para actualizar los datos mostrados

  • Pausar la actualización de datos

  • Detecta contenedores basados ​​en systemd, Docker y LXC

  • Funciones avanzadas para contenedores basados ​​en Docker y LXC

Cómo instalar CTOP

ctop está escrito usando Python y no hay otras dependencias externas aparte de tener que usar Python versión 2.6 o superior (con soporte de cursor incorporado). La instalación con pip de Python es el método recomendado. Instale pip si aún no lo ha hecho e instale ctop usando pip.

Nota: Los ejemplos que se muestran en este artículo son de un sistema Ubuntu (14.10)

$ sudo apt-get install python-pip

Instalación de ctop usando pip:

poornima@poornima-Lenovo:~$ sudo pip install ctop

[sudo] password for poornima:

Downloading/unpacking ctop

Downloading ctop-0.4.0.tar.gz

Running setup.py (path:/tmp/pip_build_root/ctop/setup.py) egg_info for package ctop

Installing collected packages: ctop

Running setup.py install for ctop

changing mode of build/scripts-2.7/ctop from 644 to 755

changing mode of /usr/local/bin/ctop to 755

Successfully installed ctop

Cleaning up...

Si usar pip no es una opción, también puede instalarlo directamente desde github usando wget:

poornima@poornima-Lenovo:~$ wget https://raw.githubusercontent.com/yadutaf/ctop/master/cgroup_top.py -O ctop

--2015-04-29 19:32:53-- https://raw.githubusercontent.com/yadutaf/ctop/master/cgroup_top.py

Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 199.27.78.133

Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|199.27.78.133|:443... connected.

HTTP request sent, awaiting response... 200 OK Length: 27314 (27K) [text/plain]

Saving to: ctop

100%[======================================>] 27,314 --.-K/s in 0s

2015-04-29 19:32:59 (61.0 MB/s) - ctop saved [27314/27314]
poornima@poornima-Lenovo:~$ chmod +x ctop

Es posible que reciba un mensaje de error al iniciar ctop si el paquete cgroup-bin no está instalado. Se puede resolver instalando el paquete requerido.

poornima@poornima-Lenovo:~$ ./ctop

[ERROR] Failed to locate cgroup mountpoints.

poornima@poornima-Lenovo:~$ sudo apt-get install cgroup-bin

Aquí hay una pantalla de salida de muestra de ctop:

salida ctop
pantalla superior

Opciones de uso

ctop [--tree] [--refresh=] [--columns=] [--sort-col=] [--follow=] [--fold=, ...] ctop (-h | --help)

Una vez que esté dentro de la pantalla ctop, use las teclas de flecha hacia arriba (↑) y hacia abajo (↓) para navegar entre contenedores. Al hacer clic en cualquier contenedor, se seleccionará ese contenedor en particular. Presionando q o Ctrl + C sale del contenedor.

Veamos ahora cómo utilizar cada una de las opciones enumeradas anteriormente.

-h / –help: muestra la pantalla de ayuda

poornima@poornima-Lenovo:~$ ctop -h
Usage: ctop [options]

Options:
-h, --help show this help message and exit
--tree show tree view by default
--refresh=REFRESH Refresh display every <seconds>
--follow=FOLLOW Follow cgroup path
--columns=COLUMNS List of optional columns to display. Always includes
'name'
--sort-col=SORT_COL Select column to sort by initially. Can be changed
dynamically.

–tree: muestra la vista de árbol de los contenedores

De forma predeterminada, se muestra la vista de lista

Una vez que esté dentro de la ventana ctop, puede usar el botón F5 para alternar la vista de árbol / lista.

–fold = – Dobla la ruta de cgroup en la vista de árbol.

Esta opción debe usarse en combinación con –tree.

Por ejemplo: ctop –tree –fold = / user.slice

ctop - doble salida
Salida de ‘ctop –fold’

Dentro de la ventana ctop, use las teclas + / – para alternar el plegado de cgroup secundario.

Nota: En el momento de escribir este artículo, el repositorio de pip no tenía la última versión de ctop que admite la opción ‘–fold’ a través de la línea de comandos.

–follow = – Seguir / Resaltar la ruta de cgroup.

Por ejemplo: ctop –follow = / user.slice / user-1000.slice

Como puede ver en la pantalla de abajo, el cgroup con la ruta dada «/user.slice/user-1000.slice» se resalta y hace que sea más fácil para el usuario seguirlo incluso cuando se cambia la posición de visualización.

salida 'ctop --follow'
Salida de ‘ctop –follow’

También puede usar el botón ‘f’ para permitir que la línea resaltada siga al contenedor seleccionado. De forma predeterminada, el seguimiento está desactivado.

–refresh = – Actualiza la pantalla a la velocidad indicada. Predeterminado 1 segundo

Esto es útil para cambiar la frecuencia de actualización de la pantalla según los requisitos del usuario. Use el botón ‘p’ para pausar la actualización y seleccione el texto.

–columns = – Puede limitar la visualización a las seleccionadas. ‘nombre’ debe ser la primera entrada seguida de otras columnas. De forma predeterminada, las columnas incluyen propietario, procesos, memoria, cpu-sys, cpu-user, blkio, cpu-time.

Por ejemplo: ctop –columns = nombre, propietario, tipo, memoria

salida 'ctop --column'
Salida de ‘ctop –column’

-sort-col = – columna con la que se deben ordenar los datos mostrados. Por defecto está ordenado usando cpu-user

Por ejemplo: ctop –sort-col = blkio

Si hay contenedores adicionales compatibles como Docker y LXC, también estarán disponibles las siguientes opciones:

presione ‘a’ – adjuntar a la salida de la consola

presione ‘e’ – abra un shell en el contexto del contenedor

presione ‘s’ – detener el contenedor (SIGTERM)

presione ‘k’ – matar el contenedor (SIGKILL)

Versión de Python de ctop se encuentra actualmente en desarrollo activo por Jean-Tiare Le Bigot. Con suerte, veremos más funciones en esta herramienta, como nuestro comando superior nativo :-).

** Actualización del artículo el 12/03/2017 **

Herramienta Ctop escrita en Golang

Encontramos otra herramienta interesante llamada same ctop escrita en go lang para ver y monitorear las métricas en tiempo real del contenedor en la terminal. También proporciona una descripción general concisa y condensada de métricas en tiempo real de varios contenedores. Cubrimos sus usos en un host Docker basado en Linux.

Instalación

ctop actualmente viene con soporte integrado para Docker; Los conectores para otros sistemas de clústeres y contenedores están previstos para versiones futuras. Obtenga lo último versión de ctop y muévalo a cualquier ubicación señalada por la variable de entorno PATH.

# wget https://github.com/bcicen/ctop/releases/download/v0.4/ctop-0.4-linux-amd64 -O ctop
# sudo mv ctop /usr/local/bin/
# sudo chmod +x /usr/local/bin/ctop

Eso es todo, ahora está listo para ver las métricas del contenedor en su terminal.

Usos de la herramienta de monitoreo ctop

ctop no requiere ningún argumento para ejecutarse y se configurará usando la variable de entorno DOCKER_HOST. Para ejecutarlo, simplemente escriba ctop en el shell.

# ctop

Una vez que haya ejecutado el comando anterior, todo el contenedor se listará con su nombre, ID de contenedor, usos de CPU, usos de memoria y tráfico de red.

Con las siguientes combinaciones de teclas, puede administrar la pantalla ctop.

Llave Acción
a Alternar la visualización de todos los contenedores (en ejecución y no en ejecución)
F Filtrar contenedores mostrados
H Alternar encabezado ctop
h Abrir diálogo de ayuda
s Seleccionar campo de clasificación de contenedores
r Orden de clasificación de contenedores inverso
q Salir de ctop

Ejecute ctop desde el shell, puede ver todos los contenedores (en ejecución / detenidos) con su ID, usos de CPU, usos de memoria y datos recibidos / transmitidos.

# ctop

ctop vista principal

Presione ‘f’ para filtrar la vista y escriba una letra / palabra. Para este ejemplo, escribiremos ‘g’ para filtrar todos los contenedores cuyo nombre comience con ‘g’

ctop filter view

Una vez que haya filtrado la vista, usando la tecla de retroceso, borre la casilla de filtro y presione enter, se lo llevará a la vista principal superior. Para obtener ayuda, presione ‘h’. Prensa

‘ESC’ para volver a la vista principal.

cuadro de diálogo de ayuda ctop

Presione ‘H’ para alternar el encabezado ctop

ctop alternar vista

Para seleccionar el campo de clasificación para la vista principal ctop presione ‘s’ y seleccione el campo y presione enter.

ctop campo de clasificación

Para una vista ampliada, seleccione el contenedor usando la tecla de flecha arriba / abajo en la vista principal de ctop y presione enter. Podrá ver las métricas de contenedores seleccionados en detalle.

ctop vista ampliada

Ahí lo tiene: supervise el contenedor desde el shell y vea algunos parámetros básicos a través de él. Aunque no es robusto, pero el desarrolladores He planeado algunas mejoras como el gráfico en las versiones futuras.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar