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