>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
Nim

ttop — Monitoreo de sistema con historial y notificaciones

Situación familiar: el servidor se congeló de repente y no puedes saber qué pasó? Las herramientas estándar como top o htop muestran solo el estado actual, pero no proporcionan contexto histórico. ttop resuelve exactamente este problema — una herramienta de monitoreo con capacidad de visualización de historial y un sistema de notificaciones flexible.

Cómo ttop es mejor que las herramientas familiares?

La principal diferencia de ttop con herramientas similares es el guardado de datos históricos. Mientras que htop muestra solo el estado actual del sistema, ttop:

  • Guarda instantáneas a través de systemd.timer o crontab
  • Permite navegar por el historial de cambios
  • Construye gráficos ASCII para visualización de tendencias
  • Soporta disparadores para notificaciones

captura de pantalla de ttop

Características principales

  1. Datos históricos

    • Visualización del estado del sistema en cualquier momento
    • Gráficos ASCII a través de la integración de asciigraph
    • Capacidad de encontrar el momento del pico de carga y estudiarlo en detalle
  2. Disparadores flexibles

    • Configuración de notificaciones a través de scripts externos
    • Soporte para Telegram, correo electrónico y otros canales
    • Diferentes tipos de disparadores: para eventos críticos e informativos
  3. Interfaz TUI rica

    • Resaltado de valores críticos
    • Agrupación de procesos por programas
    • Filtrado: por usuarios (@user), contenedores docker (#container)
    • Árbol de hilos de ejecución
  4. Instalación sencilla

    • Paquetes listos para Arch Linux (AUR)
    • Binarios estáticos para x86-64
    • No requiere derechos de root para funcionar

Cómo funciona técnicamente?

ttop está escrito en Nim — un lenguaje de programación moderno con tipado estático. El proyecto utiliza:

  • systemd.timer/cron para la recolección de datos
  • asciigraph para la visualización
  • API de Docker para el monitoreo de contenedores

El sistema de disparadores pasa datos a scripts externos a través de stdin con un conjunto de variables de entorno:

TTOP_ALERT=true/false  # признак критического события
TTOP_HOST             # имя хоста
TTOP_TYPE             # тип события (alert/info)

Uso práctico

  1. Análisis de problemas posterior En la mañana descubriste que el servidor "cayó" durante la noche? Con ttop puedes revisar el historial y encontrar el momento exacto del problema.

  2. Notificaciones automáticas Configura el envío a Telegram cuando la carga de CPU sea crítica o la memoria esté baja.

  3. Monitoreo de contenedores Docker Encuentra rápidamente contenedores "glotones" usando el filtro #container.

  4. Análisis de tendencias Los gráficos ASCII ayudan a visualizar picos de carga periódicos.

Ejemplo de configuración de notificaciones en Telegram

[[trigger]]
on_alert = true
cmd = '''
read -d '' TEXT
curl -X POST \
  -H 'Content-Type: application/json' \
  -d "{\"chat_id\": $CHAT_ID, \"text\": \"$TEXT\", \"disable_notification\": $TTOP_INFO}" \
  https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage
'''

Vale la pena probarlo?

ttop es especialmente útil para:

  • Administradores de sistemas
  • Ingenieros DevOps
  • Desarrolladores que trabajan con aplicaciones que consumen muchos recursos
  • Todos los que necesitan un monitoreo más avanzado que top

El proyecto se está desarrollando activamente, tiene código abierto (licencia MIT) y ya ha recopilado más de 350 estrellas en GitHub. Si enfrentas regularmente la necesidad de analizar la carga del sistema, ttop podría convertirse en tu nueva herramienta favorita.

Cómo instalar?

Para Arch Linux:

yay -S ttop

Para otros sistemas (binario estático):

curl -LO https://github.com/inv2004/ttop/releases/latest/download/ttop
chmod +x ttop
mv ttop ~/.local/bin/

Pruébalo — y verás el monitoreo de sistemas de una manera nueva!

Proyectos relacionados