Tenemos tres servidores que ejecutan programas de Python que ejecutan tareas de análisis de datos dentro de una tmux
sesión. El método que estamos utilizando en este momento consiste en conectar cada uno de ellos conectando la tmux
sesión y observando la salida en la línea de comando.
Este método es tedioso, por lo que estamos buscando una solución que automatice el monitoreo del progreso del programa (salida en CLI) para múltiples servidores al mismo tiempo. Idealmente, nos gustaría una solución de interfaz de usuario web, pero una CLI también sería perfectamente adecuada.
Gracias por leer.
monitoring
guano
fuente
fuente
Respuestas:
Cada vez que ejecute comandos ad-hoc de ejecución prolongada, debe retroceder y repensar su proceso, ya que eso debe ser automático, incluido el manejo de errores.
En lugar de conectarse a los servidores para ver el estado, un mejor enfoque es sacar esa información. Puede hacer una gran variedad de cosas si desea escribir un montón de código personalizado, pero lo más simple es probablemente comenzar a enviar la salida a través de syslog a un sistema de registro centralizado (syslog o ELK, o lo que sea). De esa manera puede monitorear todo desde una ubicación central.
Mirando hacia el futuro, si esto no es una tarea única, el monitoreo debe ser automatizado. Es decir, nunca debería tener que mirar los registros para ver si las cosas progresan como se supone que deben hacerlo. En su lugar, debe asumir que son (y continuar con otro trabajo) hasta que se dispare su alerta . Esta es una inversión de tiempo para obtener alertas confiables y de cobertura amplia, pero a medida que sus sistemas crecen en complejidad, dará sus frutos ya que no tendrá que monitorear todo cada vez que cambie algo .
fuente
Graylog
Dado que dos personas ya le aconsejaron que reconsidere su proceso actual (lo cual secundo, ya que en algún momento le causará noches de insomnio;)), iré por otra ruta y recomendaré un software específico que, en mi opinión, se adapta a la mayoría de Sus necesidades: Graylog .
Implementé y utilicé un par de pilas ELK para la agregación de registros y la inteligencia empresarial y también ejecuté / mantuve Graylog durante aproximadamente dos años en mi empleador actual. Recomiendo Graylog ya que tiene las siguientes características integradas y es, en mi opinión, un poco más fácil de configurar y mantener:
Hasta donde entiendo su escenario, parece que necesita actuar o recibir una alerta sobre ciertos eventos que aparecen en su flujo de mensajes de registro. Si nos fijamos en las características de Graylog :
Para probar Graylog, recomendaría los siguientes dos pasos:
Nota: Estos dos pasos tienen la capacidad de llenar páginas y páginas de mejores prácticas y deben recibir al menos un par de pensamientos. Sin mencionar que Graylog no es una solución de monitoreo y Graylog en sí mismo debe ser monitoreado por una herramienta de monitoreo adecuada (como por ejemplo, Icinga, Prometheus, Nagios, por nombrar solo algunos).
fuente
Estoy de acuerdo con @Xiong Chiamiov y quiero dar una opción más clara. Si desea que todas las líneas de la CLI sean monitoreadas, sugeriría redirigir toda la salida a un archivo específico y el error a otro archivo, luego usar logstash o filebeat para enviar ambos archivos a Elasticsearch , luego puede configurar Logtril con Kibana para ver, analizar, buscar y registrar eventos de múltiples hosts en tiempo real con una interfaz amigable para desarrolladores
fuente
centralizado
tmux
Si bien las otras respuestas son más inteligentes y sabias a largo plazo, creo que vale la pena mencionar la rápida solución CLI hacky. Ejecutar
tmux
en un servidor que puede llegar a todos los demás. Un buen lugar para esto sería una caja de salto o algún otro lugar en el que la gente comúnmente inicie sesión de todos modos. Dentro de estetmux
ssh "central" a cada cuadro en un panel diferente y cola cualquier archivo de registro que sea necesario. Puede usar ctrl- b "para obtener más paneles en una pestaña dentrotmux
. Ahora todo lo que alguien tiene que hacer para verificar las cosas es adjuntar a latmux
sesión "central" y pueden ver todo el clúster de un vistazo.Pasé mucho tiempo creando soluciones de interfaz de usuario web para las que está trabajando, pero si lo necesita hoy, piratear algo
tmux
puede salvar el día.fuente