Zliczanie transferu danych na poszczególne procesy
Moderatorzy: Moderatorzy, Administratorzy
Zliczanie transferu danych na poszczególne procesy
Na forum dużo było tematów na temat zliczania transferu danych, jednak w żadnym nie było tego, o co mi chodzi - więc piszę ;)
Chciałbym zliczać transfer danych wykonany przez każdy proces. Stawiam serwer gry, a muszę wiedzieć, ile danych wychodzących i przychodzących generuje dziennie i miesięcznie.
Wiecie, jak to zrobić? Macie jakieś pomysły?
Chciałbym zliczać transfer danych wykonany przez każdy proces. Stawiam serwer gry, a muszę wiedzieć, ile danych wychodzących i przychodzących generuje dziennie i miesięcznie.
Wiecie, jak to zrobić? Macie jakieś pomysły?
Pozdrawiam, [url=http://nowaker.net]Nowaker[/url]
[url=http://www.geozone.kero.pl]GeoZone.pl[/url] - [url=http://www.geozone.pl]portal geograficzny[/url]
[url=http://www.linkbazar.pl]Sprzedaj lub kup linki na swojej stronie internetowej[/url]
[url=http://www.geozone.kero.pl]GeoZone.pl[/url] - [url=http://www.geozone.pl]portal geograficzny[/url]
[url=http://www.linkbazar.pl]Sprzedaj lub kup linki na swojej stronie internetowej[/url]
-
- Moderator
- Posty: 1510
- Rejestracja: 2006-03-19, 12:00
- Lokalizacja: Gdynia
- Kontakt:
Re: Zliczanie transferu danych na poszczególne procesy
Najlepszym rozwiązaniem będzie chyba MRTG. Przejrzyj sobie dokumentacje. Jeśli chodzi o dane generowane przez proces to raczej ciężko będzie. Raczej będzie tu chodziło o ruch na porcie. To zdecydowanie jest wykonalne przy pomocy, chociażby MRTG.
http://oss.oetiker.ch/mrtg/doc/index.en.html
http://oss.oetiker.ch/mrtg/doc/index.en.html
Pamiętaj,
Jeśli Twój problem został rozwiązany dopisz [b] [Rozw.] [/b]w tytule.
Projektowanie stron WWW: [url=http://www.miszewski.net.pl]www.miszewski.net.pl[/url]
Jeśli Twój problem został rozwiązany dopisz [b] [Rozw.] [/b]w tytule.
Projektowanie stron WWW: [url=http://www.miszewski.net.pl]www.miszewski.net.pl[/url]
Re: Zliczanie transferu danych na poszczególne procesy
Ano, ruch na porcie to dokładnie to, o co mi chodzi. Serwer gry chodzi tylko na jednym, stałym porcie, więc dzięki - sprawdzę.
Pozdrawiam, [url=http://nowaker.net]Nowaker[/url]
[url=http://www.geozone.kero.pl]GeoZone.pl[/url] - [url=http://www.geozone.pl]portal geograficzny[/url]
[url=http://www.linkbazar.pl]Sprzedaj lub kup linki na swojej stronie internetowej[/url]
[url=http://www.geozone.kero.pl]GeoZone.pl[/url] - [url=http://www.geozone.pl]portal geograficzny[/url]
[url=http://www.linkbazar.pl]Sprzedaj lub kup linki na swojej stronie internetowej[/url]
Re: Zliczanie transferu danych na poszczególne procesy
Zakładając, że procesy uruchamiasz z innego usera niż root, to można liczyć po uid'ach
tych userów.
Najlepsza forma, gry proces używa kilu portów lub portów losowych.
tych userów.
Najlepsza forma, gry proces używa kilu portów lub portów losowych.
Najpiękniejszych chwil w życiu nie zaplanujesz. One przyjdą same.
Re: Zliczanie transferu danych na poszczególne procesy
potwierdzam, to jest sensowne podejscie.
Re: Zliczanie transferu danych na poszczególne procesy
Dzięki za pomysły, ale nie wiem, w jaki sposób to zliczać. Moglibyście wkleić tutaj swoje konfigi i skrypty?
Szukałem na forum o MRTG, ale o zliczaniu danych na port / uid nie znalazłem.
Szukałem na forum o MRTG, ale o zliczaniu danych na port / uid nie znalazłem.
Pozdrawiam, [url=http://nowaker.net]Nowaker[/url]
[url=http://www.geozone.kero.pl]GeoZone.pl[/url] - [url=http://www.geozone.pl]portal geograficzny[/url]
[url=http://www.linkbazar.pl]Sprzedaj lub kup linki na swojej stronie internetowej[/url]
[url=http://www.geozone.kero.pl]GeoZone.pl[/url] - [url=http://www.geozone.pl]portal geograficzny[/url]
[url=http://www.linkbazar.pl]Sprzedaj lub kup linki na swojej stronie internetowej[/url]
Re: Zliczanie transferu danych na poszczególne procesy
Do generowania wykresów wystarczy LSTAT. Tam można za pomocą filtrów m ( mark ) ładnie rysować to co się chce. Pakiety oznaczysz za pomocą IPTABLES, coś takiego np:
POZDRAWIAM
Kod: Zaznacz cały
proto=tcp
port=12345
# Dane do serwera gier
iptables -t mangle INPUT -p $proto --dport $port -j MARK --set-mark 98
# Dane od serwera gier
iptables -t mangle OUTPUT -p $proto --sport $port -j MARK --set-mark 99
Re: Zliczanie transferu danych na poszczególne procesy
Tyle, że nie korzystam z Apache - mam Lighttpd...
Pozdrawiam, [url=http://nowaker.net]Nowaker[/url]
[url=http://www.geozone.kero.pl]GeoZone.pl[/url] - [url=http://www.geozone.pl]portal geograficzny[/url]
[url=http://www.linkbazar.pl]Sprzedaj lub kup linki na swojej stronie internetowej[/url]
[url=http://www.geozone.kero.pl]GeoZone.pl[/url] - [url=http://www.geozone.pl]portal geograficzny[/url]
[url=http://www.linkbazar.pl]Sprzedaj lub kup linki na swojej stronie internetowej[/url]
-
- Moderator
- Posty: 1510
- Rejestracja: 2006-03-19, 12:00
- Lokalizacja: Gdynia
- Kontakt:
Re: Zliczanie transferu danych na poszczególne procesy
A, że spytam, do czego Ci apache?
Lstat to skrypt cgi od strony serwera www, a normalny daemon od strony odczytywania danych.
Lstat to skrypt cgi od strony serwera www, a normalny daemon od strony odczytywania danych.
Pamiętaj,
Jeśli Twój problem został rozwiązany dopisz [b] [Rozw.] [/b]w tytule.
Projektowanie stron WWW: [url=http://www.miszewski.net.pl]www.miszewski.net.pl[/url]
Jeśli Twój problem został rozwiązany dopisz [b] [Rozw.] [/b]w tytule.
Projektowanie stron WWW: [url=http://www.miszewski.net.pl]www.miszewski.net.pl[/url]
Re: Zliczanie transferu danych na poszczególne procesy
Gdzieś na tym forum przeczytałem, że "lstat wariuje na czymś innym niż apache".
Pozdrawiam, [url=http://nowaker.net]Nowaker[/url]
[url=http://www.geozone.kero.pl]GeoZone.pl[/url] - [url=http://www.geozone.pl]portal geograficzny[/url]
[url=http://www.linkbazar.pl]Sprzedaj lub kup linki na swojej stronie internetowej[/url]
[url=http://www.geozone.kero.pl]GeoZone.pl[/url] - [url=http://www.geozone.pl]portal geograficzny[/url]
[url=http://www.linkbazar.pl]Sprzedaj lub kup linki na swojej stronie internetowej[/url]
Re: Zliczanie transferu danych na poszczególne procesy
Tak jak napisał miszmaniac
Nie ma znaczenia jakiego serwera www używasz
Spróbuj zainstalować lstata i nie powinno być problemu z Lighttpd
POZDRAWIAM
Nie ma znaczenia jakiego serwera www używasz
Spróbuj zainstalować lstata i nie powinno być problemu z Lighttpd
POZDRAWIAM
Re: Zliczanie transferu danych na poszczególne procesy
Ja mam coś własnego napisane, tyle że pod FreeBSD - nie ma to jednak większegoNowaker pisze:Dzięki za pomysły, ale nie wiem, w jaki sposób to zliczać. Moglibyście wkleić tutaj swoje konfigi i skrypty?
Szukałem na forum o MRTG, ale o zliczaniu danych na port / uid nie znalazłem.
znaczenia, bo to łatwo przenieść na linuxa.
Najpierw liczymy ruch:
Kod: Zaznacz cały
ipfw add 00030 count log ip from any to any via em1 in uid www
ipfw add 00030 count log ip from any to any via em1 out uid www
Kod: Zaznacz cały
00030 8424622 1122245410 count log ip from any to any via em1 in uid www
00030 9550541 11774740178 count log ip from any to any via em1 out uid www
z sumarycznym transferem:
Kod: Zaznacz cały
Sent: 7445.34MB (7.27GB)
Received: 65348.16MB (63.82GB)
Total: 72793.50MB (71.09GB)
Kod: Zaznacz cały
#!/usr/bin/perl -w
#
# FreeBSD 5.x
$ipfw = "/sbin/ipfw";
$rule = "10000";
$state_file = "/var/db/state.intf";
$inb = 0;
$outb = 0;
if (open(H, "< $state_file")) {
while (<H>) {
@b = split(/ /);
$inb += $b[0];
$outb += $b[1];
}
close(H);
}
foreach $line (`$ipfw show`) {
if ($line =~ /^$rule /) {
chomp($line);
@cells = split(/ +/, $line);
if ($cells[11] eq "in") {
$inb += $cells[2];
}
elsif ($cells[11] eq "out") {
$outb += $cells[2];
}
}
}
printf("Sent: %.2fMB (%.2fGB)\nReceived: %.2fMB (%.2fGB)\nTotal: %.2fMB (%.2fGB)\n",
$outb / 1048576, $outb / 1073741824, $inb / 1048576, $inb / 1073741824,
($outb + $inb) / 1048576, ($outb + $inb) / 1073741824);
if (($#ARGV >= 0) && ($ARGV[0] eq "-save")) {
open(H, "> $state_file");
printf(H "%s %s\n", $inb, $outb);
close(H);
}
system "/sbin/ipfw -q zero $rule";
Najpiękniejszych chwil w życiu nie zaplanujesz. One przyjdą same.