OpenVZ Forum


Home » International » Russian » Снимать показания трафика с VE
Re: Снимать показания трафика с VE [message #34748 is a reply to message #34170] Fri, 30 January 2009 13:57 Go to previous message
pentarh is currently offline  pentarh
Messages: 13
Registered: October 2008
Location: Russia
Junior Member
Вот упрощенный вариант утилиты vznetstat на перле написал

Запускается с хост-машины, дает показания трафика по интерфейсам заданной VE. Обычно интерфейс под номером 0 - loopback.

#!/usr/bin/perl -w

my $numArgs = $#ARGV + 1;

if ($numArgs <= 0) {
    print "Usage: $0 VEID [VEID] [...]\n";
    exit;
}

my $ve;
my $counter=0;

print "CTID\tifNum\tInput(bytes)\tInput(packets)\tOutput(bytes)\tOutput(packets)\n";

foreach $ve (@ARGV) {
    if ($ve =~ /^\d+$/) {

        my $s = `/usr/sbin/vzctl status $ve`;
        if ($s =~ /^VEID \d+ exist/) {
            my $fp;
            $counter=0;
            open $fp, "/usr/sbin/vzctl exec $ve cat /proc/net/dev |";
            while (<$fp>) {
                if (/^\s*([a-z0-9_-]+):\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/) {
                    print "$ve\t$counter\t$2\t$3\t$10\t$11\n";
                    $counter++;
                }
            }
        }
    }
}


Пример использования
# ./vznetstat 100 200
CTID    ifNum   Input(bytes)    Input(packets)  Output(bytes)   Output(packets)
100     0       216216705       1693881 216216705       1693881
100     1       2948225436      33918128        57983428690     48185011
200     0       397660994315    338046152       397660994315    338046152
200     1       537780976361    3870889534      7946463690716   5913777508

[Updated on: Fri, 30 January 2009 13:59]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: RE: Kernel RHEL5 028stab060.2 released
Next Topic: [solved]проблемы с сетью в VE
Goto Forum:
  


Current Time: Fri Oct 04 07:42:55 GMT 2024

Total time taken to generate the page: 0.06241 seconds