Form-input-nginx-module
Материал из noname.com.ua
form-input-nginx-module
Это модуль который позволяет выдергивать переменные из POST (для GET возможность встроенная)
Пример устнаовки для убунту:
Вся работа в /usr/src
cd /usr/src
Скачать модуль и зависимость (https://github.com/calio/form-input-nginx-module)
git clone https://github.com/calio/form-input-nginx-module.git git clone https://github.com/simpl/ngx_devel_kit.git
Установить зависимости для сборки и скачать исходники nginx (пакета а не самого nginx, для того что бы пересобрать пакет)
apt-get build-dep nginx apt-get source nginx
Отредактировать debian/rules: добавить пути к модулям
--add-module=/usr/src/ngx_devel_kit/ \ --add-module=/usr/src/form-input-nginx-module \
Пересобрать пакеты
dpkg-buildpackage
... и установить их.
После чего можно использовать такую конструкцию:
log_format nagios '[$msec] PROCESS_SERVICE_CHECK_RESULT;$arg_host;$arg_service;$arg_plugin_state;$arg_plugin_output'; #log_format nagios1 '[$msec] PROCESS_SERVICE_CHECK_RESULT;$arg_host1;$arg_service1;$arg_plugin_state1;$arg_plugin_output1'; server { access_log /var/lib/nagios3/rw/nagios.cmd nagios buffer=4k; access_log /var/log/nginx/nagios1_access_log nagios; access_log /var/log/nginx/nagios_access_log; listen 84 default_server; root /usr/share/nginx/html; index index.html index.htm; # ensure client_max_body_size == client_body_buffer_size client_max_body_size 100k; client_body_buffer_size 100k; location / { set_form_input $arg_host host; set_form_input $arg_service service; set_form_input $arg_plugin plugin; set_form_input $arg_state state; set_form_input $arg_plugin_output plugin_output; return 200; } }