среда, 1 октября 2014 г.

Если время в XEN виртуалке убегает и NTP не помогает

Чтобы почить сие недостойное поведение можно сделать так:
sysctl xen.independent_wallclock = 1
Проверить можно так:
cat /proc/sys/xen/independent_wallclock 
Далее настройте NTP для регулярной синхронизации времени.

среда, 10 сентября 2014 г.

HTTPS и APT

Добавил, я значит, репозиторий с https, а мне выдало "The method driver /usr/lib/apt/methods/https could not be found"
Оказывается, чтобы в debina-based дистрах можно было ходить за пакетами по https нужно установить отдельный пакет:
sudo apt-get install apt-transport-https

понедельник, 1 сентября 2014 г.

Прослушивание unix-сокета

sudo mv /path/to/sock /path/to/sock.original
sudo socat -t100 -x -v UNIX-LISTEN:/path/to/sock,mode=777,reuseaddr,fork UNIX-CONNECT:/path/to/sock.original

Взял тут: http://superuser.com/questions/484671/can-i-monitor-a-local-unix-domain-socket-like-tcpdump

среда, 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

понедельник, 31 марта 2014 г.

Полное отключение кеширования PowerDNS

Добавить в конфиг следующие строчки:

cache-ttl=0
recursive-cache-ttl=0
negquery-cache-ttl=0
query-cache-ttl=0
soa-minimum-ttl=0

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

Диапазон IP в iptables. Модуль iprange

При написании правила iptables нужно было указать не подсеть, а именно диапазон IP-адресов, задача решается с помощью модуля iprange:
iptables -t nat -A POSTROUTING -m iprange --src-range '10.0.0.3-10.0.0.7' -d 10.0.2.2 -j MASQUERADE

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

Доступ к данным на RAID/LVM при загрузке с livecd

Сначала нужно собрать массив, затем активировать тома LVM, самый простой путь такой:
mdadm --assemble --scan # поиск и сборка доступных массивов
vgchange -a y <имя_группы> # активация группы томов

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

Zabbix icmp pinger processes more than 75%

Прилетело мне тут на почту следующее сообщение:
Zabbix icmp pinger processes more than 75%

Проблема давно известная, но решил что раз уж завёл бложик, то пусть всё будет в одном месте :)

Итак, решение следующее: нужно тупо увеличить количество инстансов пингера, за это отвечает параметр StartPingers в конфиге zabbix-server'a. В моём случае конфиг лежит в /etc/zabbix/zabbix_server.conf

воскресенье, 12 января 2014 г.

Batch renaming files. Bash

Потребовалось мне тут кучку файлов переименовать по шаблону. Сначала начал искать специальную утилиту и смотреть в сторону xargs, но в баше же есть возможность обработки переменных! Итак, убрать в конце имени файла ".part" (артефакты от transmission):
for i in Movies/*/*.part; do mv "$i" "${i%%\.part}" ; done 

Замена части имени:
for i in *blur*.h; do mv $i ${i/blur/sharp}; done