Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» LightSquid

Автор: vworld
Дата сообщения: 31.07.2007 06:19
заметил странность у лайтсквида...лог идет например по IPпосле того как я поменял привязку IP=username то в статистике замесяц есть данные и по IP и оп username, т.е. не пересчитывается лог весь
Что не так?
Автор: lightsquid
Дата сообщения: 31.07.2007 12:04
именно так и должно быть
если изменили тип учета (в вашем случае IP->Nam)
парсер обрабатывает только один файл (ну или один день)

надо пересчитать ВСЕ отчеты. т.е. скормить логи за всь месяц.

но надо это сделать ровно 1 (один) раз.

Автор: vworld
Дата сообщения: 31.07.2007 12:31
lightsquid

Цитата:
скормить логи за всь месяц.

закономерный вопрос как?
Автор: w3d
Дата сообщения: 31.07.2007 14:35
Запустить парсер без ключа today
Автор: vworld
Дата сообщения: 31.07.2007 15:48
w3d
lightparser.pl
так если принудительно не из крона запускаю, при чем тут параметр today?
Автор: vworld
Дата сообщения: 01.08.2007 05:50
./lightparser.pl access.log.1.{gz|bz2}
спас отца русской демократии
обработка всех архивов логов за месяц..
Автор: lightsquid
Дата сообщения: 01.08.2007 12:37
>./lightparser.pl access.log.1.{gz|bz2}
>спас отца русской демократии
>обработка всех архивов логов за месяц..

правильно, только это зависит от того как ротеятятся логи
например в АСП линуксе стоит ротация раз в неделю

есть люди у которых раз в час

ну в общем виде
./lightparser.pl access.log.1.{gz|bz2}
./lightparser.pl access.log.2.{gz|bz2}
./lightparser.pl access.log.3.{gz|bz2}
./lightparser.pl access.log.4.{gz|bz2}
...
...
Автор: vladagapov
Дата сообщения: 09.08.2007 15:33
Хочу поделиться тем, что придумал для ограничения доступа к статистике.
Идея: каждый пользователь может смотреть только свою статистику, за любой период.
Два варианта:
1. В скриптах user_time.cgi, user_detail.cgi, user_month.cgi, graph.cgi переменную user объявляем как $user=$ENV{'REMOTE_ADDR'}, т.е. адрес запросившего. Получается, что детализацию за другого пользователя он посмотреть не может. Однако, он может посмотреть общую статистику, да и на чужой комп зайти посмотреть можно...
2. Заменяем переменные аргументами ($year = $ARGV[0]...), на сервере генерим скрипт
(./user_detail.cgi 2007 08 07 192.168.1.1 > 123.html), потом этот файл копируем для временной сессии. Но там теряются все ссылки.
Предложения, критика приветствуются.
Автор: CaHuTaP
Дата сообщения: 20.09.2007 09:29

Цитата:
Цитата:
а как на винде замутить работы этой софтины?

Надо немного поработать напильником
1. Создать файл cat.pl с таким текстом
while ( <> ) {
print;
}
и положить в каталог установки lightsquid
2. изменить lightparser.pl - поискать в тексте "cat" и заменить на "cat.pl"
3. Во всех файлах *.cgi заменить первую строку #!/usr/bin/perl на #!c:/perl/bin/perl.exe


все так и сделал, но при запуске lightparser.pl тишина...куда копать?
Автор: lightsquid
Дата сообщения: 20.09.2007 16:53
есть еще вариант, но он отшибет поддержку архивов как класа

заменить
open FF, "$catname $logpath/$filename|" || die "can't access log file\n";

на
open FF, "$logpath\\$filename" || die "can't access log file\n";
Автор: CaHuTaP
Дата сообщения: 28.09.2007 10:38
как скормить парсеру архивы типа logDDMMYY.gz (внутри лог файл logDDMMYY)?
Автор: lightsquid
Дата сообщения: 28.09.2007 17:53
вариантов - много, от
просто временно переименовать/скопировать ваши файлы и пускать парсер
до
править исходник

