Настройка программы отображения статистики free-sa

Материал из Wiki МИАЦ ВО
Версия от 10:57, 30 октября 2007; Misha (обсуждение | вклад) (Установка программы)
Перейти к навигации Перейти к поиску

Описание

Представлены первые релизы нового проекта 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