MRTG

(Różnice między wersjami)
Skocz do: nawigacji, wyszukiwania
(Katalogi)
(Tekst nagłówka)
Linia 82: Linia 82:
 
Jak nie ma na serwerze nikogo to oczywiście będą zera.
 
Jak nie ma na serwerze nikogo to oczywiście będą zera.
  
== Tekst nagłówka ==
+
=MRTG konfig=
 +
Teraz czas zrobić plik konfiguracyjny dla MRTG aby po wczytaniu go wykonywał.
 +
 
 +
W tym celu tworzymy plik w katalogu ''/var/www/html/mrtg/serwer/'' o nazwie ''serwery.cfg'' i wpisujemy do niego poniższe dane:
 +
<pre>
 +
WorkDir: /var/www/html/mrtg/serwer/
 +
 
 +
Options[_]: growright, gauge, nopercent, integer, avgpeak, noborder, pngdate
 +
MaxBytes[_]: 32
 +
 
 +
Target[dod13]: `/var/www/html/mrtg/serwer/bin/s1.pl`
 +
#MaxBytes[dod13]: 32
 +
#Options[dod13]: gauge, nopercent, growright
 +
ShortLegend[dod13]: users
 +
YLegend[dod13]: users connected
 +
LegendI[dod13]: Users Connected:
 +
LegendO[dod13]:
 +
Legend1[dod13]: Users Connected
 +
Legend2[dod13]:
 +
Title[dod13]: Ilosc graczy na Festung-Breslau.pl DOD 1.3
 +
PageTop[dod13]: <H1>Ilosc graczy na Festung-Breslau.pl DOD 1.3</H1>
 +
 
 +
</pre>
 +
 
 +
WorkDir: /var/www/html/mrtg/serwer/
 +
Definuje w jakim katalogu maja się znajdowac logi i wyniki pracy MRTG
 +
Target[dod13]: `/var/www/html/mrtg/serwer/bin/s1.pl`
 +
Oznacza jaki skrypt chcemy wykonac do zliczania danych, tutaj jest nasz perlowy skrypt na stats serwera.
 +
 
 +
Linii Options oraz MaxBytes radze nie zmieniać - albo zajrzyjcie do instruckji MRTG. Reszte mozna spolszczyć.

Wersja z 14:31, 6 wrz 2006

Spis treści

Opis

Poniżej podany jest przykład konfiguracji MRTG tak aby tworzył wykresy z ilości graczy na serwerze albo serwerach. Dzięki temu możemy zobaczyć ile jest graczy na serwerze, nie musimy statystyk tworzyć na serwerze na którym działa serwer. Prawdę mówiąc, dzieki temu możemy sprawdzać status dowolnego serwera.

Ten artykuł jest niepełny i wymaga uzupełnienia. Jeżeli jesteś w stanie - postaraj się go uzupełnić.. Pamiętaj, że nawet najmniejsza zmiana jest cenna i pomocna :)


Wymagania

  • MRTG - powinen być dostępny na wiekszości serwerów Linux a pod Windows trzeba doinstalowac.
  • PERL i możliwośc wykonywania skryptów perl
  • QStat - wyagana bdzie możliwość kompilacji ze żródeł, ale można sobie załatwić juz skompilowane wersje.
  • WWW na kórej będa obrazki - przeważnie ten sam serwer na którym wszstko się dzieje - czyli mrtg, perl, qstat.

Instalacja

Katalogi

Zakładamy takie oto katalogi

  • /var/www/html/mrtg/serwer/ - tu będą trzymane logi MRTG oraz obrazki i strona WWW
  • /var/www/html/mrtg/serwer/bin/ - to jest katalog gdzie mieści się QStat oraz pliki perl

Oczywiście wartodostosować katalogi do własnych potrzeb - wszstko zalezy od dystrybucji, oraz jak chcemy ustawic sobie skrypty.


QStat

Nie będę się tutał rozpisywał na temat QStata - przeczytajcie po prostu tutaj jak go zainstalować.

PERL

Notka: Właśicwie, to całość mozna wykonać bez PERLa - wykorzystując odpowiednio zmodyfikowany skrypt w bashu.

