Отправляет email-рассылки с помощью сервиса Sendsay

Подсчет траффика

Прив, all!

Посоветуйте прогу для подсчета траффика для одного компа.
Что требуется:
ежедневная, еженедельная и ежемесячная статистика. Ещё не помешала бы
возможность отличать локальный траффик(по сетке) от остального(инет).
Заранее спасибо.

Ответить   NixoiD Sat, 24 Jan 2004 12:14:24 +0200 (#62477)

 

Ответы:

Тебе законченное решение или тулзу сбора траффика? Тулза - ipcad к
примеру, проц не грузит и почти не теряет пакетов (теряет конечно, но на
не шибко загруженной машине - доли процента). Удобна тем что отдает
статистику по rsh (сиськовский формат). Скрипт для сбора пишется легко
(если интересно могу даже выслать готовый).

-----Original MessageFrom: NixoiD [mailto:nixo***@k*****.ru]
Sent: Saturday, January 24, 2004 1:14 PM
To: comp.soft.linux.discuss (3623771)

Прив, all!

Посоветуйте прогу для подсчета траффика для одного компа.
Что требуется:
ежедневная, еженедельная и ежемесячная статистика. Ещё не помешала бы
возможность отличать локальный траффик(по сетке) от остального(инет).
Заранее спасибо.

Ответить   "Igor Zavoichinsky" Mon, 26 Jan 2004 16:01:52 +0300 (#64046)

 

On Mon, 26 Jan 2004 16:01:52 +0300, Igor Zavoichinsky
<igo***@m*****.com> wrote:

Ну вот собрался я выделенку ставить. Оплата по трафику. И надо мне видеть
сколько я уже накачал и сколько осталось. Если не трудно давай скрипт.

Ответить   NixoiD Mon, 26 Jan 2004 22:27:05 +0200 (#64322)

 

Сори за задержку - не было меня долго.

видеть

В приват пришло еще несколько просьб на скриптец, так что решил на
подписку кинуть.

Вот скрипт если кому еще интересен. Простой как три копейки. Суть:
опрашивает ipcad и складывает траффик в отдеждьный файл удобный для
обработки всем чем угодно (этот кусок можно переписать под себя и сразу
в базу класть, например). Кстати, ipcad использует формат сисок, так что
данный скрипт легко адаптировать под сбор статитсики не только ipcada.
Для больших сетей вообще можно сделать финт ушами дабы не грузить машину
почем зря: ставим ipcad на раутерах так, чтобы каждый считал трафик
только своего сегмента. Далее регулярно собираем сумарную информацию на
главный хост. Ну в общем смысл понятен.

#!/usr/bin/perl

# Requests data from cisco routers (or software that simulates the
protocol) and stores result as preparsed logs
# Author: Pavel Tsibulin
# File version: 1.0
# Modified by: Igor Zavoichinsky at 13.VII.2003
# File version: 1.1

use Getopt::Std;

# Settings
$logpath = '/var/log/traffic'; # path to folder where the logs should
be stored

getopt( "rc" );
@all_routers_ips = split( /\,/, $opt_r );
if ( $opt_c eq "" ) {
$cisco_get_command = '/usr/bin/rsh $router_ip clear ip
accounting;/usr/bin/rsh $router_ip show ip accounting checkpoint';
} else {
$cisco_get_command = $opt_c;
}
if ( $opt_r eq "" ) {
print "UTM ver 2.0 \n";
print "(c) NetUP Systems \n";
print " \n usage: get_from_cisco -r ip_cisco \n\n";
exit (1);
};
$current_time = time();

foreach $router_ip ( @all_routers_ips ) {
#print " o Gazering data from router: $router_ip \n";
unless( open( ROUTER, eval( "\"$cisco_get_command |\"" ) ) ) {
print STDERR "Can't get data from $router_ip: $!\n";
next;
}
@router_data = <ROUTER>;

# GET traffic data age
foreach(@router_data) {
if( /^*(Accounting data age is)\s+(\d+)*$/ ) { $ftime =
$current_time - $2; }
}

# PARSE fetched data and write it to file
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
localtime();
$year += 1900;
$mon = sprintf('%02i', $mon + 1);
$mday = sprintf('%02i', $mday);
$hour = sprintf('%02i', $hour);
$min = sprintf('%02i', $min);
open (LOG, ">$logpath/$year$mon$mday\_$hour$min.log");
foreach( @router_data ) {
if
(/^\s*(\d+\.\d+\.\d+\.\d+)\s+(\d+\.\d+\.\d+\.\d+)\s+(\d+)\s+(\d+)\s*$/)
{
$ip_from = $1;
$ip_to = $2;
$packets = $3;
$bytes_all = $4;
print LOG "$ip_from $ip_to $bytes_all $bytes_all
$ftime $current_time\n";
} elsif (/^Accounting threshold exceeded/) {
print STDERR;
}
}
close LOG;
close ROUTER;
}
-*Название листа Linux: разрешение вопросов, перспективы и общение
Архив Листа - http://subscribe.ru/archive/comp.soft.linux.discuss
Адрес правил листа comp.soft.linux.discuss-rules@subscribe.ru
Номер письма: 3689
Адрес сайта рассылки: http://www.linuxrsp.ru
Количество участников: 996

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.discuss--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   "Igor Zavoichinsky" Wed, 4 Feb 2004 17:06:17 +0300 (#71682)