Чаcто возникает проблема анализа трафика прокси сервера SQUID. Решид поделиться с вами, мои замечательные друзья своим опытом работы с этой штуковиной.
Если кто сталкивался с SARG (Как увидеть ссылки? | How to see hidden links?, первое что брасается в глаза, то что генерит он файлы отчета по неделям.
Я решил сделать скриптик, который бы делал бы все правильно и удобно.
1. cd /etc/logrotate.d/ и правим squid
=============================
/var/log/squid/access.log {
weekly
rotate 10 (по дефолту 5)
copytruncate
compress
notifempty
missingok
}
============================
2. и собственно сам скрипт, который может распологаться где угодно.
============================
cat sarg
#!/bin/bash
mkdir -p /tmp/squid_access.log
rm -f /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.9.gz -c > /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.8.gz -c >> /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.7.gz -c >> /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.6.gz -c >> /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.5.gz -c >> /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.4.gz -c >> /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.3.gz -c >> /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.2.gz -c >> /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.1.gz -c >> /tmp/squid_access.log/m
cat /var/log/squid/access.log >> /tmp/squid_access.log/m
rm -rf /home/httpd/html
echo '#############################'
echo '### '$MONTHAGO-$TREEMONTAGO' ###'
echo '#############################'
/usr/bin/sarg -f /usr/local/sarg/sarg.conf -l /tmp/squid_access.log/m -o /home/httpd/html/ -z -d `date '+01/%m/%Y'`-`date '+%d/%m/%Y'`
/usr/bin/sarg -f /usr/local/sarg/sarg.conf -l /tmp/squid_access.log/m -o /home/httpd/html/ -z -d `date '+01/%m/%Y' -d '-1 month'`-`date '+31/%m/%Y' -d '-1 month'`
/usr/bin/sarg -f /usr/local/sarg/sarg.conf -l /tmp/squid_access.log/m -o /home/httpd/html/ -z -d `date '+01/%m/%Y' -d '-2 month'`-`date '+31/%m/%Y' -d '-2 month'`
/usr/bin/sarg -f /usr/local/sarg/sarg.conf -l /tmp/squid_access.log/m -o /home/httpd/html/ -z -d `date '+01/%m/%Y' -d '-3 month'`-`date '+31/%m/%Y' -d '-3 month'`
=====================================================================================================================
3. Прописываем в crontab сам скрипт. У меня он выполняется 3 раза за день. Больше и не надо. Статистика за текущий месяц и за последние 3.
Если что не так или перепутал, поправьте
Если кто сталкивался с SARG (Как увидеть ссылки? | How to see hidden links?, первое что брасается в глаза, то что генерит он файлы отчета по неделям.
Я решил сделать скриптик, который бы делал бы все правильно и удобно.
1. cd /etc/logrotate.d/ и правим squid
=============================
/var/log/squid/access.log {
weekly
rotate 10 (по дефолту 5)
copytruncate
compress
notifempty
missingok
}
============================
2. и собственно сам скрипт, который может распологаться где угодно.
============================
cat sarg
#!/bin/bash
mkdir -p /tmp/squid_access.log
rm -f /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.9.gz -c > /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.8.gz -c >> /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.7.gz -c >> /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.6.gz -c >> /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.5.gz -c >> /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.4.gz -c >> /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.3.gz -c >> /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.2.gz -c >> /tmp/squid_access.log/m
gzip -d /var/log/squid/access.log.1.gz -c >> /tmp/squid_access.log/m
cat /var/log/squid/access.log >> /tmp/squid_access.log/m
rm -rf /home/httpd/html
echo '#############################'
echo '### '$MONTHAGO-$TREEMONTAGO' ###'
echo '#############################'
/usr/bin/sarg -f /usr/local/sarg/sarg.conf -l /tmp/squid_access.log/m -o /home/httpd/html/ -z -d `date '+01/%m/%Y'`-`date '+%d/%m/%Y'`
/usr/bin/sarg -f /usr/local/sarg/sarg.conf -l /tmp/squid_access.log/m -o /home/httpd/html/ -z -d `date '+01/%m/%Y' -d '-1 month'`-`date '+31/%m/%Y' -d '-1 month'`
/usr/bin/sarg -f /usr/local/sarg/sarg.conf -l /tmp/squid_access.log/m -o /home/httpd/html/ -z -d `date '+01/%m/%Y' -d '-2 month'`-`date '+31/%m/%Y' -d '-2 month'`
/usr/bin/sarg -f /usr/local/sarg/sarg.conf -l /tmp/squid_access.log/m -o /home/httpd/html/ -z -d `date '+01/%m/%Y' -d '-3 month'`-`date '+31/%m/%Y' -d '-3 month'`
=====================================================================================================================
3. Прописываем в crontab сам скрипт. У меня он выполняется 3 раза за день. Больше и не надо. Статистика за текущий месяц и за последние 3.
Если что не так или перепутал, поправьте
Последнее редактирование модератором: