Question de suivi concernant le bilan de santé de MongoDB avec HAProxy
Comment construire un bilan de santé de MongoDB dans HAProxy ?
La solution actuelle fonctionne bien lorsque l'objectif est de déterminer si Mongo répond, mais j'essaie d'étendre la fonctionnalité pour effectuer un suivi basé sur le statut de la base de données, primaire ou secondaire. J'ai essayé des variations de isMaster sans succès. Du côté de MongoDB, avec mongosniff ou wireshark, les résultats se présentent comme une erreur d'analyse de la requête et aucune réponse n'est renvoyée à l'hôte HAProxy.
En utilisant le protocole Mongo wire, existe-t-il une requête permettant d'obtenir l'état d'un serveur MongoDB donné au lieu de la solution actuelle qui ne permet de suivre que la réponse de la base de données ?
0 votes
L'autre option est d'écrire un xinetd script qui écoute sur un autre port, qui exécute une commande Mongo et renvoie le statut. J'ai fait cela en utilisant github.com/olafz/percona-clustercheck pas pour mongo, mais pour mysql. l'idée de base devrait être la même.
0 votes
J'ai écrit la réponse originale et si je devais essayer de le faire, j'utiliserais la commande isMaster - c'est ce que les pilotes utilisent, cela ne nécessite pas d'authentification, ni de verrouillage, etc. Vous devriez chercher à ce que le booléen situé ici soit vrai pour les écritures, faux pour les lectures secondaires : docs.mongodb.org/manual/reference/command/isMaster/ Je ne suis pas sûr que cela soit vraiment utile, étant donné la manière dont les pilotes fonctionnent.