среда, 16 апреля 2014 г.

Отладка редиректов между nginx и upstream (proxy_pass) и не только

Возникла проблема с редиректами между nginx'ом и upstream-приложением, которое висит за nginx'ом. Т.к. смотреть трафик tcpdump'ом не очень удобно (парсить глазами быстро надоедает), а tshark в лайв режиме не умеет показывать больше одного tcp-потока (tcp.stream), на помошь пришла утилита tcpflow. Чем же она хороша? Tcpflow обрабатывает трафик с интерфейса (в моём случае я смотрел тарфик в lo), вычленяет из него tcp stream и выводит на консоль или сохраняет каждый поток в отдельный файл. При выводе в stdout умеет подсвечивать разными цветами сообщения клиента и сервера. Для фильтрации трафика применяется BPF как в tcpdump'e. Для вывода на консоль я использовал следующие параметры:
tcpflow -e -c -i lo "port 8080"
  • "-e" - подсветка клиент/сервер
  • "-с" - вывод в stdout вместо записи в файлы
  • "-i lo" - обрабатываем трафик с интерфейса lo
  • "port 8080" - BPF-фильтр

понедельник, 14 апреля 2014 г.

OpenVZ fuse to container

vzctl set 14029 --devices c:10:229:rw --save
vzctl set 14029 --devnodes fuse:rw --save

Warning: в конфиге контейнера будут затёрты старые значения переменных devices и devnodes