tablero de la actividad de los programas que se ejecutan en mi red

Tengo muchos programas diferentes (principalmente en C# y Python) utilizados por diferentes personas en mi red. Podría poner notificaciones en el código para informarme a mí mismo y a otros sobre ciertas condiciones, como en el ejemplo a continuación.

try:
    send_important_file(fn, dest)
    notify_in_green("important-file-sender", 
                    "really important file was sent without problems")
except:
    notify_in_red("important-file-sender", 
                  "really important file was not send, somebody do something")

Quiero que dichas notificaciones se muestren en una GUI o pantalla de aplicación web: tablero.

En este tablero, supongo que tengo el lugar (elemento de lista, nodo de árbol) donde se mostrará el texto de mi mensaje relacionado con el remitente de archivos importantes . El artículo también debe tener un código de color para llamar la atención. El conjunto de elementos que se mostrarán en el tablero está preconfigurado.

Los usuarios de este tablero no son programadores . Son más bien operadores. Los mensajes en el tablero no son excepciones, seguimientos de pila, etc. Los mensajes son mensajes fáciles de usar para informar sobre ciertos eventos relacionados con diversas actividades comerciales.

¿Alguien puede sugerir alguna solución comercial o de código abierto que pueda usar?

Respuestas (2)

Opción comercial

Pistola de rayos

  • Soporte para muchos lenguajes y marcos pero bastante caro

Opción gratuita simple

Use una ubicación de red compartida para archivos de registro de texto sin formato y simplemente use el registro, etiquete los registros con qué aplicación y máquina o considere tener un directorio para iniciar sesión desde cada máquina en la red y un archivo de registro para cada aplicación (probablemente lo más simple y lo mejor de el punto de vista de la seguridad).

Luego, escriba un generador de informes que se ejecute en los archivos de registro y produzca, por ejemplo, una página web que resuma los resultados y resalte nuevos problemas. Sugeriría usar el módulo de registro de pythons e intentar encontrar/escribir un registrador de C# que produzca el mismo formato.

Si la confiabilidad de la red/el ancho de banda es un problema, puede iniciar sesión en un solo directorio en cada máquina y cargar periódicamente a un servidor o zip y correo electrónico (no olvide borrar los registros antiguos después del envío o es probable que tenga problemas de espacio en disco).

Tenga en cuenta que el módulo de registro de python tiene numerosos controladores que incluyen la posibilidad de enviar notificaciones por correo electrónico, notificaciones web, notificaciones UDP, etc., por lo que si todos sus programas fueran python, sería perfecto, es posible que pueda ubicar la misma funcionalidad en C# pero es mejor que escriba un registrador de C# que simplemente incorpore el registrador de python.

De hecho, no me importa usar archivos de registro como medio de comunicación. El problema es la incapacidad de los usuarios para acceder a los archivos de registro. Tiene sentido usar logscanner y enviar correos electrónicos. Pero no es lo suficientemente bueno. Se supone que una buena solución es una pantalla GUI que cualquiera puede ver con una lista de elementos. Los elementos se pueden controlar mediante palabras clave del archivo de registro. Desearía poder reclutar a algunos programadores de código abierto para hacer este proyecto...

Después de algunas búsquedas adicionales, descubrí que necesito una aplicación de tablero de señalización. Parece que la mejor opción para mi caso es apuesto: http://dashing.io . Al menos puedo ejecutarlo internamente sin necesidad de interactuar con un alojamiento externo.