Мониторинг длины очереди беспородных - PullRequest
0 голосов
/ 21 января 2009

У меня есть установка Apache + Haproxy + Mongrel Cluster. Я хочу получать уведомления всякий раз, когда длина моей очереди Mongrel становится слишком большой.

Как узнать текущую длину очереди Mongrel и сделать ее доступной для таких инструментов оповещения, как Monit и Nagios?

Я знаю, что у Haproxy есть информация об очереди Mongrel, поскольку она разумно отправляет запросы наименее занятому Mongrel в кластере. Интересно, как это выяснить? Мне нужен аналогичный механизм для генерации предупреждений и / или перезапуска шавок, когда такое условие наступает.

Ответы [ 2 ]

1 голос
/ 10 апреля 2009

Добавьте это к вашей конфигурации haproxy

        stats uri /haproxy/hastats

Затем используйте lynx, чтобы получить такую ​​статистику: (при условии, что haproxy работает на порту 10000 - отрегулируйте в соответствии с требованиями)

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

Каждый будет иметь строку для каждой из записей вашего сервера в файле конфигурации haproxy, сообщая вам, работает ли он или нет, какова длина очереди, например:

            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

Теперь все, что вам нужно, это скрипт для получения текущей очереди (столбец 6) и подачи ее в nagios, и вы ушли!

0 голосов
/ 09 апреля 2009

RPM-продукт New Relic (www.newrelic.com) содержит информацию о длине очереди Mongrel. У них есть API, который вы можете использовать, чтобы получать информацию о длине очереди почти в реальном времени и соответствующим образом корректировать балансировку нагрузки.

Более подробную информацию об API можно получить по адресу: https://newrelic.tenderapp.com/faqs/docs/data-api

Надеюсь, это поможет.

...