воскресенье, 3 февраля 2008 г.

*nix: анализ логов squid.

Оказывается, что для анализа логов squid есть просто огромное количество средств написанных на различных языках и рассчитанных на различные масштабы использования.


Я нашел два дольно больших списка с анализаторами логов (первый - http://www.opennet.ru/prog/sml/100.shtml, второй - http://www.squid.org.ua/Scripts/).


Меня больше всего заинтересовали анализаторы лог файлов имеющие веб-интерфейс. Ведь, те, кто хоть немного сталкивался с задачей ограничения объемов трафика для пользователей крупной сети знают, как иногда надоедают постоянные звонки с идиотским вопросом "почему у меня не работает интернет".


Очень удобно, когда пользователь сам может посмотреть на состояние "баланса", узнать куда он истратил свой трафик и когда.


Сегодня у меня на рассмотрении lightsquid  (http://lightsquid.sf.net/). Это написанный на Perl скрипт, анализирующий лог файлы SQUID и предоставляющий наиболее важные отчеты - по посещенным ресурсам и по времени, когда их использовали. Плюс ко всему есть у этого ПО есть возможность строить графики из различных отчетов.


О технической реализации читайте ниже, а пока про достоинства и недостатки.
Достоинства:
– Очень простой в настройке. 
– Хранит отчеты в файловой системе, не требует БД.
– Использует стандартные средства UNIX.
– Неплохая подборка отчетов, для небольших сетей очень хорошее решение.
– Написан нашим соотечественником.


Недостатки:
– Не очень удобный интерфейс (хотя можно менять все своими руками).
– Нет статистики в реальном времени.
– Привязка пользователей осуществляется только по IP адресу.
– Нет никаких административных функций - только статистика.


В итоге: Хорошее средство для мониторинга работы покси сервера. Используя этот простой инструмент можно  легко справится с такими задачами:
–  Общие отчеты по использованным ресурсам. Например, самые посещаемые сайты за день, месяц, год.
–  Отчеты по пользователям. Можно смотреть кто куда и когда ходил, сколько ресурсов использовал за день, месяц, год.


Скриншоты:


Стартовая страница:


Capture-1


Отчеты по пользователям (у меня там только один пользватель – я )


Capture-2


Самые популярныее сайты за день:


Capture-3


Техническая реализация.
Требования: настроенный web-сервер (в моем случае это Apache2), Perl, планировщик (у меня стандартный unix cron). Естественно, нужно, что бы web-cсервер был настроен на исполнение CGI.


Установка: установка состоит из собственно распаковки архива с lightsquid в директорию web-сервера, установки прав на исполнение для CGI и Perl скриптов, смены владельца для скриптов на nobody (из соображений безопасности), редактирование файла realnames.cfg - в нем содержатся соответствия между IP адресом и заданным для него именем. Хотя можно его и не править, но знаете… так получилось, что не все пользователи в состоянии узнать свой IP адрес.


Финальный аккорд это добавление в CRON задания на анализ лог файлов SUID с необходимым интервалом - у меня это 15 мин.


В следующий раз надо будет попробовать "серьезные" решения. Что бы все было в стиле "центр управления полетом". На примете у меня пока что только Squid Taffic Counter (http://stc.nixdev.org/index.php?page=4).


А на пока все. КонецЪ Связи.

3 комментария:

Sergey Erokhin комментирует...

Привет
коментарий

Недостатки:
– Привязка пользователей осуществляется только по IP адресу.

это как ?

а ip2name ?

Анонимный комментирует...

>> Отчеты по пользователям (у меня там только один пользватель – я )
одмин локалхоста?)) (шутю)

Анонимный комментирует...

Пусть в Новом году вам повезет гороскоп Дева 2010