т.к. таск как я понимаю надо сделать единожды, то я бы сделал 1-й вариант

типац икла по вфсм файлам, копируем его в файл с нужным именем, пускаем парсер, удаляем файл.

Автор: Nilfgardec
Дата сообщения: 16.10.2007 15:44
Такая беда. Поставил lighstquid

Проверяю используя броузер, откройте страницу http://<адрес_хоста_с_Apache>/lightsquid/ - Не находит страницу.

Если просто http://<адрес_хоста_с_Apache> пишет It works!

Что надо сделать, чтоб заработало?
Автор: sergzt
Дата сообщения: 17.10.2007 21:50
при запуске руками ./lightparser.pl говорит такое:
Warning, `/var/www/html/reports/lightsquid/report/lockfile` exist, maybe anoter process running !
LockPID : 5007
tsdelta : 1590 second(s) (maxlocktime: 1800)

+вся статистика обнулилась (кроме "Популярные сайты" и "Кто скачал БОЛЬШИЕ файлы" )

в чем проблема?

PS 3 дня считало все нормально

Добавлено:
проблема решилась сама собой понятия не имею как


Автор: dvserg
Дата сообщения: 27.10.2007 21:44
Тема для 1.7 http://www.diskatel.narod.ru/
Автор: BBC7
Дата сообщения: 27.10.2007 23:55
Поставил lightsquid параллельно с SARG, обработка логов Dansguardian (логи в формате squid) - симпатии к первому.
В lightsquid'е только заменил слово в пути папки логов "squid' на "dansguardian".
Автору удачи и поддерживаю просьбу о MAC-адресах - т.к. используется DHCP и поэтому IP-адрес не говорит ни о чем... А "умников" умеющих менять MAC'и у нас пока нет...
Автор: CaHuTaP
Дата сообщения: 29.10.2007 08:04
скажите, можно ли как-ни будь прикрутить отчет big files за месяц по юзерам, а не только по дням?
Автор: lightsquid
Дата сообщения: 29.10.2007 19:31


Цитата:
Поставил lightsquid параллельно с SARG, обработка логов Dansguardian (логи в формате squid) - симпатии к первому.
В lightsquid'е только заменил слово в пути папки логов "squid' на "dansguardian".

Спасибо

Цитата:

Автору удачи и поддерживаю просьбу о MAC-адресах - т.к. используется DHCP и поэтому IP-адрес не говорит ни о чем... А "умников" умеющих менять MAC'и у нас пока нет...

а в чем проблемма ??
в каком поле есть мак, приведите пример.

если он в стандартном или его можно добыть - то проблемм нет вообще

Добавлено:

Цитата:
скажите, можно ли как-ни будь прикрутить отчет big files за месяц по юзерам, а не только по дням?


сейчас нет, а если не секрет, зачем ?

в теории не очень сложно сделать одним списком.
Автор: BBC7
Дата сообщения: 30.10.2007 21:29

Цитата:
а в чем проблемма ??
в каком поле есть мак, приведите пример.

если он в стандартном или его можно добыть - то проблемм нет вообще

Для DHCP-сервера, запущенного на этой же машине, MAC-адрес и соответствующие IP и имя клиентского компьютера можно получить из файла current в /var/log/dhcpd.
Кусок из этого файла:

@40000000471d7b032946c3cc DHCPREQUEST for 192.168.0.61 from 00:1a:92:71:83:12 (AMD3000) via eth0
@40000000471d7b032946d36c DHCPACK on 192.168.0.61 to 00:1a:92:71:83:12 (AMD3000) via eth0
@40000000471d7b0600c4c124 DHCPREQUEST for 192.168.0.61 from 00:1a:92:71:83:12 (AMD3000) via eth0
@40000000471d7b0600c4d4ac DHCPACK on 192.168.0.61 to 00:1a:92:71:83:12 (AMD3000) via eth0
@40000000471d839a1d36244c DHCPREQUEST for 192.168.0.90 from 00:15:58:4a:53:78 (p4) via eth0
@40000000471d839a1d363bbc DHCPACK on 192.168.0.90 to 00:15:58:4a:53:78 (p4) via eth0
Автор: lightsquid
Дата сообщения: 31.10.2007 12:39

