Анализатор логов rejik

Обсуждение программы редиректора
Ответить
malik
Сообщения: 30
Зарегистрирован: Пн ноя 28, 2005 21:54
Откуда: Украина, Днепропетровск

Анализатор логов rejik

Сообщение malik »

http://www.dp.uz.gov.ua/o.palij/rejik-stat/

от аналогичного rejik_stat.sh отличается скоростью работы (5сек. против 2м50сек на метровом файлике (85 пользователей) на Celeron800) и более цивилизованым форматированием вывода

недостатки - требует интерпретатора языка python (2.3 и выше)
Последний раз редактировалось malik Пн окт 02, 2006 15:15, всего редактировалось 2 раза.

Alex@work
Сообщения: 3
Зарегистрирован: Ср фев 15, 2006 16:50

Re: Анализатор логов rejik

Сообщение Alex@work »

malik писал(а):http://www.dp.uz.gov.ua/rejik-stat

от аналогичного rejik_stat.sh отличается скоростью работы (5сек. против 2м50сек на метровом файлике (85 пользователей) на Celeron800) и более цивилизованым форматированием вывода

недостатки - требует интерпретатора языка python (2.3 и выше)
Good job! Спасибо.

Пожелания принимаются? Еще бы вывод в html (для визуализации результата) - было бы самое то.

malik
Сообщения: 30
Зарегистрирован: Пн ноя 28, 2005 21:54
Откуда: Украина, Днепропетровск

Сообщение malik »

Alex@work писал(а):Пожелания принимаются? Еще бы вывод в html (для визуализации результата) - было бы самое то.
Обновил по ссылке вверху. Ключик --html. Пожелания принимаются.

Rus
Сообщения: 112
Зарегистрирован: Пт ноя 18, 2005 13:44

Re: Анализатор логов rejik

Сообщение Rus »

Alex@work писал(а):Еще бы вывод в html (для визуализации результата) - было бы самое то.
Пожалуйста:
(правда пока этот скрипт немного сыроват, оптимизацию пока не делал)
Вид отчета в стиле SARG !!!

#!/bin/bash

rejik_log=$1
sarg_conf_dir="/usr/local/sarg"
sarg_out_dir=$2
tmp_dir="/tmp"
main_dir="/usr/local/sarg"
charset="Windows-1251"

##########################################
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"'> ... rejik.html
echo '<html><head><meta http-equiv="Content-Type" content="text/html; charset='$charset'"></head><style>'>>$sarg_out_dir/rejik.html
cat $sarg_conf_dir/css.tpl >> $sarg_out_dir/rejik.html
echo '</style><body class="body"><center><table cellpadding="0" cellspacing="0">'>> $sarg_out_dir/rejik.html
echo '<tr><th align="center" class="title">Squid User Access Report</th></tr>'>> $sarg_out_dir/rejik.html
echo '<tr><td class="header3">BLOCKED Links</td></tr></table></center><br>'>> $sarg_out_dir/rejik.html
##########
rm $tmp_dir/tmp 2> /dev/null
mkdir $sarg_out_dir/rejik 2> /dev/null
cp -f $rejik_log $tmp_dir/rejik-tmp
test -f $main_dir/allow-ip &&for i in `cat $main_dir/allow-ip`; do `egrep -v "($i)" $tmp_dir/rejik-tmp >> $tmp_dir/tmp`; done&& mv -f $tmp_dir/tmp $tmp_dir/rejik-tmp
awk '{print $3}' $tmp_dir/rejik-tmp | sort -u | tr -d ':' >$tmp_dir/rejik-rule
echo '<center><table cellpadding="1" cellspacing="2"> <tr><th class="header">Rule</th><th class="header" >User number</th><th class="header" >Full number connect</th></tr>'>> $sarg_out_dir/rejik.html
for i in `cat $tmp_dir/rejik-rule`;
do
N1=`cat $tmp_dir/rejik-tmp |egrep $i | wc -l`
N2=`cat $tmp_dir/rejik-tmp |egrep $i |awk '{print $4}' | sort -u | wc -l`
echo '<tr><td class="data" align="center"><a href="rejik/'$i'.html"><font color="red"><b>'$i'</b></font></a></td><td class="data"><a href="rejik/'$i'.html"><b>'$N2'</b></a></td><td class="data"><a href="rejik/'$i'.html"><b>'$N1'</b></a></td></tr>'>> $sarg_out_dir/rejik.html
done
echo '</table></center><br>'>> $sarg_out_dir/rejik.html

