0 votes

Contrôle de la longueur de la file d'attente Mongrel

J'ai une installation Apache + Haproxy + Mongrel Cluster. Je souhaite recevoir des alertes lorsque la longueur de la file d'attente de Mongrel devient trop importante.

Comment puis-je obtenir la longueur actuelle de la file d'attente Mongrel et la rendre disponible pour des outils d'alerte tels que Monit et Nagios ?

Je sais que Haproxy dispose des informations sur la file d'attente Mongrel car il envoie intelligemment les demandes au Mongrel le moins occupé du cluster. Je me demande comment il le découvre. J'ai besoin d'un mécanisme similaire pour générer des alertes et/ou redémarrer les mongres lorsqu'une telle condition se présente.

1voto

Cody Musser Points 131

Ajoutez ceci à votre configuration haproxy

        stats uri /haproxy/hastats

Utilisez ensuite lynx pour obtenir les statistiques comme suit : (en supposant que haproxy fonctionne sur le port 10000 - à adapter)

 lynx --dump http://my-server:10000/haproxy/hastats

Il y aura une ligne pour chaque entrée de votre serveur dans le fichier de configuration de haproxy, vous indiquant s'il est en place ou non, quelle est la longueur de sa file d'attente, comme ceci :

            Server                 Queue             Sessions                    Errors
  Name    Weight Status Act. Bck. Curr. Max. Curr. Max. Limit  Cumul.   Conn. Resp. Sec. Check Down
primary     1      UP    Y    -      0    0    68  386     - 134385861   207   699    0  7028  150
secondary    1      UP    Y    -      0    0    71  248     - 134464984   216   551    0  7129   98

Il ne vous reste plus qu'à créer un script pour récupérer la file d'attente actuelle (colonne 6) et l'introduire dans nagios, et le tour est joué !

0voto

md. Points 73

Le produit RPM de New Relic (www.newrelic.com) conserve des informations sur la longueur de la file d'attente Mongrel. Il dispose d'une API que vous pouvez utiliser pour obtenir des informations en temps quasi réel sur la longueur de la file d'attente et ajuster l'équilibrage de la charge en conséquence.

Vous pouvez obtenir plus d'informations sur l'API à l'adresse suivante : https://newrelic.tenderapp.com/faqs/docs/data-api

J'espère que cela vous aidera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X