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

» LightSquid

Автор: taelas
Дата сообщения: 19.02.2008 12:46
lightsquid
да, спасибо. идею понял.
ещё вопрос, а если у меня несколько доменов, можно ли каким либо образом делить по доменам? т.е. чтобы на главной был выбор по доменам, а потом уже внутри них разбивку по пользователям? или, например, разнос по различным группам

ps нет, не Харьков
Автор: lightsquid
Дата сообщения: 19.02.2008 12:54

Цитата:
да, спасибо. идею понял.
ещё вопрос, а если у меня несколько доменов, можно ли каким либо образом делить по доменам? т.е. чтобы на главной был выбор по доменам, а потом уже внутри них разбивку по пользователям? или, например, разнос по различным группам


максимум что можно сделать, эт отчет по группам
но файлик надо сгенерить самому.

Автор: Nuk79
Дата сообщения: 26.02.2008 15:28
Кто-нибудь сделал отключение юзверей в сквиде, при превышении лимитов, на основании blocked_users?
Автор: Ruza
Дата сообщения: 26.02.2008 22:20
Nuk79
Я сделал - работает нормально...
lightsquid
Спасибо за подсказку... Но это не совсем то что нужно...
Мне надо только одна html'ка типа
perl month_detail.cgi?year=2008&month=02 > index.html
такое возможно?
Автор: Demonster1
Дата сообщения: 27.02.2008 09:51
Ruza

Цитата:
Я сделал - работает нормально...

решение в студию плиз
Автор: lightsquid
Дата сообщения: 27.02.2008 12:23

Цитата:
Мне надо только одна html'ка типа
perl month_detail.cgi?year=2008&month=02 > index.html
такое возможно?


не проблема, сделай так как я описал выше, для оной только month_detail

если нужно в файл
то

wget "http://localhost/lightsquid/month_detail.cgi?year=2008&month=02&tpl=blablalbla" ....

через перл не получится, там параметры из cgi берутся

Автор: Doompilot
Дата сообщения: 28.02.2008 10:15
Похоже, придется реанимировать тему

Lightsquid 1.7.1 не рисует графики. Где смотреть?

Дист - Suse Enterprise Server 10.

Все библиотеки из области libgd.so и perl-GD вроде поставил, check-setup.pl ни на что не ругается, но при попытке вывести график через интерфейс в браузере рисует битую картину. При попытке взбодрить через контекстное меню ("показать картнку") пишет такую фразу:

"Изображение "http://имясервера/lightsquid/graph.cgi?png=1&year=2008&month=02&mode=user&user=имянужногохоста" не может быть показано, так как содержит ошибки.

Да, libpng стоит тоже. И jpeg стоит.

Если будет возможность, подскажите пожалуйста, куда еще поглядеть. Я, мягко говоря, совсем не специалист в перле и CGI; непонятно даже, как оттрейсить исполнение упомянутого graph.cgi.

В логах апача - ошибка следующего вида:

Can't locate object method "png" via package "GD:Image" at /srv/www/htdocs/lightsquid/graph.cgi line 294

В оной строке оператор, выглядящий:
print $im->png #Convert the image to PNG and print it to standard output

Сама GD стоит, как я говорил, check-setup.pl ее после установки увидел и
предыдущее ругательство на отсутствие выдвать перестал.

Понятно, что не работатет, собственно, функция рисования PNGшных картинок.. Но где рыть собаку - пока не понимаю...GD переставить? Ставил последнюю 2.0.35, собирал из сорцов. Вроде, на инсталляционном диске валялась более ранняя версия...

Самое гадкое, что времени на эти настройки - пара дней от силы, вольготно сидеть и копать не выйдет...
Автор: lightsquid
Дата сообщения: 28.02.2008 13:40

Цитата:
Can't locate object method "png" via package "GD:Image" at /srv/www/htdocs/lightsquid/graph.cgi line 294

похоже в твоей либгд нет поддержки PNG
а нужна ...


Цитата:
print $im->png #Convert the image to PNG and print it to standard output


попробуй заменть на
graph.cgi на следующую:


Код:
print eval {$im->png} || $im->gif;
Автор: Doompilot
Дата сообщения: 28.02.2008 14:50
Показывает!!! А можно для общего развития, что сия модификация вывода делает? Выводит везде вместо png - gif?

Да, libpng стоит...
Автор: lightsquid
Дата сообщения: 29.02.2008 00:49

Цитата:
Показывает!!! А можно для общего развития, что сия модификация вывода делает? Выводит везде вместо png - gif?