Tworzymy katalogu /var/www/html/mrtg/serwer/bin/ plik np s1.pl i wpisujemy w nim poniższy kod:

#!/usr/bin/perl
 
$myserver = "156.17.41.139:27015";
 
$ENV{'REQUEST_METHOD'} =~ tr/a-z/A-Z/;
 
if ($ENV{'REQUEST_METHOD'} eq "POST") {
  read(STDIN, $in, $ENV{'CONTENT_LENGTH'});
  print "URL Input: $in <br><br> \n";
  } else {
  $in = $ENV{'QUERY_STRING'};
#  print "URL Input: $in <br><br> \n";
}
 
 
  (my $setting, my $value) = split(/=/, $in);
  $setting =~ tr/+/ /;
  $setting =~ s/%(..)/pack("C", hex($1))/eg;
  $value =~ tr/+/ /;
  $value =~ s/%(..)/pack("C", hex($1))/eg;
 
  if ($setting eq "server") {
     $myserver = $value;
  }
 
 
open (QSTAT, "/var/www/html/mrtg/serwer/bin/qstat -raw '*' -a2s $myserver |");
 
print ;
while (<QSTAT>)   {
   ($type,$ip,$servername,$map,$maxplayers,$curplayers,$ping,$timeout) = split(/\*/);
   if($ip)   {
   print "$curplayers \n";
   print "$curplayers \n";
   }
}
  • w linii
$myserver = "156.17.41.139:27015";

trzbea podac numer ip serwera oraz port, jaki chcemy sprawdzać.

  • w linii
open (QSTAT, "/var/www/html/mrtg/serwer/bin/qstat -raw '*' -a2s $myserver |");

trzeba wpisac ścieżke do pliku qstat. Oznaczenie -a2s oznacza, że qstat ma sprawdzać status serwera Half-Life Steam (czyli wszystkie abzujące na Half-Life 1 po 1 czerwca 2006 roku oraz serwerów Source).

Warto przetestować skrypt - w tym celu w konsoli wpisujemy

perl s1.pl

W efekcie powinniśmy uzyskać 2 linie zawierające ilość graczy na serwerze. [kaszpir@bagno mrtg]$ perl s1.pl 12 12 [kaszpir@bagno mrtg]$

Jak nie ma na serwerze nikogo to oczywiście będą zera.

MRTG konfig

Teraz czas zrobić plik konfiguracyjny dla MRTG aby po wczytaniu go wykonywał.

W tym celu tworzymy plik w katalogu /var/www/html/mrtg/serwer/ o nazwie serwery.cfg i wpisujemy do niego poniższe dane:

WorkDir: /var/www/html/mrtg/serwer/

Options[_]: growright, gauge, nopercent, integer, avgpeak, noborder, pngdate
MaxBytes[_]: 32

Target[dod13]: `/var/www/html/mrtg/serwer/bin/s1.pl`
#MaxBytes[dod13]: 32
#Options[dod13]: gauge, nopercent, growright
ShortLegend[dod13]: users
YLegend[dod13]: users connected
LegendI[dod13]: Users Connected:
LegendO[dod13]:
Legend1[dod13]: Users Connected
Legend2[dod13]:
Title[dod13]: Ilosc graczy na Festung-Breslau.pl DOD 1.3
PageTop[dod13]: <H1>Ilosc graczy na Festung-Breslau.pl DOD 1.3</H1>

WorkDir: /var/www/html/mrtg/serwer/

Definuje w jakim katalogu maja się znajdowac logi i wyniki pracy MRTG

Target[dod13]: `/var/www/html/mrtg/serwer/bin/s1.pl`

Oznacza jaki skrypt chcemy wykonac do zliczania danych, tutaj jest nasz perlowy skrypt na stats serwera.

Linii Options oraz MaxBytes radze nie zmieniać - albo zajrzyjcie do instruckji MRTG. Reszte mozna spolszczyć.

Osobiste
Przestrzenie nazw
Warianty
Działania
HLDS.pl - Menu:
Inne
IRC
Inne sekcje:
Znajomi:
Narzędzia