Monitorización y Troubleshooting

De jagfloriano.com
Ir a la navegaciónIr a la búsqueda

Monitorización y Troubleshooting

Introducción

La monitorización a nivel de sistema es fundamental para diagnosticar problemas de rendimiento, bloqueos, consumo excesivo de recursos o fallos de red.

Estas herramientas permiten observar en tiempo real el estado del sistema y son clave durante:

  • Incidentes en producción
  • Análisis de rendimiento
  • Verificación tras cambios
  • Troubleshooting rápido


CPU y Memoria

top

Herramienta básica para ver procesos en tiempo real.

top

Campos importantes:

  • **%CPU**: uso de CPU por proceso
  • **%MEM**: uso de memoria
  • **load average**: carga del sistema (1, 5, 15 min)
  • **us / sy / id**: uso de CPU (usuario / sistema / idle)

Ordenar por CPU:

P

Ordenar por memoria:

M

htop

Versión mejorada de `top` (si está instalada).

dnf install -y htop
htop

Ventajas:

  • Vista gráfica
  • Navegación con teclado
  • Kill de procesos interactivo
  • Filtros rápidos

vmstat

Muestra estadísticas de memoria, CPU y procesos.

vmstat 2

Campos clave:

  • **r**: procesos esperando CPU
  • **si / so**: swap in / swap out
  • **us / sy / id / wa**: uso de CPU

Swap constante ≠ buena señal.

Disco y E/S

iostat

Permite analizar uso de disco y latencias.

dnf install -y sysstat
iostat -xz 2

Campos importantes:

  • **%util**: disco saturado si se acerca a 100%
  • **await**: latencia de E/S
  • **r/s, w/s**: operaciones por segundo


iotop

Muestra procesos que generan E/S en disco.

dnf install -y iotop
iotop

Muy útil para detectar:

  • Backups agresivos
  • Logs descontrolados
  • Procesos bloqueantes


Red

ss

Reemplazo moderno de `netstat`.

Ver sockets activos:

ss -tulnp

Filtrar por puerto:

ss -tulnp | grep 5432

Ver conexiones establecidas:

ss -tan

netstat

Aún presente en algunos sistemas.

dnf install -y net-tools
netstat -tulnp


Procesos y ficheros abiertos

lsof

Lista ficheros abiertos por procesos.

Ver qué proceso usa un puerto:

lsof -i :80

Ver ficheros abiertos por un PID:

lsof -p 1234

Ver procesos usando un fichero:

lsof /ruta/fichero


Análisis de procesos (básico)

strace

Permite trazar llamadas al sistema de un proceso.

Adjuntarse a un PID:

strace -p 1234

Ejecutar un comando con traza:

strace ls /tmp

Guardar salida en fichero:

strace -p 1234 -o /tmp/strace.log

Casos típicos:

  • Procesos colgados
  • Problemas de permisos
  • Accesos a ficheros inexistentes

> ⚠️ Usar con cuidado en producción (genera carga y mucho output).


Flujo recomendado de diagnóstico

1. `top` / `htop` → ¿CPU o memoria? 2. `vmstat` → ¿swap o espera? 3. `iostat` / `iotop` → ¿disco saturado? 4. `ss` → ¿problema de red? 5. `lsof` → ¿qué proceso usa qué? 6. `strace` → último recurso


Buenas prácticas

  • No diagnosticar solo con una herramienta
  • Correlacionar CPU, memoria, disco y red
  • Usar intervalos (`2`, `5`) para ver tendencias
  • Guardar evidencias (logs, outputs)
  • Evitar `strace` prolongado en producción