Настройка программы отображения статистики free-sa: различия между версиями
Misha (обсуждение | вклад) (→Установка программы) |
Misha (обсуждение | вклад) (→Автоматический запуск из cron) |
||
Строка 88: | Строка 88: | ||
<pre>service crond restart</pre> | <pre>service crond restart</pre> | ||
И наслаждаемся статистикой по адресу '''http://adress_server/free-sa''' | И наслаждаемся статистикой по адресу '''http://adress_server/free-sa''' | ||
+ | ==Зависает на команде sort== | ||
+ | *'''Проблема''' После запуска скрипта он зависает, и если с другой консоли посмотреть командой '''top''', то виснет на выполнении программы '''sort'''. | ||
+ | *'''Решение''' Можно решить двумя способами | ||
+ | Проблема рассмотрена в [http://www.opennet.ru/openforum/vsluhforumID3/37681.html#25 форуме]<br /> | ||
+ | 1. Берем и качаем пакет [http://www.slackware.at/data/slackware-12.0/slackware/a/coreutils-6.9-i486-1.tgz slackware coreutils]. Это почти обычный tar.gz, в mc он открывается, нужно взять из него только '''/bin/sort'''. Переписываем его в '''/usr/local/bin''' и переименовываем в '''sort.correct'''<br /> | ||
+ | Далее в файле global.mk исходника fre-sa меняем. | ||
+ | <pre>SORT = /usr/local/bin/sort.correct</pre> | ||
+ | И пересобираем fre-sa | ||
+ | <pre># make clean | ||
+ | # make | ||
+ | # make install</pre> | ||
+ | 2. Пересобираем пакет coreutils от Mandriva без '''coreutils-6.9-new-i18n.patch'''. Для этого качаем и устанавливаем coreutils-6.9-5mdv2008.0.src.rpm<br /> | ||
+ | Идем в '''/usr/src/rpm/SPECS''' и правим файл '''coreutils.spec'''<br /> | ||
+ | Коментируем 36 строку | ||
+ | <pre>#Patch800: coreutils-6.9-new-i18n.patch</pre> | ||
+ | 118 строку | ||
+ | <pre>#%patch800 -p1 -b .i18n</pre> | ||
+ | и 149 | ||
+ | <pre>#chmod a+x tests/sort/sort-mb-tests</pre> | ||
+ | И вводим команду для пересборки пакета | ||
+ | <pre>rpm -bb coreutils.spec</pre> | ||
+ | Если попросит, доустанавливаем нужные пакеты, а потом снова пробуем.<br /> | ||
+ | После нормального завершения сборки идем в '''/usr/src/rpm/RPMS/i586'''. Там и будут лежать три файла. Открываем в mc файл '''coreutils-6.9-5mdv2008.0.i586.rpm'''. Идем в папку '''CONTENTS.cpio/bin''' и переписываем файл '''sort''' в '''/usr/local/bin/sort.correct'''.<br /> | ||
+ | Далее, как написано в первом пункте |
Версия 12:17, 2 ноября 2007
Содержание
Описание
Представлены первые релизы нового проекта Free-SA, занимающегося разработкой программы, которая является хорошей заменой устаревшего SARG. Версия Free-SA, использованная для написания данной статьи: 1.4.0
Из особенностей Free-SA автор выделяет:
- более внятная архитектура и код (C/HTML/CSS);
- скорость формирования отчетов в 7-20 раз выше по сравнению с SARG (7х — для файла access.log объемом в 50 Мб, 20x — для 1 Гб);
- все отчеты успешно проходят проверку W3C HTML/CSS validator;
- потенциальная поддержка различных форматов файлов журналов (сейчас только Squid, CLF, Postfix, QMail, CommuniGate Pro);
- дополнительные отчеты (в т.ч. для оценки эффективности сервера);
- изменяемые «на-лету» темы оформления (сейчас 5).
Цели Free-SA:
- контроль расхода трафика по пользователям;
- контроль выполнения политик безопасности (в части доступа к ресурсам сети Internet) и информационная поддержка при служебных расследованиях некоторых инцидентов;
- оценка эффективности работы серверов.
Сайт программы находится | тут
Установка программы
Итак идем на | сайт программы, потом на download и выкачиваем последний релиз программы
Допустим, что это файл free-sa-1.4.0.tar.gz:
# cp free-sa-1.4.0.tar.gz /usr/local/src # cd /usr/local/src # tar -zfx free-sa-1.4.0.tar.gz # cd free-sa-1.4.0
Теперь редактируем файл global.mk. В нем нужно установить путь к директории free-sa для Web интерфейса, обычно:
WWWDIR = /var/www/html/$(PROGLNAME)
Находим и исправляем путь по команды sort.
# whereis sort sort: /bin/sort /usr/share/man/man3/sort.3pm.bz2
И меняем путь в файле global.mk
# Sort utility SORT = /bin/sort
Далее компилируем и устанавливаем free-sa:
# make # make install
Настройка программы
Все файлы настройки лежат в директории /usr/local/etc/free-sa
- 1. Копируем файл free-sa.conf.sample в free-sa.conf и редактируем его.
Все переменные в этом файле закомментированы знаком # и выставлены в значения по-умолчанию. Не должно быть раскомментированных переменных без значения, например:
#global_filter=""
- 2. Проверяем настройку следующих переменных:
- log - полный путь к анализируемому журналу сервера, в примере ниже к журналу squid-а:
log="/var/log/squid/access.log"
- usertab - полный путь к файлу преобразования имен, в примере ниже он размещен в директории с конфигурационными файлами free-sa:
usertab="/usr/local/etc/free-sa/users"
- targetdir - корневая директория для размещения отчетов (ранее, на этапе сборки программы, она была определена как WWWDIR), изменять стоит если вы ее хотите переопределить:
targetdir="/var/www/html/free-sa"
- 3. Создаем и редактируем файл преобразования имен /usr/local/etc/free-sa/users. Если этого файла нет, то надо закоментировать соответствующую строку в free-sa.conf. Пример такого файла:
172.16.140.10 Копылова Елена Александровна 172.16.140.11 Трофимова Людмила Николаевна
IP адреса и имена должны разделяться пробелом. В случае использования аутентификации в squid можно использовать имена пользователей.
- 4. Я установил дополнительно еще следующие параметры
overwrite="1" | Для перезаписи отчетов совпадающие по своему периоду, например, с точностью в 1 день (У меня таким образом каждые пол часа считается статистика и при этом на 1 день всегда один отчет) |
rotate="month" | Стирать всю статистику старше 1 месяца |
divisor="M" | Отображать статистику в Мб |
Остальные параметры файла конфигурации можно посмотреть в man free-sa.conf
Проверка работы
Из консоли запускаем
free-sa -d 26.06.2007-27.06.2007
Где 26.06.2007-27.06.2007 - это диаппазон за который надо собрать статистику
Остальные параметры командной строки можно посмотреть в man free-sa
И если нет никаких ошибок, то в директории /var/www/html/free-sa должен появиться каталог 26.06.2007-27.06.2007, и значит программа работает нормально.
Автоматический запуск из cron
Создаем файл /etc/scripts/free-sa_day.sh (Путь может быть любым, в некоторых системах достаточно будет поместить скрипт в директорию /etc/cron.daily (например!) без изменения crontab)
#!/bin/bash # Программа создания отчетов по журналам SQUID #set -x export LANG=ru_RU.UTF-8 export LC_ALL= path1=/var/www/html/volmed/free-sa free_sa=/usr/local/bin/free-sa date1=`date +%x` $free_sa -d $date1-
Где ru_RU.UTF-8 кодировка локали.
Данный скрипт обновляет статистику каждые полчаса и удаляет статистику месячной давности.
Добавляем строки в /etc/crontab
# Статистика SQUID 29,59 * * * * root /etc/scripts/free-sa_day.sh
Далее перезапускаем cron
service crond restart
И наслаждаемся статистикой по адресу http://adress_server/free-sa
Зависает на команде sort
- Проблема После запуска скрипта он зависает, и если с другой консоли посмотреть командой top, то виснет на выполнении программы sort.
- Решение Можно решить двумя способами
Проблема рассмотрена в форуме
1. Берем и качаем пакет slackware coreutils. Это почти обычный tar.gz, в mc он открывается, нужно взять из него только /bin/sort. Переписываем его в /usr/local/bin и переименовываем в sort.correct
Далее в файле global.mk исходника fre-sa меняем.
SORT = /usr/local/bin/sort.correct
И пересобираем fre-sa
# make clean # make # make install
2. Пересобираем пакет coreutils от Mandriva без coreutils-6.9-new-i18n.patch. Для этого качаем и устанавливаем coreutils-6.9-5mdv2008.0.src.rpm
Идем в /usr/src/rpm/SPECS и правим файл coreutils.spec
Коментируем 36 строку
#Patch800: coreutils-6.9-new-i18n.patch
118 строку
#%patch800 -p1 -b .i18n
и 149
#chmod a+x tests/sort/sort-mb-tests
И вводим команду для пересборки пакета
rpm -bb coreutils.spec
Если попросит, доустанавливаем нужные пакеты, а потом снова пробуем.
После нормального завершения сборки идем в /usr/src/rpm/RPMS/i586. Там и будут лежать три файла. Открываем в mc файл coreutils-6.9-5mdv2008.0.i586.rpm. Идем в папку CONTENTS.cpio/bin и переписываем файл sort в /usr/local/bin/sort.correct.
Далее, как написано в первом пункте