Ежемесячные архивы: September 2012

SAMS перестал считать трафик, решение проблемы

Столкнулся со следующей проблемой: SAMS работал-работал и вдруг перестал считать трафик. В базе данных в таблицу squidcache ничего не пишется. Полдня искал проблему (поиск в интернете упорно ничего не давал) и всё-таки нашёл: отрицательный offset (смещение с начала файла) у access.log.

Как узнать, что у вас такая же проблема?

  1. На странице настроек прокси в веб-интерфейсе SAMS (SQUID -> Название прокси-сервера, по умолчанию Proxy server) посмотреть строчку «Смещение с начала файла access.log (byte)». Если там отрицательное число — значит у вас такая проблема.
  2. Запустить sams2daemon --config=/usr/local/etc/sams2.conf --no-fork --debug=10 --logger=console (по умолчанию находится в директории /usr/local/bin). Сразу после запуска он начнёт парсить access.log и вскоре будет подобная строчка: squidlogparser.cpp:149 [0x9bb4348->parseFile] file size 64743249, use offset 4661223. Если здесь «use offset» отрицательный — значит у вас такая проблема.

Как исправить?

Зайти в базу SAMS (обычно sams2db) в консоли БД и исправить параметр s_endvalue (например, поставить туда 1) у нужного прокси (таблица proxy). Если в вашей конфигурации всего 1 прокси, то проще всего это сделать командой update proxy set s_endvalue=1;

После этого необходимо перезапустить sams2daemon, иначе новые настройки он не подхватит!