Трекинг в мультисерверной среде

TDz TDz tdz at modestus.org
Fri May 25 06:49:56 MSD 2007


Столкнулся с довольно стандартной проблемой - создавая распределённое
приложение на стадии тестирования хочется иметь побольше деталей о том как
именно была сгенерирована страница
Расклад у нас примерно следующий - само приложение на Ruby и сервится
монгрелами, выдаёт статичный HTML код который полностью ложится в memcached.
А nginx занимается тем что получив запрос пытается получить страницу из кеша
и в случае неудачи проксирует запрос на один из монгрелов

Это работает быстро и надёжно но для дебага мне хотелось бы чтоб nginx к
концу выдачи приписывал несколько деталей в виде комментария - идентификатор
самого вебсервера, если страница получена из кеша то сообщение мол получил
из кеша, если была отдана с монгрелов то с какого именно и за какое время.
Переменные эти все в nginx есть но я что-то не соображу как это правильно
вывести. Насколько я понимаю можно использовать ngx_http_sub_module - тогда
переменные можно вписывать просто в текст. А можно через
ngx_http_addition_module но тогда надо использовать либо перл либо SSI
насколько я понимаю для собирания нужной информации в файл к тому же
переменные например адрес конкретного монгрела доступны в пределах модуля
upstream и не знаю доступны ли они вне его

Сейчас используется временный конфиг такого вида грубо

        location / {
            set $memcached_key "project:production:$uri";
            memcached_pass localhost:11211;
            error_page 404 = /ruby;
            error_page 502 = /ruby;
        }

        location /ruby {
            internal;
            proxy_pass http://mongrels;
        }


Посоветуйте плз как вернее организовать вывод таким образом чтоб поместить в
него всю необходимую информацию, можно ли переменные будет просто
использовать или их надо сначала глобально дефинировать и в пределах
отдельных модулей инициализировать etc

Заранее благодарен
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20070525/adc2a331/attachment.html>


More information about the nginx-ru mailing list