for i in `cat $tmp_dir/rejik-rule`;
do
###########
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"'> ... ik/$i.html
echo '<html><head><meta http-equiv="Content-Type" content="text/html; charset='$charset'"></head><style>'>>$sarg_out_dir/rejik/$i.html
cat $sarg_conf_dir/css.tpl >> $sarg_out_dir/rejik/$i.html
echo '</style><body class="body"><center><table cellpadding="0" cellspacing="0">'>> $sarg_out_dir/rejik/$i.html
echo '<tr><th align="center" class="title">Squid User Access Report</th></tr>'>> $sarg_out_dir/rejik/$i.html
echo '<tr><td class="header3">BLOCKED Links</td></tr>'>> $sarg_out_dir/rejik/$i.html
echo '<tr><td class="header3"><b><font color="red">Rule '$i'</font></b></td></tr></table></center><br>'>> $sarg_out_dir/rejik/$i.html
echo '<center><table cellpadding="1" cellspacing="2"> <tr><th class="header">User</th><th class="header" >Number connect</th></tr>'>> $sarg_out_dir/rejik/$i.html
`cat $tmp_dir/rejik-tmp |egrep $i > $tmp_dir/rejik-$i-tmp`
N1=`cat $tmp_dir/rejik-$i-tmp |wc -l`
cat $tmp_dir/rejik-$i-tmp | awk '{print $4}'| sort -u >$tmp_dir/rejik-$i-user
rm $tmp_dir/rejik-$i-user-sort

for k in `cat $tmp_dir/rejik-$i-user`;
do
echo `cat $tmp_dir/rejik-$i-tmp |egrep $k |wc -l`' '$k >> $tmp_dir/rejik-$i-user-sort
done
cat $tmp_dir/rejik-$i-user-sort | sort -nr | awk '{print $2}' > $tmp_dir/rejik-$i-user
for k in `cat $tmp_dir/rejik-$i-user`;
do
N2=`cat $tmp_dir/rejik-$i-tmp |egrep $k |wc -l`
echo '<tr><td class="data2"><a href="'$k'-'$i'.html">'$k'</a></td><td class="data2"><b>'$N2'</b></td></tr>'>> $sarg_out_dir/rejik/$i.html
###########
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"'> ... $k-$i.html
echo '<html><head><meta http-equiv="Content-Type" content="text/html; charset='$charset'"></head><style>'>>$sarg_out_dir/rejik/$k-$i.html
cat $sarg_conf_dir/css.tpl >> $sarg_out_dir/rejik/$k-$i.html
echo '</style><body class="body"><center><table cellpadding="0" cellspacing="0">'>> $sarg_out_dir/rejik/$k-$i.html
echo '<tr><th align="center" class="title">Squid User Access Report</th></tr>'>> $sarg_out_dir/rejik/$k-$i.html
echo '<tr><td class="header3">BLOCKED Links</td></tr>'>> $sarg_out_dir/rejik/$k-$i.html
echo '<tr><td class="header3"><b><font color="red">Rule '$i'</font></b></td></tr>'>> $sarg_out_dir/rejik/$k-$i.html
echo '<tr><td class="header3"><b>User '$k'</b></td></tr></table></center><br>'>> $sarg_out_dir/rejik/$k-$i.html
echo '<center><table cellpadding="1" cellspacing="2"> <tr><th class="header">Date</th><th class="header" >Time</th><th class="header" >URL</th><th class="header" >urls/pcre</th></tr>'>> $sarg_out_dir/rejik/$k-$i.html
`cat $tmp_dir/rejik-$i-tmp |egrep $k | awk '{print "<tr><td class='data2'>",$1,"</td><td class='data2'>",$2,"</td><td class='data2' align='left'>",$6,"</td><td class='data2' align='left'>",$7,$9,"</td></tr>"}' >> $sarg_out_dir/rejik/$k-$i.html`
echo '</table></center><br>'>> $sarg_out_dir/rejik/$k-$i.html
done
echo '</table></center><br>'>> $sarg_out_dir/rejik/$i.html
done