Цитата:
Для DHCP-сервера, запущенного на этой же машине, MAC-адрес и соответствующие IP и имя клиентского компьютера можно получить из файла current в /var/log/dhcpd.
Кусок из этого файла:

@40000000471d7b032946c3cc DHCPREQUEST for 192.168.0.61 from 00:1a:92:71:83:12 (AMD3000) via eth0
@40000000471d7b032946d36c DHCPACK on 192.168.0.61 to 00:1a:92:71:83:12 (AMD3000) via eth0
@40000000471d7b0600c4c124 DHCPREQUEST for 192.168.0.61 from 00:1a:92:71:83:12 (AMD3000) via eth0
@40000000471d7b0600c4d4ac DHCPACK on 192.168.0.61 to 00:1a:92:71:83:12 (AMD3000) via eth0
@40000000471d839a1d36244c DHCPREQUEST for 192.168.0.90 from 00:15:58:4a:53:78 (p4) via eth0
@40000000471d839a1d363bbc DHCPACK on 192.168.0.90 to 00:15:58:4a:53:78 (p4) via eth0


т.е. в самом репорте сквида нет данных о мак ? только ip ?

да не проблемма !
для этого и существует ip2name

там три функции

в ините парсим это файл, создаем соответствие ip mac и по идее времени (если надо)

далие втроая функция по ип добывает нужное

третья в данном случае будет пустрой

примеры - можно глянуть в папке ip2name

кстате есть готовый пример для статик dhcp
парсит конфиг дхцп выдерает от туда регистрационные ники

Автор: CaHuTaP
Дата сообщения: 06.11.2007 14:09

Цитата:
Цитата:
скажите, можно ли как-ни будь прикрутить отчет big files за месяц по юзерам, а не только по дням?


сейчас нет, а если не секрет, зачем ?

в теории не очень сложно сделать одним списком.


для решения "политических вопросов" с пользователями...часть бывает нужна статистика их деяний за длителный период
Автор: CaHuTaP
Дата сообщения: 09.11.2007 13:38
можно ли сделать проверку на существование директории с датой и если она существует, не перезаписывать ее, затирая содержимое, а создававать еще одну, допустим, с префиком "-1"?
Автор: FantOS
Дата сообщения: 09.11.2007 14:54
Вот переделал немного стандартный скрипт ip2name.dhcp под свои нужды, теперь анализируется файл dhcp сервера (у меня это /var/db/dhcpd/dhcpd.leases) в котором есть информация о том какому компьютеру какой ip выдан, соответсвенно выдирается пара ip:имя_компа, очень удобно, мож еще кому сгодится
ip2name.mydhcp

Код:
#use /var/db/dhcpd/dhcpd.leases
#look like
#lease 192.168.0.85 {
# starts 3 2007/11/07 01:56:06;
# ends 3 2007/11/14 01:56:06;
# binding state active;
# next binding state free;
# hardware ethernet 00:15:f2:e0:69:4d;
# uid "\001\000\025\362\340iM";
# client-hostname "Sasha";
#}

use Socket;

sub StartIp2Name() {
my $body = Readdhcpd_leases();
while ($body =~ m/\nlease (.*?)\s?\{(.*?)\}/sig) {
my $ip = $1;
my $tmp = $2;
$tmp =~ m/\n(.*)?hostname\s"(.*)?"/;
my $host = $2;
$host = "\u\L$host";
$hIP{$ip} = $host;
}
}

