Страница 1 из 1

Проблемы в работе rotate

Добавлено: 2007-07-02 16:44:03
anton284
Добрый день уважаемые.
Я недавно перешел на использование FreeBSD в качестве шлюза в интернет,ранее использовал winroute. Настроил по многочисленным манам, статьям, в том числе и с этого сайта, шлюз: Nat, Squid, Firewall, Sarg. FreeBSD версии 6.0 В общем-то всё работает.
Возникла у меня проблема такого характера, а именно нормальная ротация логов.

Код: Выделить всё

squid -k rotate
запущенный с правами root выводит следущее:

Код: Выделить всё

Could not send signal 30 to process 562
Понимаю, что возможно проблема в том что у squid не может создать файл с PID, т.к он у меня датирован датой установки squid. Но какого хрена squid тогда может создавать и писать лог файлы??? Как это решается? Удаление PID файла не помогает. Не работает так же команда

Код: Выделить всё

squid -k reconfigure
Приходится перезагружаться, чтоб применить изменения.

От какого пользователя работает squid при старте системы? Пользователя squid у меня нет, зато можно прописать команду:

Код: Выделить всё

crontab -u squid -e
Что это значит? Что расписание скриптов будет стартавать c правами демона squid?

Код: Выделить всё

crontab -u squid -e
Там у меня прописан

Код: Выделить всё

0 0 1 * * /usr/local/sbin/squid -k rotate 
ну типа будет ротация логов 1-го числа каждого месяца - не работает!!! Сегодня 2-е июля а логи не обнулились!!!
Вопрос... какие логи надо ротировать, имея мои сервисы.... и нельзя ли их просто удалить, например через cron, в последний день месяца? в 23.59, как ротировать логи trafd!???


Если честно , мне очень сложно всё это дело даётся :twisted: , т.к. обладаю минимум знаний о *nix системах. Слово скрипты меня вообще пугает! Поэтому просьба писать поподробней и как-нибудь попроще что ли, что-то помимо Man man :) и учи мат часть...
Посоветуйте пожалуйста какие-нибудь книги по FreeBSD , где грамотно расписано администрирование.
Заранее спасибо. С уважением Антон.

Добавлено: 2007-07-02 16:53:35
dikens3
Ротацией занимается newsyslog.conf. Для сквид выглядит так:

Код: Выделить всё

/usr/local/squid/logs/cache.log squid:squid     644  1     *    $D0   J
/usr/local/squid/logs/access.log        squid:squid     644  1     *    $D0   J    /usr/local/squid/logs/squid.pid
Почитать что нужно можно тут:
http://forum.lissyara.su/viewtopic.php?t=3861

Добавлено: 2007-07-02 17:23:23
anton284
newsyslog.conf подправил исходя из Ваших рекомендаций...

Код: Выделить всё

/usr/local/squid/logs/cache.log squid:squid     644  1     *    $D0   J
/usr/local/squid/logs/access.log squid:squid     644  1     *    $D0   J    
/usr/local/squid/logs/squid.pid 
Всёравно пишет:

Код: Выделить всё

Could not send signal 30 to process 562
Не понимаю почему... :( как squid научить писать свой PID ???

За ссылку на книги огромное спасибо!!!

Добавлено: 2007-07-02 17:37:35
dikens3
Установка из портов нормально работает. (Откуда ставил?)
Если Pid файла нет, то прибить squid (kill процесс) и запустить заново squid.

1. Останови(убей) Squid, удали PID-Файл и запусти squid.
2. Не поможет, удали squid и установи заново из портов.

Добавлено: 2007-07-02 18:01:29
anton284
Слушай :P заработало :))))
Ставил я squid из портов. Для решения проблемы следовал рекомендациям выше

Код: Выделить всё

killall squid
удаляем PID

стартуем
Сразу проверил:

Код: Выделить всё

squid -k rotate
- Работает, создались копии логов.