Код:
print eval {$im->png} || $im->gif;
Автор: Ruza
Дата сообщения: 29.02.2008 06:25
Demonster1
А фигли оно тут описано в теме... Но соберу в одно что то

Создаём 2 файла
limit и blocked_users

Права на файлы
первый чтение второй надо и на запись

В limit пишем список пользователей с лимитм (в байтах!!!) типа:
user 512000000

В squid.conf добавляем пару строк такого плана:
acl limit proxy_auth -i "/где он там лежит/blocked_users"
http_access deny limit

Скрипт:
создаём файл blabla.pl
Первой строкой делаем:
#!/usr/bin/perl (или где он там у вас лежит)
и вставляем туда тело скрипта из этого сообщения:
http://forum.ru-board.com/topic.cgi?forum=8&topic=13976&start=40#11
ПУТИ В СКРИПТЕ ПРАВИМ НА СВОИ!!!
Разрешаем права на запуск данного файла.

B cron добавляем:
0 */1 * * * user /где он находится/blabla.pl
user - Должен иметь права на запуск самого blabla.pl а также на чтение limit и права на запись blocked_users.

Копирайты, лефты и благодарности:
w3d, lightsquid, squid developers
Вроде всё...

lightsquid

Цитата:
wget "http://localhost/lightsquid/month_detail.cgi?year=2008&month=02&tpl=blablalbla"

Пипец... А ларчик просто открывался... Но мы не ищем лёгких путей...
Мля пора в отпуск...
Автор: Demonster1
Дата сообщения: 29.02.2008 12:13
Ruza Спасибо за систематизацию, работает!

Как теперь юзеру сообщить, что его не пускают из-за превышения лимита, а не просто так?
Автор: Ruza
Дата сообщения: 29.02.2008 17:33
Demonster1
Да вот блин сам думаю... Походу сделаю страницу расхода за месяц. Т.к. юзерам запретили показывать общую статистику. Юзеры предупреждены о расходе...
Хотя надо покопаться в сквиде и сделать редирект на какуюто ошибку, но жаль нет времени.
Автор: w3d
Дата сообщения: 29.02.2008 20:52
Да просто откорректируйте страницу в сквиде и поставьте режик - и там тоже настройте страницы сообщений
Автор: Ruza
Дата сообщения: 01.03.2008 05:55
w3d
Страницу откорректировать проще всего, уже думал над этим, но при таких раскладах страница будет отображаться и для пользователя не угадавшего пароль...

А вот про режик если можно подробнее про условие редиректа...
Автор: rg2570
Дата сообщения: 14.03.2008 14:15
2Ruza, w3d, lightsquid and other...: ребят, помогите, LightSquid уже месяц работает в связке со squid'ом (авторизация на сквиде по доменным аккаунтам, т.е. squid+samba+heimdall) ... все работает без нареканий, логи показываются, инет кэшируется и т.д. ... решил тут ввести ограничение на юзеров(пользовался схемой которую описал Ruza) ... в итоге-у меня ВСЕ пользователи независимо, от лимита попадают в blocked_users... + не могу разобраться с ACL в squid.conf... конфиг сквида, касаемо ACL примерно такой:

"
....
acl inet_users proxy_auth REQUIRED
acl limit proxy_auth -i "/usr/local/squid/blocked_users"
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl all src 0.0.0.0/0.0.0.0
http_access deny limit
http_access allow inet_users
http_access allow manager localhost
http_access deny manager
http_access deny all
....
"
подскажите, плиз, куда смотреть???