sub Ip2Name($$$) {
#$Lhost,$user,$Ltimestamp
if (exists($hIP{$Lhost})) {
$Lhost = $hIP{$Lhost};
}
return $Lhost;
}

sub StopIp2Name() {
}

sub Readdhcpd_leases() {
local $/;
my $file;
open FFAAAA,"<","/var/db/dhcpd/dhcpd.leases";
$file=<FFAAAA>;
close FFAAAA;
return $file;
}

#warning !!!!
1;
Автор: lightsquid
Дата сообщения: 12.11.2007 11:34


Цитата:
можно ли сделать проверку на существование директории с датой и если она существует, не перезаписывать ее, затирая содержимое, а создававать еще одну, допустим, с префиком "-1"?

а в чем смысл ?
он же не будет обрабатывться ?
зачем плодить мусор ?

Добавлено:

Цитата:
Вот переделал немного стандартный скрипт ip2name.dhcp под свои нужды, теперь анализируется файл dhcp сервера (у меня это /var/db/dhcpd/dhcpd.leases) в котором есть информация о том какому компьютеру какой ip выдан, соответсвенно выдирается пара ip:имя_компа, очень удобно, мож еще кому сгодится
ip2name.mydhcp


Молодец !

включу в след. релиз, когда он выйдет ...
Автор: vad73
Дата сообщения: 15.11.2007 09:42
lightsquid
Поработал с Вашей замечательной программой! Возникли кое-какие мысли!

### Ошибки:
- При большом кол-ве информации и запросе "Популярные сайты->МЕСЯЦ", после долгой паузы, Apache отваливается с такими сообщениями:
[warn] [client 172.x.x.x] Timeout waiting for output from CGI script /usr/local/www/apache22/data/moek/lightsquid/topsites.cgi, referer: http://172.x.x.x/lightsquid/index.cgi?year=2007&month=10
[error] [client 172.x.x.x] Premature end of script headers: topsites.cgi, referer: http://172.x.x.x/lightsquid/index.cgi?year=2007&month=10
(Судя по отзывам в интернете, исчерпывается какого-то системный параметр?)
- Если ID группы = 0 то в общем списке в колонке "Группа" появляется комментарий, а вот в списке разбитом по группам пользователи попадают в таблицу "вне группы" и сответственно в правой таблице с перечнем групп нет

### Пожелания/замечания:
- В lightsquid если отображается статистика не за сегодняшний день - то не делать refresh странички! (актуально, когда много строк в таблице и приходится долго ждать) !!!
- Реализовать сортировку столбцов как тут: http://htmlcoder.visions.ru/JavaScript/?22 (поделюсь своими наработками в этом скрипте)
- Чтоб можно было указывать <маску подсети> в "group.cfg"
- Не во всех формах/таблицах выводиться имя группы - рядом с именем/IP пользователя
- Не во всех таблицах выводиться итоговая строка "Всего/В среднем:"
- При выводе таблиц с группами, не верная нумерация (оставшаяся от общего списка) !!!
- При выводе отчета за день есть колонка "PutPost", при попытке понят куда пользователь так много отправил, смотрю отчете по пользователю, но этой колонки уже нет
- Очень нужен отчет: "Популярные сайты для группы" (нужно, например когда идет проверка провинившегося отдела)
(логично смотрелась бы ссылочка над каждой таблицей с отчетом по группам)
- Не хватает кнопка/ссылки HOME, для возврата на начальную страничку lightsquid'a (приходится ручками править url - не удобно)
- В отчете "Популярные сайты -> ну и Кто", не хватает нумерации строк

### Вопросы:
- Можно ли настроить чтобы некоторые "айпишники" заменялись на имена из списка - "на лету" т.е. без перегенерации отчетов?
- Если скопировать новый ".group" во все каталоги типа "/usr/local/www/lightsquid/report/ДАТА/", то имена подхватиться програмой?
- Сокращенные названия месяцев - зачем? (если в шаблоне написать полные имена - не нарушит ли это работу программы) ?

