CodeGym /Cursos /Docker SELF /Herramientas de monitoreo integradas

Herramientas de monitoreo integradas

Docker SELF
Nivel 21 , Lección 2
Disponible

3.1 Comando docker stats

Docker ofrece una herramienta incorporada para monitorear contenedores en tiempo real: el comando docker stats. Este comando te permite seguir las métricas de rendimiento clave de los contenedores, como el uso de CPU, memoria, red y disco. Vamos a ver cómo usar docker stats para obtener una visión general del estado y el rendimiento de tus contenedores.

El comando docker stats proporciona estadísticas dinámicas sobre el funcionamiento de los contenedores en tiempo real. Muestra las siguientes métricas para cada contenedor:

  • CPU %: porcentaje de uso del CPU por el contenedor.
  • MEM USAGE / LIMIT: uso de memoria por el contenedor y el límite establecido.
  • MEM %: porcentaje de uso de memoria por el contenedor.
  • NET I/O: tráfico de red (entrante y saliente).
  • BLOCK I/O: número de operaciones de entrada/salida en disco.
  • PIDS: número de procesos ejecutados dentro del contenedor.

Uso principal del comando docker stats

Ejecutar el comando docker stats sin parámetros muestra métricas para todos los contenedores en ejecución:

Terminal


docker stats 

Ejemplo de salida del comando docker stats:

Terminal


CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
d9b100f2f636   my_nginx            0.07%     1.24MiB / 1.952GiB    0.06%     1.68kB / 0B       0B / 12.3MB       2
fa3f3f3f3f3f   my_postgres         2.13%     230.5MiB / 1.952GiB   11.52%    2.12MB / 2.05MB   85.6MB / 45.2MB   10

Monitoreo de un contenedor específico

Puedes seguir las métricas de un contenedor específico especificando su nombre o ID:

Terminal


docker stats my_nginx 

3.2 Configuración del comando docker stats

Parámetros del comando docker stats

El comando docker stats admite varias opciones que te permiten personalizar los datos mostrados:

  • --all o -a: muestra métricas para todos los contenedores, incluidos los detenidos.
  • --no-stream: muestra las métricas una vez y finaliza la ejecución del comando.
  • --format: personaliza la salida de datos utilizando plantillas.

Ejemplo de uso del parámetro --no-stream

Muestra las métricas una vez para todos los contenedores:

Terminal

docker stats --no-stream

Ejemplo de uso del parámetro --format

Salida de datos formateada:

Terminal

docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"

Ejemplo de salida:

Terminal

CONTAINER ID   CPU %     MEM USAGE / LIMIT
d9b100f2f636   0.07%     1.24MiB / 1.952GiB
fa3f3f3f3f3f   2.13%     230.5MiB / 1.952GiB

3.3 Uso práctico de docker stats

Ejemplo 1: seguimiento de la carga en el servidor

Puedes usar docker stats para monitorear los contenedores en el servidor y detectar contenedores con alta carga en la CPU o la memoria. Esto te ayudará a optimizar el uso de recursos y mejorar el rendimiento de las aplicaciones.

Terminal

docker stats

Ejemplo 2: monitorear un contenedor específico durante las pruebas

Al probar nuevas versiones de aplicaciones o cambiar configuraciones, puedes rastrear las métricas de un contenedor específico para asegurarte de que no haya un impacto negativo en el rendimiento.

Terminal

docker stats my_test_container

Ejemplo 3: integración con sistemas de monitoreo

Puedes integrar la salida de docker stats con sistemas de monitoreo externos, usando la opción --format para crear un formato de salida compatible con tu herramienta de monitoreo.

Terminal

docker stats --no-stream --format "{{.Container}}: CPU {{.CPUPerc}}, MEM {{.MemUsage}}"

Limitaciones del comando docker stats

Aunque docker stats proporciona métricas útiles en tiempo real, tiene algunas limitaciones:

  • Métricas limitadas: el comando muestra solo métricas básicas y no proporciona información detallada sobre el estado de los contenedores.
  • Uso manual: docker stats es conveniente para uso manual, pero para monitoreo automatizado y alertas es mejor usar herramientas especializadas como Prometheus y Grafana.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION