Но последний коммит был 30 июня 2018 и с тех пор автор не отвечает.
Есть другой модуль, nginx-lua-prometheus. Под debian есть инструкция через установку libnginx-mod-http-lua, но centos тут в пролёте, так что собираем первый.
Для успешной сборки нужно доставить несколько пакетов
yum -y install gperftools-devel GeoIP-devel gd-devel perl-devel libxslt-devel perl-ExtUtils-Embed.noarch
Сборка в виде статического модуля
- Clone the git repository.
shell> git clone git://github.com/vozlt/nginx-module-vts.git - Add the module to the build configuration by adding --add-module=/path/to/nginx-module-vts
- Build the nginx binary.
- Install the nginx binary.
Есть возможность собрать динамический модуль. Краткое описание по сборке например тут
Собираем модуль под centos. Но если просто скачать некие исходники - модуль скорее всего не подцепится и скажет binary incompatible. Попробуем собраться под epel.
Готовим наш модуль
cd
git clone git://github.com/vozlt/nginx-module-vts.git
Качаем http://download-ib01.fedoraproject.org/pub/epel/7/SRPMS/Packages/n/nginx-1.12.2-2.el7.src.rpm и ставим (rpm -Uvh), получаем исходники в rpmbuild. Теперь внесём измененния в спек файл
vim ~/rpmbuild/SPECS/nginx.spec
после --with-stream_ssl_module \ добавляем
--add-dynamic-module=$HOME/nginx-module-vts \
(Обращаем внимание, что он уже идёт как add-dynamic-module, а не add-module)
После блока %description mod-stream вставляем
%package mod-http-vts
Group: System Environment/Daemons
Summary: Nginx extended status modules
Requires: nginx
%description mod-http-vts
%{summary}.
echo 'load_module "%{_libdir}/nginx/modules/ngx_stream_module.so";' \
> %{buildroot}%{_datadir}/nginx/modules/mod-stream.conf
добавляем
echo 'load_module "%{_libdir}/nginx/modules/ngx_http_vhost_traffic_status_module.so";' \
> %{buildroot}%{_datadir}/nginx/modules/mod-http-vts.conf
После %files mod-stream добавляем
%files mod-http-vts
%{_datadir}/nginx/modules/mod-http-vts.conf
%{_libdir}/nginx/modules/ngx_http_vhost_traffic_status_module.so
Дальше делаем rpmbuild -ba nginx.spec
и можем ставить наш модуль из пакета nginx-mod-http-vts-*
При возникновении ошибки
line 80: --with-google_perftools_module: command not found
Смотрим те строки что мы добавили, вероятнее всего забыт backslach после add-dynamic-module.
По использовании читаем гит доку, там нет ничего сложного.
Поправьте строку
ОтветитьУдалить> %{buildroot}%{_datadir}/nginx/modules/mod-http_vts.conf
на
> %{buildroot}%{_datadir}/nginx/modules/mod-http-vts.conf
поправлено
Удалить