PS: FreeBSD 6.2, несколько тысяч пользователей
Прокомментируйте пожалуйста !!!
Автор: lightsquid
Дата сообщения: 15.11.2007 13:44
Первый ответ, на много интересных вопросов


Цитата:
- Реализовать сортировку столбцов как тут: http://htmlcoder.visions.ru/JavaScript/?22 (поделюсь своими наработками в этом скрипте)


это можно сделать самому, без моего участия
просто поредактировать темплейты ...

Автор: vad73
Дата сообщения: 15.11.2007 16:31
lightsquid
Я то могу - просто мне кажется - что и другие заценят - такой вариант!
А делать самому - так это до нового релиза - а потом все по новой - а вот если вы встроете - то это уже навсегда будет в портах например

А много вопросов потому что - подумал - вдруг что-то интересное для себя найдете в этой пачке !
Когда сам пишу - всегда не хватает - критики - тк всем не интересно - вот решил помочь

А вопросов много т.к. долго их собирал - пока работал с программой
Если будет время и желание - поделитесь ответами
Автор: Harmont
Дата сообщения: 17.11.2007 07:50
Объясните мне принцип работы lightsquid. Я обсчитал им статистику за один день и посмотрел цифру по конкретному IP. Получил 8.8MB. После чего я сделал ручную выборку и получил 576.8MB. lighsquid выбрасывает какие-то данные из статистики? Или я как-то неправильно посчитал вручную? При ручном подсчете, я просто сложил байты по каждой строчке. Может быть я не прав и в логах squid идет аккумуляция, как в NetFlow?

Даже если и так. Я сделал еще одну выборку. Уже по другому IP. Lightsquid показал 0. А ручная выборка 25MB. Все эти 25MB были запросы с этого IP, получившие отлупы squid'а, т.к. этот адрес был забанен. Почему lightsquid их не учел?
Автор: vad73
Дата сообщения: 26.11.2007 12:32
Жаль - что автору - похоже не очень интересно обсуждение

Ну хоть скажите в каком направлении поработать - чтоб реализовать это:

Цитата:
- Очень нужен отчет: "Популярные сайты для группы" (нужно, например когда идет проверка провинившегося отдела)
(логично смотрелась бы ссылочка над каждой таблицей с отчетом по группам)
Автор: lightsquid
Дата сообщения: 28.11.2007 13:51
ответ получился большой,

Начнем с начала, принимаем во внимание что
>PS: FreeBSD 6.2, несколько тысяч пользователей


>### Ошибки:
>- При большом кол-ве информации и запросе "Популярные сайты->МЕСЯЦ", после долгой паузы,
> pache отваливается с такими сообщениями:
> [warn] [client 172.x.x.x] Timeout waiting for output from CGI script /usr/local/www/apache22/data/moek/lightsquid/topsites.cgi,
> referer: >http://172.x.x.x/lightsquid/index.cgi?year=2007&month=10
> [error] [client 172.x.x.x] Premature end of script headers: topsites.cgi, referer: http://172.x.x.x/lightsquid/index.cgi?year=2007&month=10
> (Судя по отзывам в интернете, исчерпывается какого-то системный параметр?)
исходя из "несколько тысяч пользователей" апач просто не дожидается окончания работы скрипта, путь испраовлния - увеличить таймаут для CGI
по идее это параметр Timeout в apache.cong


>- Если ID группы = 0 то в общем списке в колонке "Группа" появляется комментарий, а вот в списке разбитом по группам пользователи попадают в таблицу "вне группы" и
> сответственно в правой таблице с перечнем групп нет
это как говорится ByDesign, так и задумано, используйте номер группы болше 0, благо их много ....
как я понимаю по тексту ниже захотелось сделать группы по подсетям ?
просто присвойте 0 сети другой номер

