Анализатор логов rejik
Анализатор логов rejik
http://www.dp.uz.gov.ua/o.palij/rejik-stat/
от аналогичного rejik_stat.sh отличается скоростью работы (5сек. против 2м50сек на метровом файлике (85 пользователей) на Celeron800) и более цивилизованым форматированием вывода
недостатки - требует интерпретатора языка python (2.3 и выше)
от аналогичного rejik_stat.sh отличается скоростью работы (5сек. против 2м50сек на метровом файлике (85 пользователей) на Celeron800) и более цивилизованым форматированием вывода
недостатки - требует интерпретатора языка python (2.3 и выше)
Последний раз редактировалось malik Пн окт 02, 2006 15:15, всего редактировалось 2 раза.
Re: Анализатор логов rejik
Good job! Спасибо.malik писал(а):http://www.dp.uz.gov.ua/rejik-stat
от аналогичного rejik_stat.sh отличается скоростью работы (5сек. против 2м50сек на метровом файлике (85 пользователей) на Celeron800) и более цивилизованым форматированием вывода
недостатки - требует интерпретатора языка python (2.3 и выше)
Пожелания принимаются? Еще бы вывод в html (для визуализации результата) - было бы самое то.
Re: Анализатор логов rejik
Пожалуйста: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 пользователей на ФИО + подразделение. Если кому надо поделюсь.
Отлично!malik писал(а):Обновил по ссылке вверху. Ключик --html. Пожелания принимаются.Alex@work писал(а):Пожелания принимаются? Еще бы вывод в html (для визуализации результата) - было бы самое то.
Может быть есть смысл сделать web-интерфейс к настройкам rejik? Проект начинает обрастать анализаторами логов и прочими нужными вещами. Кто бы смог поднять эту тему...
На мой взгляд логичнее всего такой веб интерфейс создать под Webmin.
http://www.webmin.com/modules-index.html
http://www.webmin.com/modules-index.html
Ставить webmin из-за этого? Хм..Rus писал(а):На мой взгляд логичнее всего такой веб интерфейс создать под Webmin.
http://www.webmin.com/modules-index.html
На php что-нибудь было бы достаточно.
-
- Сообщения: 1
- Зарегистрирован: Чт апр 02, 2009 11:14
- Контактная информация:
Re: Анализатор логов rejik
Былобы очень замечательно еслиб ты поделился скриптом!Эх ещеб до кучи научить Sarg нормально считать не учитывая редиректы с заблокированных доменов на локальную страничку.Rus писал(а): P.S. У меня есть скрипт который заменяет в отчете sarg ip пользователей на ФИО + подразделение. Если кому надо поделюсь.
Re: Анализатор логов rejik
Доброго дня,
Не остался ли у кого в архивах скрипт с http://www.dp.uz.gov.ua/o.palij/rejik-stat/
Когда я пытаюсь скачать с сайта, мне выдается сообщение 502 Bad gateway.
Заранее благодарен
Не остался ли у кого в архивах скрипт с http://www.dp.uz.gov.ua/o.palij/rejik-stat/
Когда я пытаюсь скачать с сайта, мне выдается сообщение 502 Bad gateway.
Заранее благодарен
Re: Анализатор логов rejik
Спасибо! )
Re: Анализатор логов rejik
выложите еще где-нибудь пожалуйста, а то на майл.ру пишет файл не найден
Re: Анализатор логов rejik
Перезалил на multi-up.com
Re: Анализатор логов rejik
залил на github rejik-stat.py