Добавлено:
так с ACL вроде разобрался .... (вся связка плохо дружит с аккаунтами, состоящих из русских символов)... а вот перловый скрипт так и не хочет нормально работать -(((
Автор: Ruza
Дата сообщения: 14.03.2008 16:16
rg2570
Я издали вижу пока 2 варианта:
1. Скрипт не вычитывает файл лимитов.
2. В файле лимитов имена юзеров отличные от лога сквида возможно кодировка.
Решения...
1. Проверить права на чтение файла.
2. Скопировать файл blocked_users в limit и дописать в каждой строке свой лимит.
Автор: rg2570
Дата сообщения: 17.03.2008 11:28
уфф все заработало .... единственный вопрос: скрипт каждый месяц автоматически обнулирует список заблокированных пользователей??? .... и можно поподробнее : "как все-таки правильнее выдавать пользователем информации об их блокировании ??? " ... кто настроил режик-поделитесь мнениями
Автор: matrich
Дата сообщения: 03.04.2008 15:09
У меня авторизация в сквиде по имени:

В lightsquid.cfg:
$userealname = 1;

В realname.cfg:
test TEST
admin ADMIN
test2 TEST2

И все равно в статистике показываются вопросы вместо realname. Где еще смотреть?
Автор: lightsquid
Дата сообщения: 04.04.2008 12:15

Цитата:
У меня авторизация в сквиде по имени:

В lightsquid.cfg:
$userealname = 1;

В realname.cfg:
test TEST
admin ADMIN
test2 TEST2

И все равно в статистике показываются вопросы вместо realname. Где еще смотреть?


для начала уточним пару основопологающих при репорте ошибке вещей

1) версия программы

2) окуружение
ОС/ Версия etc etc etc
Автор: matrich
Дата сообщения: 04.04.2008 14:51
все решилось
почему-то отсутствовала переменная cfgpath
Автор: Thomas78
Дата сообщения: 07.04.2008 15:38
[deleted]
Автор: matrich
Дата сообщения: 09.04.2008 17:19
как ограничить доступ к статистике по IP?
достаточно ли в htaccess?
Options FollowSymLinks ExecCGI
Deny from all
DirectoryIndex index.cgi
Allow from 192.168.111.249
Allow from 192.168.111.217
Allow from 192.168.111.117

в данной конфигурации почему то не попоскает 249ый IP. Подскажите в чем проблема.


Добавлено:
Deny all на строчку ниже только
Автор: matrich
Дата сообщения: 10.04.2008 09:49
дело в том, что у 249 го IP прописано два IP в настройках сети 192.168.111.253 и 192.168.1.253. Но я добавлял в htaccess оба айпи, и все равно не пускает в статистику. Добавляю любой другой айпи, все нормально. В чем хитрость?

Добавлено:
Следует читать:
192.168.111.253=192.168.111.249
192.168.1.253=192.168.1.249
Автор: turbina2261
Дата сообщения: 18.04.2008 23:58
Кто подскажет, все работает, рисует, кроме отчета кто скачал большие файлы вот конфиг:

Код:
#!/usr/bin/perl
#
# LightSquid Project (c) 2004-2005 Sergey Erokhin aka ESL
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# detail see in gnugpl.txt

# -------------------- GLOBAL VARIABLES ---------------------------

#path to additional `cfg` files
$cfgpath ="/usr/local/etc/lightsquid";
#path to `tpl` folder
$tplpath ="/usr/local/www/lightsquid/tpl";
#path to `lang` folder
$langpath ="/usr/local/share/lightsquid/lang";
#path to `report` folder
$reportpath ="/usr/local/www/lightsquid/report";
#path to access.log
$logpath ="/usr/local/squid/logs/";
#path to `ip2name` folder
$ip2namepath ="/usr/local/libexec/lightsquid";

#path to `lockfile`
$lockpath =$reportpath;

#if lockfile older $maxlocktime second, remove old lock file.
$maxlocktime     = 30*60;

#if 1 - lightparser generate some statistic
$debug = 0;
#if 1 - lightparser generate skip details, 2 ..., 3 ..., ....
$debug2 = 0;

# -------------------- LightParser VARIABLES ---------------------------
#squid log type
#if native squid format (default squid, see in doc) - must be 0
#if EmulateHttpdLog ON - set 1
#digit - for speed optimization
#try it set to 1 if parser generate warning
#
#see also month2dec below !!!!
#
$squidlogtype = 0;

#if you want skip some sites from stat, example our local www server
#WARNING !!!, don't leave this variable empty !!!
#example, if you want skip LOCAL site, put it here
#$skipurl = "zdd.com|192\.168\.1\.|cnn.com";
$skipurl = "zzz\.zzz";

#define sobroutine file for convertion from IP into name
#if you want skip some ip from log - return "SKIP THIS IP"
#detail see in ip2name folder,

$ip2name="simple";

#use for convert from Text to Dec convertion if EmualteHttpdLog format !!!!
#fix it if need
%month2dec = ( Jan => 1, Feb => 2, Mar => 3, Apr => 4, May => 5,Jun => 6,
Jul => 7, Aug => 8, Sep => 9, Oct => 10, Nov => 11,Dec => 12);

# -------------------- Common (Parser & Web) VARIABLES ----------------------
#create & use time report statistic (logsize = logsize*2) )
$timereport = 1;

# -------------------- WEB VARIABLES ----------------------------------------

#language
#see `lang` folder (avaible: bg,eng,fr,hu,it,pt_br,ru,sp)
$lang ="ru";

#html template name
#see template folder `tpl/$templatename/`
$templatename ="base";
#$templatename ="ric";
#$templatename ="base.css";

#define type of decimal output
#fine 123456789 -> 123,456,789
#class 123456789 -> 117.7 G
$DecOutType="class";

# define delimiter for thousands (in `fine` mode)
# = " " -> 12 345 678
# = "," -> 12,345,678
# = "" -> 12345678
$decdelimiter = " ";

#if you dont need Group mode, do =0
$showgrouplink     = 1;

#if not zero, groups look like "01. Group1", if zero - "Group1"
$showgroupid = 1;

#if you dont need oversize report , do =0
$showoversizelink = 1;

#show how many data user send to internet
$showputpost = 0;
#if putpost higer this variable (in percent), highlight it
$putpostwarninglevel =15;

#use or not .realname files
#.realname contain pair userid -> Full User Name
$userealname = 1;

#if url size exceed $bigfilelimit - add this file into report
$bigfilelimit = 200*1024*1024;

#user maximum size per day limit (oversize)
$perusertrafficlimit = 100*1024*1024;

# weekend display mode
# both - select sunday & monday
# monday - only monday
$weekendmode="both";

#how many site show in TopSites report
$topsiteslimit = 500;

#how many site show in user time report
$usertimelimit = 200;


#if you want user traffic GRAPHIC report, set it in 1
#WARNING !!!, need libgd, GD.PM & other external modules !!!
#please run check-setup.pl for check library !!!!
$graphreport = 1;

#higest value on graph report
# for user month report (0.05*(...) = 50mb)
$graphmaxuser=0.05*(1024*1024*1024);
# for all user month report (1.05*(...) = 1 Gb)
$graphmaxall =0.80*(1024*1024*1024);

#color scheme for GRAPHICs, avaible "orange","blue","green","yellow","brown","red"
$barcolor="orange";


#-------------------------------------------------------------------------- Group support
#

sub CreateGroupFile($) {
my $path=shift;

open Fi,"<$cfgpath/group.cfg";
open Fo,">$path/.group";
while (<Fi>) {
print Fo $_;
}
close Fo;
close Fi;
}

#-------------------------------------------------------------------------- RealName support
#

sub CreateRealnameFile($) {
my $path=shift;

open Fi,"<$cfgpath/realname.cfg";
open Fo,">$path/.realname";
while (<Fi>) {
print Fo $_;
}
close Fo;
close Fi;
}
Автор: lightsquid
Дата сообщения: 20.04.2008 00:14

Цитата:
#if url size exceed $bigfilelimit - add this file into report
$bigfilelimit = 200*1024*1024;

у вас указано 200 МЕГАБАЙТ !!

файл попадает в bigfiles если его размер превышае в вашем случае 200 мегабайт
хоть один такой файл был ?
если небыло то файл и не создается ...

поставьте 2 метра (2*1024*1024) и посмотрите на результат.

Автор: turbina2261
Дата сообщения: 20.04.2008 17:19
мега спасибо =)))
Автор: dtango
Дата сообщения: 07.05.2008 13:14
Hi all.
Автору спасибо за полезную програмку.
Вопрос вот какой ...
Объясните откуда берутся пустые строки при статистики по конкретному сайту.
Например :
http://lightsquid.sourceforge.net/demo17/whousesite.cgi?year=2005&month=04&day=&mode=month&usersite=www.kc.com

Так и должно быть ? Можно ли их убрать?
Вер 1.7.1.
Автор: lightsquid
Дата сообщения: 08.05.2008 13:34

Цитата:
Объясните откуда берутся пустые строки при статистики по конкретному сайту.

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

речь про это ?
Автор: dtango
Дата сообщения: 09.05.2008 09:50
http://lightsquid.sourceforge.net/demo17/whousesite.cgi?year=2005&month=04&day=&mode=month&usersite=www.kc.com

user081 ? 572 71.1 M 01 Apr 2005
За 02 Apr 2005 строка пустая (ни конектов , ни мегабайтов) , то есть она очевидно означает , что узер в этот день сайтом не пользовался. Тогда зачем её выводить ?
Представляете как тогда будет выглядеть статистика за месяц по 100 пользователям каждый из которых хотя бы один раз посетил конкретный сайт ?

Страницы: 1234567891011121314

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


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