>### Пожелания/замечания:
>- В lightsquid если отображается статистика не за сегодняшний день - то не делать refresh странички! (актуально, когда много строк в таблице и приходится долго ждать) !!!
найти в common.pl такой код
my $meta=qq(<META HTTP-EQUIV="REFRESH" CONTENT="600">\n).
qq(<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">\n).
qq(<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">\n).
qq(<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="post-check=0,pre-check=0">\n).
qq(<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="max-age=0">\n).
qq(<meta http-equiv="expires" content="0">\n).
qq(<meta http-equiv="Last-Modified" content=").gmtime(time).qq( GMT">\n);

и в нем например удалить
my $meta=qq(<META HTTP-EQUIV="REFRESH" CONTENT="600">\n).

получим

my $meta=qq(<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">\n).
qq(<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">\n).
qq(<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="post-check=0,pre-check=0">\n).
qq(<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="max-age=0">\n).
qq(<meta http-equiv="expires" content="0">\n).
qq(<meta http-equiv="Last-Modified" content=").gmtime(time).qq( GMT">\n);

ну или увеличить таймаут

>- Реализовать сортировку столбцов как тут: http://htmlcoder.visions.ru/JavaScript/?22 (поделюсь своими наработками в этом скрипте)
это подумаю, но если есть желание - делайте, я включу в релиз, помощь ОЧЕНЬ приветсвуется

>- Чтоб можно было указывать <маску подсети> в "group.cfg"
имхо это достаточно разовая операция, можно один раз и сгенерить нужный файл
но в теории может и добавлю ...
просто это не универсално получается, есть люди которые работают не с IP а с именами.

>- Не во всех формах/таблицах выводиться имя группы - рядом с именем/IP пользователя
Конкретнее, список пожалуйста в студию

>- Не во всех таблицах выводиться итоговая строка "Всего/В среднем:"
Конкретнее, список пожалуйста в студию

>- При выводе таблиц с группами, не верная нумерация (оставшаяся от общего списка) !!!
Это не баг, это фича,
эта цифра позволяет оценить на каком месте этот человек в "Общем зачете"
чтоб сделать нумерацию внутри групп, надо немного код подправить.

>- При выводе отчета за день есть колонка "PutPost", при попытке понят куда пользователь так много отправил, смотрю отчете по пользователю, но этой колонки уже нет
Да к сожаделению это так, и так и останется.
так же как и Hit %
сейчас по другому тяжело сделать

>- Очень нужен отчет: "Популярные сайты для группы" (нужно, например когда идет проверка провинившегося отдела)
> (логично смотрелась бы ссылочка над каждой таблицей с отчетом по группам)
ух ты, как все сложно
надо будет подумать ...

>- Не хватает кнопка/ссылки HOME, для возврата на начальную страничку lightsquid'a (приходится ручками править url - не удобно)
Ага, это фича на первом месте для след релиза
но это вопрос темплейта ... (т.е. самому при случае можно исправить)

>- В отчете "Популярные сайты -> ну и Кто", не хватает нумерации строк
ужасть, эт сколькож юзеров нужно чтоб счетчик понадобился
делается элементарно, но нужно время ...

>### Вопросы:
>- Можно ли настроить чтобы некоторые "айпишники" заменялись на имена из списка - "на лету" т.е. без перегенерации отчетов?
не понял, подробнее

>- Если скопировать новый ".group" во все каталоги типа "/usr/local/www/lightsquid/report/ДАТА/", то имена подхватиться програмой?
да, конечно, веб часть опперирует только данными из каталога.

>- Сокращенные названия месяцев - зачем? (если в шаблоне написать полные имена - не нарушит ли это работу программы) ?
программе точно все равно, так принято
берите и редактируйте .lng файл
результат будет видно при след заргузке страницы


Страницы: 1234567891011121314

Предыдущая тема: Какой кабель использовать для VDSL


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.