The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"я делаю чуть иначе"
Отправлено fx, 22-Дек-08 15:49 
я делаю чуть иначе, хотя и похоже. цель была: сделать удобную и простую систему подсчёта общего конторского трафика, но тоже без мускула и веб-морды с пхп (как во многих мануалах описывается).
к слову - я в курсе, что trafd может терять пакеты на слабом железе и при большой загрузке канала - но этих обстоятельств не обнаружено, и точность вполне подходящая...

предположим, трафик считается на fxp0, и предварительные настройки уже сделаны (trafd установлен и запущен, раз в несколько минут дамп из памяти сограняется на диск, раз в сутки сохраняется в базу /usr/local/var/trafd/trafd.fxp0).

daily.sh - запускается раз в ночь для подсчёта ежедневного трафика:

#!/bin/sh

date=`date -v-1d '+%Y-%m-%d'`
fpath=/usr/local/var/trafd/$date

/usr/local/bin/traflog -n -i fxp0 -F /usr/local/etc/traffic/in.cf > $fpath.in
/usr/local/bin/traflog -n -i fxp0 -F /usr/local/etc/traffic/out.cf > $fpath.out

echo "Traffic of $date..." > $fpath.sum
echo -n " INCOMING: " >> $fpath.sum
grep "Summary" $fpath.in |awk '{ print $5 }' >> $fpath.sum
echo -n " OUTGOING: " >> $fpath.sum
grep "Summary" $fpath.out |awk '{ print $5 }' >> $fpath.sum
cat $fpath.sum | mail -s "Daily traffic summary" root

при этом в файлах in.cf и out.cf указаны фильтры, для каких ip или подсетей считать суммарный трафик (в формате "to aa.bb.cc.dd/nn" и "from aa.bb.cc.dd/nn") - мне кажется, так удобнее, тем более что отдельно по разным ip мне не нужно (а если понадобится - потом можно отдельный скрипт написать).


monthly.sh - запускается в ночь на 1 число (важно: после daily.sh) для подсчёта суммарного трафика за прошедший месяц:

#!/bin/sh

date=`date -v-1m '+%Y-%m'`
fpath=/usr/local/var/trafd/$date

/usr/local/bin/traflog -ans -i fxp0 -F /usr/local/etc/traffic/in.cf > $fpath.in
/usr/local/bin/traflog -ans -i fxp0 -F /usr/local/etc/traffic/out.cf > $fpath.out

cp /usr/local/var/trafd/trafd.fxp0 $fpath.fxp0
rm /usr/local/var/trafd/trafd.fxp0

echo "Traffic of $date..." > $fpath.sum
echo -n " INCOMING: " >> $fpath.sum
grep "Summary" $fpath.in |awk '{ print $5 }' >> $fpath.sum
echo -n " OUTGOING: " >> $fpath.sum
grep "Summary" $fpath.out |awk '{ print $5 }' >> $fpath.sum
cat $fpath.sum | mail -s "Monthly traffic summary" root

при работе этих скриптов в /usr/local/var/trafd/ сохраняются как файлы с результатами ежедневной/ежемесячной обработки (подробно и краткой суммой), так и база trafd за каждый месяц - при этом "год-месяц[-день]" используются для наименования файлов, а при необходимости эти данные можно ещё как-то обработать (или удалить в случае ненужности).

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру