Статистика для Upstream NginX


При использовании NginX в качестве балансировщика нагрузки появляется вопрос о корректном ведении статистики доставки трафика к серверам из секции Upstream.

К сожалению у Nginx нету встроенного функционала на манер HaProxy. Также этот функционал нельзя добавить путем установки дополнительного модуля с помощью yum или apt-get.

Для того что бы в NginX появилось что-то подобное, его прийдется компилировать из исходников и в ходе компиляции включать сторонний модуль upstream-stats.

Этот модуль совместим с nginx-1.2.2. Последнюю версию NginX мне собрать не удалось.
Скачиваем NginX и распаковываем его:

wget http://nginx.org/download/nginx-1.2.2.tar.gz
tar xf nginx-1.2.2.tar.gz

Скачиваем upstream-stats и распаковываем его:

wget http://www.tech-notes.net/wp-content/uploads/2014/11/ustats.tgz
tar xf ustats.tgz

Копируем файлы в папки NginX

cp -r ustats-read-only/ustats nginx-1.2.2/src/http/modules/
cp ustats-read-only/nginx.patch nginx-1.2.2/

Осталось применить патч и можно переходить к сборке NginX

cd nginx-1.2.2/
patch -p1 -i nginx.patch

Базовая строка конфигурирования выглядит следующим образом:

./configure --prefix=/etc/nginx --user=nginx --group=nginx --with-http_ssl_module --add-module=src/http/modules/ustats --http-log-path=/var/log/nginx/

Если Вам нужны дополнительные опции - прочитайте эту статью. В ней же приводится пример init.d скрипта и список нужных для компиляции пакетов.

Для того что бы статистика заработала - добавьте следующие строки в секцию server любого сайта:

 location /ustats {
     ustats memsize=1m;
     ustats_refresh_interval 6000;
     ustats_html_table_width 95;
     ustats_html_table_height 95;
  }

shot1

Share Button
(Visited 392 times, 1 visits today)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.