Form-input-nginx-module: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) (Новая страница: «Категория:Nginx Категория:nagios Категория:Linux =form-input-nginx-module=») |
Sirmax (обсуждение | вклад) |
||
| Строка 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> |
||
Версия 16: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;
}
}