Проблема была скорее всего в моих неправильных действиях после установки.
Я под root переписал PID файл вручную... уже не помню и зачем, соответственно squid не мог переписать созданный под root` ом PID файл!!! Спасибо большое за скорую помощь... Ротация заработала!!! Правда про ротацию trafd вопрос открыт... но буду копать... уже полегче стало! И всётаки можно ли удалять

Код: Выделить всё

access.log
cashe.log
store.log 
-вручную??? Или это технически не грамотно!?

Добавлено: 2007-07-02 22:22:21
dikens3
А смысл удалять файлы создаваемые squid'ом?

К примеру store.log я не веду(отключен в squid.conf)
Что каcается остальных, то попробуй удали лог файл(access.log) и посмотри что будет. Скорее всего просто не будут логи вестись. (возможно и после ротации через newsyslog тоже)

Добавлено: 2007-07-03 11:53:46
anton284
Ну смысл удаления логов squid, во всяком случае у меня - есть. У меня стоит Sarg который собирает статистику из squid` овских логов как раз. Тоесть мне нужна информация о трафике за месяц! Если логи не ротировать, то получишь статистику за 2 месяца, потом за 3 итд, тоесть раз в месяц, а предположительно в последний день месяца надо делать rotate. Раз в месяц лог squid ротируешь и статистика сбрасывается; иначе Sarg вырастет до размеров оставшегося свободного места... и что-то перестанет работать... :!: Со временем конечно вырастет, но непременно вырастет! :roll: (У меня вот вырос за 26 дней, неудачно настроил Sarg, хорошо что в офисе был, быстро поправил всё). Вот чем отличается ротация от простого удаления лога помимо автоматического бекапа старого лога я так и не понял :(.

Добавлено: 2007-07-03 13:34:03
dikens3
Ротация - это создание BACKUP'а файла(Он архивируется и занимает мало места) и создание нового(чистого)
Удаление - Просто удаление. :-)
Лично у меня по всем логам (и squid тоже) есть статистика с сегодняшнего дня и до апреля 2006 года.

Т.е. когда настроил всё, так и ведётся.

Добавлено: 2007-07-03 13:37:32
freeman
anton284 писал(а):Ну смысл удаления логов squid, во всяком случае у меня - есть. У меня стоит Sarg .................... Если логи не ротировать, то получишь статистику за 2 месяца, потом за 3 итд,.........
Вообще то Sarg можно запускать с параметрами, в том числе можно посчитать статистику за позапрошлый месяц, за прошлые 14 дней и т.д. И всё это хоть с файла за год. Сам так именно юзаю.
А ротация/чистка старых нужна чтобы местро на винте не кончилось с периодичностью исходя из индивидуальных подтребностей.

Добавлено: 2007-07-03 14:37:40
Гость
Ротация - это создание BACKUP'а файла(Он архивируется и занимает мало места) и создание нового(чистого)
Удаление - Просто удаление. :-)
Стало ещё легче. Спасибо огромное буду разбираться дальше.
Что каcается остальных, то попробуй удали лог файл(access.log) и посмотри что будет. Скорее всего просто не будут логи вестись.
Да кстати... попробовал, снёс

Код: Выделить всё

access.log
cashe.log
store.log
логи нормально создались, естественно чистые :)


А что конкретно эти строчки делают????

Код: Выделить всё

/usr/local/squid/logs/cache.log squid:squid     644  1     *    $D0   J
/usr/local/squid/logs/access.log squid:squid     644  1     *    $D0   J   
/usr/local/squid/logs/squid.pid
(возможно и после ротации через newsyslog тоже)
Как через newsyslog делается ротация??? Как только лог стал определённого размера, тогда он "режется" чтоли?

И ещё одно:
Вообще то Sarg можно запускать с параметрами, в том числе можно посчитать статистику за позапрошлый месяц, за прошлые 14 дней и т.д. И всё это хоть с файла за год.
Можно пример ввода Sarg с параметрами, например на 30 дней? :roll:

Заранее всем спасиба!!!

Добавлено: 2007-07-03 14:46:38
freeman
Anonymous писал(а):Можно пример ввода Sarg с параметрами, например на 30 дней? :roll:
man sarg

