Squint ze squidem: monitorowanie ruchu użytkowników w biurze

System który mógłby analizować aktywność „zawodową” i „pozazawodową” użytkowników może składać się z serwera proxy. Jest nim w tym przypadku Squid włączony do tej samej podsieci co badane komputery. Należy ustawić wszystkie maszyny tak, żeby wszelki ruch www kierował do naszego proxy. Do tej pory jest wszystko ok, ale potrzeba nam czegoś co z pliku dziennika („log”) Squida – /var/log/squid/access.log wygeneruje jakieś przydatne statystyki.

SARG

Wpierw wybór padł na SARG – Squid Analysis Report Generator  – http://sarg.sourceforge.net/

Użyłem go we współpracy z Webmin’em (http://www.webmin.com/) który nie do końca bezproblemowo umie ogarnąć SARG’a za pomocą interfejsu klikalnego. Do tej pory używałem Squida, SARG’a i Webmina z paczek Debiana squeeze.

SARG nawet działa, aczkolwiek dane które wyciąga są dla mnie niewystarczające (pominąwszy milczeniem brzydki sposób prezentacji).

SQUID Analyzer

SQUID Analyzer (http://squidanalyzer.darold.net/) jest ciekawszym narzędziem, napewno też ładniejszym. Interfejs prezentuje sie profesjonalnie, ale nie ma mowy np. o sortowaniu według kolumn tabeli innych niż wyszczególniona w konfigu. Poza tym piękne wykresy godzinowe i miesięczne transferu nie przydadzą się, ponieważ zawierają jedynie dane zbiorcze, sumę wszystkich użytkowników naszego proxy. Zawiera przynajmniej wyszczególnienie użytkowników i listę odwiedzanych stron. To się może nam przydać, ale do doskonałości czegoś brakuje.

SQUINT

Dopiero SQUINT (http://www.ledge.co.za/software/squint/index.php) okazał się podawać wymagane w tym wypadku informacje. Prawdopodobnie dlatego, że autor napisał go właśnie do tego celu ;). Poprzednie dwa analizery logów kładą nacisk na monitoring proxy jako serwera pod względem statystyk użycia SQUID’a.

Niestety SQUINT’a brak w repozytorium i posiada dość skąpą instrukcję (plik INSTALLATION). Po lekturze nie bardzo wiedziałem jak to ugryźć, informacje w sieci też nie są zbyt obszerne, jednak dało sie program zmusić do współpracy.

Uruchamianie: Proponuję skorzystać z programu bez instalacji, tzn. rpozpakować paczkę gdzieś np. w /root/, następnie mkdir /var/www/squint i uruchamiać program w nast. sposób:

cat /var/log/squid/access.log | /usr/bin/perl ./squint.pl /var/www/squint/

lub

cat /var/log/squid/access.log | ./squint.pl /var/www/squint/

Do działania wymaga perl’a w wersji większej lub równej 5.6.

W oprzypadku wystąpienia błędu:

Parentheses missing around "my" list at ./squint.pl line 404.

należy w pliku squint.pl dokonac zmian w kodzie (dopisac nawiasy) w linii 404, tak, żeby było:

my ($site, $user, $currentsort);

oraz w linii 559, tak, żeby brzmiała:

mkdir ("$date",0777);

Mimo, iz moja wersja Perl’a to 5.10, nie wiedzieć czemu błędy wystąpiły, ale dzięki powyższym wskazówkom wyczytanym w pliku FAQ udało mi się uruchomić SQUINT’a. Okazało się, że w  statystykach dotyczących poszczególnych użytkowników jest lista url’i oraz statystyki ilości danych z podziałem godzinowym, to jest ciekawe.

Jedyne co pozostało to dopisać wywołanie SQUINT’a do crona tak, żeby uruchamiał się automatycznie. Jest to opisane w dokumentacji (plik INSTALL), dlatego nie warto powtarzać.