Счетчик трафика посоветуйте

uncle17

Навеяно сегодняшним приколом с подсчетом трафика у хостера...
Хочется поставить на сервера (collocation, Win XP) свой удобный счетчик трафика с ведением логов по времени, по айпишникам и т.д. Посоветуйте что-нибудь, дабы можно было проверять показания хостера и не оплачивать российский трафик как импортный

uncle17

Посоветовали ISA Server поставить. А попроще нет ничего?

irinkina

Ты лучше разберись, тебе биллинг или парсер логов IISa нужен ?
Если же просто счетчик трафа, то я думаю и TMeter справиться, правда настраивать его под твою задачу тяжело.

uncle17

С машин вещает Windows Media, так что IIS тут ни при чем

irinkina

С этого бы и начинал.
Правда лучше от этого не становится...

SvinkaVJeansah

Маленький скрипт по крону на перле, засовывающий статистику из ipfw в mysql:
[15:46]server.copyco.ru#cat ipfwgrab
#!/usr/bin/perl
#use strict;
use DBI;
$user = "****";
$table = "ipfwtc";
$password = "****";
my $DBH = DBI->connect("DBI:mysql:$table", $user, $password) or die "I can't connect! Fuck! Error: $DBI::errstr\n";
##### Get reload counter ###################
my $sqlm = "SELECT MAX(reload) FROM raw";
my $sthm = $DBH->prepare($sqlm);
$sthm->execute;
$reload = $sthm->fetchrow_array;
$sthm->finish;
if(!defined $reload){
$reload = 0;
}
############################################
my $sql = "SELECT rule, id FROM counters";
my $sth = $DBH->prepare($sql);
$sth->execute;
my ($rule_num, $idd);
$sth->bind_columns(undef, \($rule_num, $idd;
### selecting couner from couners and grabbing ipfw counters
while ($sth->fetch) {
$text_ipfw=`ipfw show $rule_num`;
@textar = split (' ',$text_ipfw);
### checking for reload on each rule
### if no raw data(new rule) our reload couner = 0(or reload);
my $sqlr = "SELECT data, reload FROM raw WHERE id=$idd ORDER BY stamp DESC LIMIT 1";
my $sthr = $DBH->prepare($sqlr);
$sthr->execute;
my ($cur_data, $cur_reload);
$sthr->bind_columns(undef, \($cur_data, $cur_reload;
# If no data available we set reload to 0
if(!$sthr->fetch)
{
$cur_reload = 0;
}else
{
if($cur_data > $textar[2])
{
$cur_reload = $cur_reload + 1;
}
}
#print "$rule_num, $cur_data, $cur_reload\n";
$sthr->finish;
### inserting raw data for counter
my $sql1 = "INSERT INTO raw VALUES($idd, $textar[2], NOW $cur_reload)";
my $sth1 = $DBH->prepare($sql1);
$sth1->execute;
$sth1->finish;
}
$sth->finish;
$DBH->disconnect;
[15:46]server.copyco.ru#
Оставить комментарий
Имя или ник:
Комментарий: