Veuillez noter qu’il s’agit d’une application différente de l’envoi de notifications d’application Discourse via le plugin Discourse Telegram Notifications. Cette application NR sert à surveiller le serveur, Docker et l’application Discourse en général.
Comme la plupart d’entre vous, administrateurs système occupés, nous trouvons utile de surveiller les applications de production depuis nos téléphones mobiles lorsque nous sommes en déplacement.
Nous utilisons Telegram et Node-Red (NR) pour cette tâche. Par exemple, voici certaines de nos tâches actuelles Discourse NR :
-
Node-Red effectue une requête HTTPS GET (toutes les minutes) sur une catégorie (créée à cet effet) et envoie une alerte à notre bot Telegram lorsqu’il détecte que Discourse est HORS LIGNE (et à nouveau EN LIGNE, sans oscillation).
-
Notre bot Telegram de base,
UNIXForumBot, dispose de plusieurs vérifications que nous pouvons effectuer, notamment :
- Vérifier manuellement si Discourse est en cours d’exécution.
- Afficher rapidement quel conteneur Discourse est utilisé par notre proxy inverse.
- Vérifier le temps de fonctionnement du serveur.
- Vérifier l’utilisation du disque.
- Pinger d’autres applications LAMP sur le même serveur.
Exemples de captures d’écran Telegram :
Notre configuration et informations de contexte
Informations de contexte
La raison pour laquelle nous vérifions quel conteneur Discourse est en cours d’exécution est que, en cas de problème ou si je souhaite simplement effectuer une mise à niveau ou des modifications, nous voulons toujours savoir rapidement quel conteneur exécute Discourse avant de nous connecter au serveur.
Nous exécutons toujours Discourse derrière un proxy inverse. Comme nous avons de nombreuses autres applications Web en cours d’exécution sur le même serveur (applications LAMP fonctionnant avec des applications Docker Discourse), nous exécutons Discourse comme suit :
- Séparer les conteneurs de données et d’applications Discourse.
- Les conteneurs d’applications Discourse n’exposent qu’un socket de domaine Unix à l’hôte (le proxy inverse).
Cela signifie, pour ceux qui ne sont pas familiers avec cette configuration, que nous pouvons construire Discourse lorsqu’une nouvelle mise à niveau est disponible et basculer vers cette nouvelle version de Discourse sans temps d’arrêt en spécifiant un socket Unix différent dans la configuration du proxy inverse.
S’il y avait un problème avec la dernière version bêta, aucun problème : nous pouvons rapidement et facilement revenir au conteneur qui exécutait une version antérieure de Discourse. Fonctionne parfaitement.
Diagramme Node-Red pour le bot Telegram que nous utilisons pour surveiller Discourse
Pour toute personne intéressée à surveiller ses applications Discourse en utilisant Telegram et NR, j’ai rendu les nœuds Node-Red pour cette application disponibles. Vous pouvez les personnaliser comme vous le souhaitez :
À l’avenir, nous prévoyons d’étendre les fonctions de surveillance Docker et Discourse dans l’application Telegram.
Voir aussi :
J’espère que d’autres administrateurs système intéressés par la surveillance de leur serveur de production et de l’application Discourse trouveront ce court sujet utile.