Код: Выделить всё

-d date
              Uses date as the timelimit during logfile processing. Format for
              date is dd/mm/yyyy-dd/mm/yyyy
Вот например не помню для чего считал - sarg -l /usr/local/squid/logs/access.log -d 28/02/2007-31/03/2007

Добавлено: 2007-07-03 15:10:20
Гость
Спасибо, сейчас проверим что Sarg насчитает!

Добавлено: 2007-07-03 15:54:40
dikens3

Код: Выделить всё

/usr/local/squid/logs/cache.log squid:squid     644  1     *    $D0   J
1. Путь к лог файлу (/usr/local/squid/logs/cache.log)
2. Пользователь и группа с которыми будет создан файл
3. 644 - Права для созданного файла
4. 1 - количество файлов (т.е. будет у тебя всегда 2. Т.е. 1 реальный и 1 за прошлый день)
5. Размер при достижении которого будет произведена ротация.
6. Время, во сколько нужно ротировать(можно не только по размеру, а например раз в сутки, как у меня - $D0 - 00:00:00)
7. Компрессия в bzip вроде как.(можно не сжимать старый файл к примеру)
8. Можно указать PID-ФАЙЛ.
Пример по 8:

Код: Выделить всё

/var/log/clamav/clamd.log       clamav:clamav   640  1     *    $D0   J /var/run/clamav/clamd.pid
/var/log/clamav/freshclam.log   clamav:clamav   640  1     *    $D0   J /var/run/clamav/freshclam.pid
P.S. Пишу по памяти, в инете поищи.
P.S2. newsyslog вызывается раз в час, и можно исправить это в crontab

Добавлено: 2007-07-03 15:55:52
grave
Anonymous писал(а): А что конкретно эти строчки делают????

Код: Выделить всё

/usr/local/squid/logs/cache.log squid:squid     644  1     *    $D0   J
/usr/local/squid/logs/access.log squid:squid     644  1     *    $D0   J   
/usr/local/squid/logs/squid.pid
man newsyslog
man newsyslog.conf
Ротация журналов

Добавлено: 2007-07-03 16:41:49
anton284
Спасибо dikens3, всё очень подробно расписал! Конкретно для моего случая :twisted: :)

Добавлено: 2007-07-03 16:45:21
schizoid
а кто-нить сталкивался с тем, что newsyslog с параметром ротации лога по размеру, лог ротирует, но новых логов больше не пишет. Последняя строка в логе

Код: Выделить всё

newsyslog[9300]: logfile turned over due to size>100K

Добавлено: 2007-07-03 17:25:45
anton284
Ещё один вопрос возник у меня. Относится он к trafd.
Какие параметры надо вводить, используя traflog для подсчёта трафика.

Код: Выделить всё

traflog -n -i ed0 -b1 -e181 -s
по идее суммирует весь трафик в логах от 1-й записи по 181 на интерфейсе ed0

У меня не хватает буфера в консоли чтоб увидеть верхние строчки, где пишется суммарный трафик! :( Может ввести маску какую ? или перенаправить вывод в файл? Информацию по этому вопросу не нашёл :x ! Подскажите как быть?

Добавлено: 2007-07-03 17:34:37
schizoid

Код: Выделить всё

traflog -n -i ed0 -b1 -e181 -s | more

Добавлено: 2007-07-03 17:39:27
dikens3
schizoid писал(а):а кто-нить сталкивался с тем, что newsyslog с параметром ротации лога по размеру, лог ротирует, но новых логов больше не пишет. Последняя строка в логе

Код: Выделить всё

newsyslog[9300]: logfile turned over due to size>100K
Как вариант HUP процессу нужен. Т.е. указать PID-Файл в newsyslog

Добавлено: 2007-07-03 21:34:13
schizoid
сранное что возникает не на всех логах и не всегда на тех, на которых было в прошлый раз...

Добавлено: 2007-07-03 23:13:58
dikens3
Ну тут хз.