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

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

Добавлено: Ср дек 07, 2005 17:19
malik
http://www.dp.uz.gov.ua/o.palij/rejik-stat/

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

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

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

Добавлено: Ср фев 15, 2006 16:58
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 (для визуализации результата) - было бы самое то.

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

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

Добавлено: Чт фев 16, 2006 13:12
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 пользователей на ФИО + подразделение. Если кому надо поделюсь.

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

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

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

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

Добавлено: Пн фев 27, 2006 18:58
Rus
Alex@work писал(а):На php что-нибудь было бы достаточно.
PHP тоже ставить надо :)

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

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

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

Добавлено: Вт июл 24, 2012 10:20
NFS
Доброго дня,

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

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

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

Добавлено: Чт июл 26, 2012 9:18
maksnl

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

Добавлено: Чт июл 26, 2012 10:06
NFS
Спасибо! )

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

Добавлено: Пт авг 03, 2012 11:41
dmnhard
выложите еще где-нибудь пожалуйста, а то на майл.ру пишет файл не найден

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

Добавлено: Сб авг 04, 2012 12:10
maksnl
Перезалил на multi-up.com

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

Добавлено: Пн янв 19, 2015 13:04
malik
залил на github rejik-stat.py