Panel de control basado en terminal o línea de comandos

Estoy buscando una herramienta que me permita crear un panel de monitoreo que se represente en una terminal de Linux. El monitoreo que me interesa es rastrear archivos de registro y consultas de resumen en una base de datos. Idealmente, tendría el terminal dividido en cuartos: dos que siguen los archivos de registro y dos que tienen el texto de la tabla con formato previo. Ya puedo obtener el mismo efecto abriendo 4 ventanas de terminal separadas, organizándolas manualmente y luego ejecutándolas watch some_command...en cada una. Esta solución es... fea, en el mejor de los casos. Y no escala muy bien cuando tengo 4 o 5 servidores que necesitan ser monitoreados de la misma manera. Me pregunto si no existe ya alguna otra forma de hacer esto.

Probé hubble, aunque descubrí que es más adecuado para mostrar datos numéricos y pequeños fragmentos de texto. No parece manejar muy bien los archivos de registro o las tablas de texto con formato previo.

En realidad, con Tmux tengo una combinación de teclas como esta: bind-key S set-window-option synchronize-panes \; display-message 'Toggled synchronize-panes'que me permite alternar la synchronize-panesopción con Prefijo+ S(es decir, S mayúscula, es decir, Prefijo+Mayús+ s) que permite enviar las mismas pulsaciones de tecla a cada panel de la ventana actual. Siempre lo encontré muy útil. Puede que no se escale bien, pero con Tmux también puede crear sourceun archivo de configuración adaptado a sus necesidades, configurando ventanas y paneles como desee. Ventaja sobre la pantalla: los archivos de configuración son legibles;)

Respuestas (2)

tmux + config mgmt es definitivamente una buena opción si ya tiene las herramientas CLI que necesita para mostrar lo que desea (tail, grep, awk, gplot, etc.)

Dicho esto, bendita contrib es un proyecto interesante que crea un panel de terminal y proporciona algunas opciones de presentación de datos interesantes. Una búsqueda rápida en github probablemente mostrará proyectos similares que también podrían valer la pena revisar.

tmux y teamocil le permiten dividir una ventana de terminal en paneles y ejecutar comandos en cada panel.

Interesantes, les echaré un vistazo. La última vez que intenté ejecutar screenen Docker (~90% de este tipo de actividad de monitoreo ocurre en un contenedor Docker) se puso un poco inestable. Tal vez tmux funcione mejor con docker. Todavía sería bueno poder tener una sola herramienta que ejecute todos los monitores con un solo comando, ¿sabe si tmux+teamocil son programables?
teamocil configura el diseño de su panel y ventana, y los comandos iniciales para ejecutar. Entonces su flujo de trabajo es: inicie tmux, ejecuteteamocil <some_name>