Комментарии к самому скрипту:

sarg_conf_dir = из этой директории берется стиль оформления отчета
sarg_out_dir = директория отчета Sarg за период
main_dir = каталог данного скрипта.
charset = кодировка отчета Sarg
allow-ip адреса пользователей, исключаемых из контроля.

Комментарии по использованию скрипта:
в качестве первого параметра скрипту передается файл лога режика, а второй параметр - директория с уже готовым отчетом Sarg за тот же период.
Пример: rus.sh /usr/local/rejik3/redirector.log /usr/local/www/sarg/23Jan2006-29Jan2006

В директорию отчета записывается файл rejik.html и там же создается папка rejik.
Кто знает о существовании данного файла тот его запустит, можно также слегка модифицировать скрипт для добавления ссылки в index.html созданного sarg-ом

P.S. У меня есть скрипт который заменяет в отчете sarg ip пользователей на ФИО + подразделение. Если кому надо поделюсь.

Alex@work
Сообщения: 3
Зарегистрирован: Ср фев 15, 2006 16:50

Сообщение Alex@work »

malik писал(а):
Alex@work писал(а):Пожелания принимаются? Еще бы вывод в html (для визуализации результата) - было бы самое то.
Обновил по ссылке вверху. Ключик --html. Пожелания принимаются.
Отлично!

Может быть есть смысл сделать web-интерфейс к настройкам rejik? Проект начинает обрастать анализаторами логов и прочими нужными вещами. Кто бы смог поднять эту тему...

Rus
Сообщения: 112
Зарегистрирован: Пт ноя 18, 2005 13:44

Сообщение Rus »

На мой взгляд логичнее всего такой веб интерфейс создать под Webmin.
http://www.webmin.com/modules-index.html

Alex@work
Сообщения: 3
Зарегистрирован: Ср фев 15, 2006 16:50

Сообщение Alex@work »

Rus писал(а):На мой взгляд логичнее всего такой веб интерфейс создать под Webmin.
http://www.webmin.com/modules-index.html
Ставить webmin из-за этого? Хм..
На php что-нибудь было бы достаточно.

Rus
Сообщения: 112
Зарегистрирован: Пт ноя 18, 2005 13:44

Сообщение Rus »

Alex@work писал(а):На php что-нибудь было бы достаточно.
PHP тоже ставить надо :)

mental_max
Сообщения: 1
Зарегистрирован: Чт апр 02, 2009 11:14
Контактная информация:

Re: Анализатор логов rejik

Сообщение mental_max »

Rus писал(а): P.S. У меня есть скрипт который заменяет в отчете sarg ip пользователей на ФИО + подразделение. Если кому надо поделюсь.
Былобы очень замечательно еслиб ты поделился скриптом!Эх ещеб до кучи научить Sarg нормально считать не учитывая редиректы с заблокированных доменов на локальную страничку.

NFS
Сообщения: 2
Зарегистрирован: Вт июл 24, 2012 10:15

Re: Анализатор логов rejik

Сообщение NFS »

Доброго дня,

Не остался ли у кого в архивах скрипт с http://www.dp.uz.gov.ua/o.palij/rejik-stat/
Когда я пытаюсь скачать с сайта, мне выдается сообщение 502 Bad gateway.

Заранее благодарен

maksnl
Сообщения: 34
Зарегистрирован: Чт фев 10, 2011 23:35

Re: Анализатор логов rejik

Сообщение maksnl »


NFS
Сообщения: 2
Зарегистрирован: Вт июл 24, 2012 10:15

Re: Анализатор логов rejik

Сообщение NFS »

Спасибо! )

dmnhard
Сообщения: 3
Зарегистрирован: Ср апр 11, 2012 7:21

Re: Анализатор логов rejik

Сообщение dmnhard »

выложите еще где-нибудь пожалуйста, а то на майл.ру пишет файл не найден

maksnl
Сообщения: 34
Зарегистрирован: Чт фев 10, 2011 23:35

Re: Анализатор логов rejik

Сообщение maksnl »

Перезалил на multi-up.com

malik
Сообщения: 30
Зарегистрирован: Пн ноя 28, 2005 21:54
Откуда: Украина, Днепропетровск

Re: Анализатор логов rejik

Сообщение malik »

залил на github rejik-stat.py

Ответить