The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Скрипт генерации статистики для Free-SA
Анализатор логов Squid Free-SA (http://free-sa.sourceforge.net/) значительно
удобнее и быстрее SARG. Во FreeBSD его можно установить из портов
(/usr/ports/www/free-sa/). Настраивается программа достаточно тривиально,
достаточно использовать поставляемый в комплекте (после установки порта
находится в /usr/local/etc/free-sa/) пример free-sa.conf.sample, поменяв там
путь к логам Squid в директиве "log_file".

Через файл usertab (путь задается директивой username_file) можно определить
псевдонимы для замены IP адресов именами пользователей, например, указав
"192.168.0.1 Директор". При необходимости меняем путь к директории для
сохранения сгенерированных отчетов (target_directory) и директории для
сохранения временного кэша данных из лога Squid (директива cache_directory).

Базовые параметры можно переопределить вручную, запустив из командной строки:

   free-sa -d 20.09.2010-21.09.2010 -l путь_к_логу_squid -o директория_для_сохранения_отчетов

Ниже представлен скрипт для генерации статистики по заданным интервалам:

   #!/bin/bash

   # Modification for free-sa
   # Idea:
   ## SARG - Daily/Weekly/Monthly Squid usage reports creation tool
   ## Written by Ugo Viti <ugo.viti@initzero.it>
   ## Thanks for enanchements to:
   ## - martijn
   ## - Stas Degteff https://sourceforge.net/users/stas_degteff/
   # Modification by Linjan <tank1992@gmail.com>

   FREESA="/usr/local/bin/free-sa"
   CONFIG="/usr/local/etc/free-sa/free-sa.conf"
   TMPFILE=`/bin/mktemp`
   ERRORS="${TMPFILE}.errors"

   # Date Calc
   MANUALDATE=$2
   case "$(uname)" in
   "FreeBSD")
        TODAY=$(date +%m/%d/%Y)
        YESTERDAY=$(date -v-1d +%m/%d/%Y)
        WEEKAGO=$(date -v-1w +%m/%d/%Y)
        MONTHAGO=$(date -v-1m +%m/01/%Y)-$(date -v-1m +%m/31/%Y)
  ;;
   *)
        TODAY=$(date --date "today" +%m/%d/%Y)
        YESTERDAY=$(date --date "1 day ago" +%m/%d/%Y)
        WEEKAGO=$(date --date "1 week ago" +%m/%d/%Y)
        MONTHAGO=$(date --date "1 month ago" +%m/01/%Y)
  ;;
  esac

  manual ()
  {
    if [ -z "$MANUALDATE" ]
    then
      echo "No date given, please specify a valid date (MM/DD/YYYY)"
    else
      $FREESA -f $CONFIG -d $MANUALDATE-$MANUALDATE
    fi
  }

  today ()
  {
    $FREESA -f $CONFIG -d $TODAY-$TODAY >$ERRORS 2>&1
  }
 
  daily ()
  {
    $FREESA -f $CONFIG -d $YESTERDAY-$YESTERDAY >$ERRORS 2>&1
  }

  weekly ()
  {
    $FREESA -f $CONFIG -d $WEEKAGO-$YESTERDAY >$ERRORS 2>&1
  }

  monthly ()
  {
    $FREESA -f $CONFIG -d $MONTHAGO-$YESTERDAY >$ERRORS 2>&1
  }

  case $1 in
   manual)
       manual
       ;;
   today)
       today
       ;;
   daily)
       daily
       ;;
   weekly)
       weekly
       ;;
   monthly)
       monthly
       ;;
    *)
       echo "Usage: $0 [OPTIONS]"
       echo
       echo "Allowed options:"
       echo "    manual,  Create Manual report"
       echo "    date format is MM/DD/YY"
       echo "     today,  Create Today report"
       echo "     daily,  Create Daily report"
       echo "    weekly,  Create Weekly report"
       echo "   monthly,  Create Monthly report"
       exit 0
  esac

Помещаем данный скрипт в директорию, откуда будем его запускать, присваиваем
права запуска и добавляем эти строки в crontab:

   00 00 * * * freesa-reports daily
   00 01 * * 1 freesa-reports weekly
   30 02 1 * * freesa-reports monthly
 
21.09.2010 , Автор: Linjan
Раздел:    Корень / Администратору / Система / Syslog, ведение логов

Обсуждение [ RSS ]
 
  • 1.1, тигар, 13:29, 22/09/2010 [ответить] [смотреть все]
  • +/
    а зачем писать #!/bin/bash и вплетать что-то про freebsd? во фре этот ... шелл не ставится в туда. это во-первых. во-вторых: замена s/bash/sh/ че, сделает скрипт не работоспособным?;)
    btw,

    date: illegal option -- -
    usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
                [-f fmt date | [[[[[cc]yy]mm]dd]HH]MM[.ss]] [+format]

     
  • 1.2, Vit, 15:48, 22/09/2010 [ответить] [смотреть все]
  • +/
    free-sa - тупит на первую строку в лог файле от newsyslog'а
     
     
  • 2.6, saper, 13:21, 21/07/2011 [^] [ответить] [смотреть все]
  • +/
    Я могу реализовать поддержку новых syslog-ов, но для этого, как я уже писал тут и в других местах, мне нужен образец файла журнала. Его можно выслать на e-mail, указанный документации к программе.
     
  • 1.3, vovans, 17:35, 22/09/2010 [ответить] [смотреть все]
  • +1 +/
    есть же http://lightsquid.sourceforge.net/

    зачем нужен сарг или сабж? о_0

     
     
  • 2.4, Sw00p aka Jerom, 21:21, 22/09/2010 [^] [ответить] [смотреть все]
  • +/
    +1

    немного переделал и забиваю всё в базу

     
  • 1.5, drurus, 11:53, 29/09/2010 [ответить] [смотреть все]  
  • +/
    надо маны читать вместо написания гигантских скриптов.
    -d day и тд ;)
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:

     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 12.05 Организация шифрованного бэкапа с помощью rdiff-backup, encfs и Dropbox
    - 11.05 Настройка беспроводного соединения в Debian GNU/Linux
    - 07.05 Использование Google Drive в Linux
    - 18.04 Использование нескольких сетевых стеков в Linux
    - 15.04 Восстановление стандартного KDE меню после его удаления (например, wine)
    - 11.04 Настройка gmirror при использовании GPT во FreeBSD 9
    - 09.04 Маршрутизатор на базе FreeBSD с приоритизация трафика средствами PF и ALTQ
    - 02.04 Частичное восстановление данных MySQL из бэкапа, созданного с использованием LVM
    - 21.03 Настройка DNSSEC в BIND 9.9
    - 17.03 Набор номера на Cisco IP Phone 7960/7940 из скрипта
    RSS | Следующие 15 записей >>


    ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Оформить подписку на год


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList