Form-input-nginx-module: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
(Новая страница: «Категория:Nginx Категория:nagios Категория:Linux =form-input-nginx-module=»)
 
Строка 3: Строка 3:
 
[[Категория:Linux]]
 
[[Категория:Linux]]
 
=form-input-nginx-module=
 
=form-input-nginx-module=
  +
Это модуль который позволяет выдергивать переменные из POST (для GET возможность встроенная)
  +
  +
Пример устнаовки для убунту:
  +
  +
<BR>
  +
Вся работа в /usr/src
  +
<PRE>
  +
cd /usr/src
  +
</PRE>
  +
Скачать модуль и зависимость (https://github.com/calio/form-input-nginx-module)
  +
<PRE>
  +
git clone https://github.com/calio/form-input-nginx-module.git
  +
git clone https://github.com/simpl/ngx_devel_kit.git
  +
</PRE>
  +
  +
Установить зависимости для сборки и скачать исходники nginx (пакета а не самого nginx, для того что бы пересобрать пакет)
  +
<PRE>
  +
apt-get build-dep nginx
  +
apt-get source nginx
  +
</PRE>
  +
Отредактировать debian/rules: добавить пути к модулям
  +
  +
<PRE>
  +
--add-module=/usr/src/ngx_devel_kit/ \
  +
--add-module=/usr/src/form-input-nginx-module \
  +
</PTE>
  +
Пересобрать пакеты
  +
<PRE>
  +
dpkg-buildpackage
  +
<PRE>
  +
... и установить их.
  +
<BR>
  +
После чего можно использовать такую конструкцию:
  +
<PRE>
  +
  +
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;
  +
}
  +
  +
  +
}
  +
  +
</PRE>

Версия 17:14, 18 апреля 2016

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 \
</PTE>
Пересобрать пакеты
<PRE>
dpkg-buildpackage
<PRE>
 ... и установить их.
<BR>
После чего можно использовать такую конструкцию:
<PRE>

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;
    }


}