een counter voor je server

Pagina: 1
Acties:

  • B-BRAIN
  • Registratie: Maart 2000
  • Laatst online: 10-12-2025
hallo heb een vraag
is der een soort van meter om al je verkeer wat van de server naar buiten en wat binne komt te meten

ben namelijk wel nieuwschierig hoeveel ik down in de maand

  • mavink
  • Registratie: April 2000
  • Laatst online: 27-05 09:16
Het allermakkelijkste is af en toe even naar /proc/net/dev te kijken. Er zijn inderdaad ook wel progjes voor. Het makkelijkste is waarschijnlijk ipac, dat maakt een aantal ipchains regels aan waarmee hij verkeer meet, en daar kan je dan per host/ per periode een overzicht van maken.

Voorbeeld:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
deborah:~# ipacsum --timeframe "last month"
IP accounting summary
Host: deborah / Time created: 2001/02/05 20:13:41 CET
Data from 2001/01/01 00:00:00 CET to 2001/01/31 23:59:59 CET
* maarten incoming                                :           1364M
* maarten outging                                 :             10G
* stephan incoming                                :             18M
* stephan outgoing                                :            141M
* pascal incoming                                 :               0
* pascal outgoing                                 :               0
* totaal incoming                                 :           7314M
* totaal outgoing                                 :            278M
* = data incomplete, rule was not there all the time

En de getallen kloppen wel, outgoing meet op de kabel naar @home, de rest zitten ook lokale filetransfers tussen.

  • B-BRAIN
  • Registratie: Maart 2000
  • Laatst online: 10-12-2025
en waar kun je dat ipac downloaden

ben namelijk niet zo bekent met linux maar red me aardig met de standaart dingen om te instaleren

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-07 15:42

RvdH

Uitvinder van RickRAID


Verwijderd

hey, is er iemand die dit draait met Slackware? Je hebt mktemp nodig, maar ik kan dat proggie nergens vinden.

  • mavink
  • Registratie: April 2000
  • Laatst online: 27-05 09:16
Nog leuker is trouwens ipfm. Daarbij kan je zelf opgeven welk verkeer wel of niet moet worden meegenomen. Kan je bijvoorbeeld verkeer met de mailserver apart meten. Ik ben daarvoor nu bezig met het maken van wat scripts die alle data uit ipfm-logfiles in een mysql-database proppen zodat je er mooie analyses op kunt loslaten :P

Verwijderd

Hey vink, dat klinkt erg cool.. Zou je die scriptjes kunnen delen als het gelukt is? :)

  • mavink
  • Registratie: April 2000
  • Laatst online: 27-05 09:16
Scriptje om de logs in de DB te gooien kan ik je zo geven, de analyses zijn a) nog niet af en b) onder werktijd gemaakt dus niet zomaar beschikbaar, maar heb je interesse in dat eerste script?

Verwijderd

Yep, pass dat eerst script aub! Dan maak ik de analyse zelf wel :)

Mail het naar: vdvelde@gelrevision.nl

bvd!

  • mavink
  • Registratie: April 2000
  • Laatst online: 27-05 09:16
Ik post hem hier wel ff, commentaar is welkom.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/perl
#
# Script voor conversie logfiles ipfm naar mysql
# 
# MAV 20010124 (vink@interstroom.nl)

# Database interface:

use DBI;

# Routines voor bewerken IP-adressen:

use NetAddr::IP;

# Maak verbinding met de database:

$dbh = DBI->connect('DBI:mysql:traffic:localhost', '****','****') or die $DBI::errstr;

# eerste twee regels bevatten o.a. de datum:

$dateline = <STDIN>;
$discard = <STDIN>;

# datum zoeken:

($cmt,$ipfm_version,$date1,$date2,@rest)=split(/\s/,$dateline);

# Rest van de logfile lezen:

while ($log_line = <STDIN>) {
($this_ip,$bytes_in,$bytes_uit,$bytes_tot)=split(' ',$log_line);
my $ip = new NetAddr::IP $this_ip;
$num_ip=$ip->to_numeric();
$sql=sprintf("insert into data values (\"%s %s\",%u,%u,%u)",$date1,$date2,$num_ip,$bytes_in,$bytes_uit);
$cursor = $dbh->prepare($sql);
$cursor->execute;
$cursor->finish;
}

$dbh->disconnect;

Vast een opmerking die ongetwijfeld gaat komen: nee, ik kon de mysql-functie INET_ATON() dus niet vinden, die blijkt wel te bestaan. Daarmee zou het script een stuk simpeler worden. De tabelstructuur ziet er zo uit:
code:
1
2
3
4
5
6
7
8
9
mysql> describe data;
+-----------+------------------+------+-----+---------------------+-------+---------------------------------+
| Field     | Type             | Null | Key | Default             | Extra | Privileges                      |
+-----------+------------------+------+-----+---------------------+-------+---------------------------------+
| tijd      | datetime         |      | MUL | 0000-00-00 00:00:00 |       | select,insert,update,references |
| ip        | int(10) unsigned |      | MUL | 0                   |       | select,insert,update,references |
| bytes_in  | int(10) unsigned |      |     | 0                   |       | select,insert,update,references |
| bytes_uit | int(10) unsigned |      |     | 0                   |       | select,insert,update,references |
+-----------+------------------+------+-----+---------------------+-------+---------------------------------+

Verwijderd

Hmm dat werkt idd leuk, ipac..
Net aan het installeren op onze server (studentenhuis); kunnen we een wedstrijdje houden wie het meeste leeched ;)


vink, zou jij ff jouw /etc/ipac.conf willen posten? (Ik krijg op elk van mijn rules 0 bytes)

  • mavink
  • Registratie: April 2000
  • Laatst online: 27-05 09:16
Hier dan:
code:
1
2
3
4
5
6
7
8
maarten incoming|in|eth2|all|192.168.0.2|
maarten outging|out|eth2|all||192.168.0.2
stephan incoming|in|eth0|all|192.168.1.2|
stephan outgoing|out|eth0|all||192.168.1.2
pascal incoming|in|eth0|all|192.168.1.3|
pascal outgoing|out|eth0|all||192.168.1.3
totaal incoming|in|eth1|all||212.120.115.225
totaal outgoing|out|eth1|all|212.120.115.225

Vergeet niet dat je eerst ipacset moet draaien, en vervolgens af en toe fetchipac moet aanroepen (bijvoorbeeld met een cronjob ieder uur).

Verwijderd

Okay thanks het werkt inmiddels bij mij.. alleen is de upload hoger dan de download bij mij; moet nog ff goed naar de configfile kijken.
Pagina: 1