Tenga en cuenta que esta es una aplicación diferente a la de enviar notificaciones de aplicaciones de Discourse mediante el plugin Discourse Telegram Notifications. Esta aplicación de NR es para monitorear el servidor, Docker y la aplicación de Discourse en general.
Como la mayoría de ustedes, administradores de sistemas ocupados, cuando estamos en movimiento, nos resulta útil monitorear las aplicaciones de producción desde nuestros teléfonos móviles.
Utilizamos Telegram y Node-Red (NR) para esta tarea. Por ejemplo, algunas de nuestras tareas actuales de Discourse en NR:
-
Node-Red realiza una solicitud HTTPS GET (cada minuto) a una categoría (creada para este propósito) y envía una alerta a nuestro bot de Telegram cuando detecta que Discourse está CAÍDO (y vuelve a estar ACTIVO nuevamente, sin fluctuaciones).
-
Nuestro bot básico de Telegram,
UNIXForumBot, tiene varias verificaciones que podemos realizar, entre ellas:
- Verificar manualmente si Discourse se está ejecutando.
- Mostrar rápidamente qué contenedor de Discourse está siendo utilizado por nuestro proxy inverso.
- Verificar el tiempo de actividad del servidor.
- Verificar la utilización del disco.
- Hacer ping a otras aplicaciones LAMP en el mismo servidor.
Ejemplos de capturas de pantalla de Telegram:
Nuestra configuración e información de antecedentes
Información de antecedentes
La razón por la que verificamos qué contenedor de Discourse se está ejecutando es porque, si hay un problema, o simplemente quiero actualizar o realizar cambios, siempre queremos saber rápidamente qué contenedor está ejecutando Discourse antes de iniciar sesión en el servidor.
Siempre ejecutamos Discourse detrás de un proxy inverso. Dado que tenemos muchas otras aplicaciones web ejecutándose en el mismo servidor (aplicaciones LAMP ejecutándose junto con aplicaciones Docker de Discourse), ejecutamos Discourse de la siguiente manera:
- Contenedores de datos y aplicaciones de Discourse separados.
- Los contenedores de aplicaciones de Discourse solo exponen un socket de dominio Unix al host (el proxy inverso).
Esto significa, para aquellos que no están familiarizados con esta configuración, que podemos construir Discourse cuando sale una nueva actualización y cambiar a esa nueva versión de Discourse con tiempo de inactividad cero especificando un socket de dominio Unix diferente en la configuración del proxy inverso.
Si hubiera un problema con la última versión beta, no hay problema; podemos revertir rápida y fácilmente al otro contenedor que estaba ejecutando una versión anterior de Discourse. Funciona impecablemente.
Diagrama de Node-Red para el bot de Telegram que utilizamos para monitorear Discourse
Para cualquier persona interesada en monitorear sus aplicaciones de Discourse utilizando Telegram y NR, he puesto a disposición los nodos de Node-Red para esta aplicación. Puede personalizarlos según su gusto:
En el futuro, planeamos expandir las funciones de monitoreo de Docker y Discourse en la aplicación de Telegram.
Vea también:
Esperamos que otros administradores de sistemas interesados en monitorear su servidor de producción y la aplicación de Discourse encuentren útil este breve tema.




