Столкнулся со следующей проблемой: SAMS работал-работал и вдруг перестал считать трафик. В базе данных в таблицу squidcache ничего не пишется. Полдня искал проблему (поиск в интернете упорно ничего не давал) и всё-таки нашёл: отрицательный offset (смещение с начала файла) у access.log.
Как узнать, что у вас такая же проблема?
- На странице настроек прокси в веб-интерфейсе SAMS (SQUID -> Название прокси-сервера, по умолчанию Proxy server) посмотреть строчку «Смещение с начала файла access.log (byte)». Если там отрицательное число — значит у вас такая проблема.
-
Запустить
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, иначе новые настройки он не подхватит!
Свежие комментарии