Назад | Перейти на главную страницу

nginx как получить статус веб-серверов на бэкэнде?

У HAProxy есть очень хорошая страница статуса, показывающая, какие веб-серверы работают, а какие не работают. Я пытаюсь отладить некоторые проблемы, и мне нужно знать, какие серверы, по мнению nginx, работают, а какие, по его мнению, не работают. Есть ли веб-страница или что-то, что вы можете настроить для nginx, чтобы я мог просто нажать URL-адрес, когда мне понадобится такая информация?

спасибо, Дин

Есть несколько модулей, которые вы, возможно, захотите проверить:

К сожалению, из коробки это практически невозможно. vanila nginx изначально не имеет глобального состояния для восходящего потока, поэтому эта информация является локальной для каждого рабочего процесса.

Взгляните на этот модуль, кажется, он может быть вам полезен http://wiki.nginx.org/NginxHttpHealthcheckModule

Год с опозданием на этот ответ, но модуль ustats для nginx выглядит довольно впечатляюще:

https://code.google.com/p/ustats/

переехал на github https://github.com/0xc0dec/ustats

К сожалению, после 1.2 не поддерживается, но может работать.

Нашла исправную вилку https://github.com/nginx-modules/ngx_ustats_module

Патч 1.7.2 по-прежнему отлично работает против 1.7.4

Я искал простую проверку работоспособности, которую предоставляет Amazon ELB. Возможность добавления экземпляров в LB, наличие механизма проверки работоспособности для удаления неисправных экземпляров.

Итак, вот мои варианты.

  1. https://github.com/yaoweibin/nginx_upstream_check_module
  2. https://github.com/openresty/lua-resty-upstream-healthcheck
  3. Nginx также предоставляет бесплатную пассивную проверку работоспособности. Он делает именно то, что я хочу, без сложного мониторинга, без веса, без сложной проверки маршрута. Он будет пинговать сервер и проверять ответ 200. Он будет делать это по круговой системе.

    Параметр fail_timeout устанавливает время, в течение которого должно произойти указанное количество неудачных попыток и при этом сервер будет считаться недоступным. Другими словами, сервер недоступен в течение интервала, установленного fail_timeout.

    Параметр max_fails устанавливает количество неудачных попыток, которые должны произойти в течение указанного времени, чтобы сервер по-прежнему считался недоступным.

    Например:

    upstream search { server 192.168.215.43:9200 max_fails=3 fail_timeout=10s; server 192.168.171.66:9200 max_fails=3 fail_timeout=10s; }