Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
trawiator Mieszkaniec boarda
Dołączył: 09 Sie 2004
|
Wysłany: Czw Kwi 07, 2005 1:41 pm Temat postu: [WWW] mrtg |
|
|
A wiec potrzebuje skrypcik PHP na stronke ktory co np. 5 minut sprawdza ile jest graczy na serverze i na podstawie tego generuje wykres "zuzycia" servera [cos mniej wiecej jak MRTG]. Cos takiego znajduje sie w serwisie HalfLife.pl konkretnie to.
Z gory zaznaczam ze wklejanie tego wygenerowanego obrazka na strone nie wchodzi w rachube.
Dla niekumatych zaznaczam ze NIEchodzi mi o skrypt pokazujacy jaka mapa jest grana na serverze i takie bajery. _________________ Myśl rodzi herezję.
Herezja wymaga odkupienia. |
|
Powrót do góry |
|
|
Google Reklama
|
Wysłany: Czw Kwi 07, 2005 1:41 pm Temat postu: |
|
|
|
|
Powrót do góry |
|
|
trawiator Mieszkaniec boarda
Dołączył: 09 Sie 2004
|
Wysłany: Nie Kwi 24, 2005 5:05 pm Temat postu: |
|
|
Instrukcja pod Linux'a [pod Windows prawdopodobnie bedzie podobnie]
Wymagania:
- Zainstalowane mrtg [jak instalowac nie bede pisal... polecam dokumentacje i www.google.com ]
- Maszyne gdzie bedziemy mogli odpalic QStat
- DOSTATECZNA ZNAJOMOSC LINUX'a
Instalacja:
1) Wypakowywyjemy Qstat np. do: /home/users/counter/files/qstat-2.8/
- Przechodzimy do katalogu gdzie wypakowany zostal qstat i odpalamy plik configure i jezeli wszystko pujdzie dobrze powinno ladnie stworzyc nowe wersje kilku plikow (np. Makefile)
- Teraz odpalamy plik Makefile (nie potrzeba rzadnych parametrow... no chyba ze chcemy). Po skonczonej (poprawnej) kompilacji mamy gotowy juz skrypt.
2) Tworzymy plik .pl np. hlds_to_mrtg.pl w ktorym wpisujemy:
- Przy $myserver = nalezy podac IP:PORT swojego serwera cs (czy innego opartego na HL)!
- Przy open (QSTAT, "/usr/local/mrtg-2/run/qstat/home/users/counter/files/qstat-2.8/qstat -raw '*' -a2s $myserver |"); Nalezy wpisac sciezke do pliku qstat.
Kod: |
#!/usr/bin/perl
$myserver = "208.187.236.10:27016";
$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, "/usr/local/mrtg-2/run/qstat/home/users/counter/files/qstat-2.8 -raw '*' -a2s $myserver |");
print ;
while (<QSTAT>) {
($type,$ip,$servername,$map,$maxplayers,$curplayers,$ping,$timeout) = split(/\*/);
if($ip) {
print "$curplayers \n";
print "$curplayers \n";
}
}
|
Plik zapisujemy np. do /home/users/counter/files/qstat-2.8
3) Teraz trzeba stworzyc plik konfiguracyjny do mrtg np. mrtg.cfg . Przykladowo bedzie on wyglal tak: Kod: | WorkDir: /home/users/www/mrtg/
Language: Polish
Colours[_]: --#7aafff,--#1000ff,--#006600,--#ff00ff
AddHead[_]: <center><body bgcolor=#c3d3a3>
Target[hlds]: `/home/users/counter/files/qstat-2.8/hlds_to_mrtg.pl`
MaxBytes[hlds]: 18
Options[hlds]: gauge, nopercent, growright
ShortLegend[hlds]: users
YLegend[hlds]: users connected
LegendI[hlds]: Users Connected:
LegendO[hlds]:
Legend1[hlds]: Users Connected
Legend2[hlds]:
Title[hlds]: Ilosc graczy na 127.0.0.1:27015
PageTop[hlds]: <H1>Ilosc graczy na 127.0.0.1:27015</H1> |
Zapisujemy go tez w: /home/users/counter/files/qstat-2.8/
Objasnienia:
WorkDir: <- sciezka do strony gdzie maja byc wyswietlane wykresy
Language: <- jezyk w jakim zostanie wygenerowana strona
Colours[_]: <- kolorki wykresow
AddHead[_]: <- naglowek wygenerowanej strony
Target[hlds]: <- sciezki do wczesniej stworzonego pliku, do psquery.pl oraz IP:PORT servera [ pamietajmy koniecznie o znakach ' na poczatki i koncu!!!
MaxBytes[hlds]: <- tutaj wpisujemy maksymalna ilosc slotow na serverze cs'a
Title[hlds]: <- tytul wygenerowanej strony
PageTop[hlds]: <- napis na gorze statystyk
4) Teraz tworzymy skrypt odpowiadajacy za "rysowanie" wykresow. Nazywamy go np. hldstomrtg
Kod: | #!/bin/bash
/usr/bin/mrtg /home/users/counter/files/qstat-2.8/mrtg.cfg --logging
/var/log/mrtg_counter.log --debug="cfg,dir,base,tarp,snpo,fork,time,log"
/usr/lib/mrtg/indexmaker /home/users/counter/files/qstat-2.8/mrtg.cfg
--output=/home/users/counter/mrtg/ |
Tutaj trzeba zwrocic uwage jakie pliki sa "zlinkowane" i podac odpowiednie sciezki.
Oczywiscie opcja --logging w pierwszej linijce jest nieobowiazkowa ale gdyby wystapily jakies problemy pomoze je rozwiazac bo logi wskakuja do /var/log/
5) Teraz uruchamiamy w/w skrypt z crontaba co 5 minut
Kod: | */5 * * * * /home/users/counter/files/qstat-2.8/hldstomrtg |
6) Jesli konfiga poprawnie stworzyles [katalogi i sam skrypt wywolujacy] to sie zacznie rysowac.
Milej zabawy z tym.
Info:
Tutorial stworzony na podstawie wlasnych "przygod" i przy pomocy: http://www.psychostats.com/forums/viewtopic.php?t=12522
Za ewentualne szkody wynikle poprzez stosowanie tego tutorialu nie odpawiadam. Robisz wszystko na Swoja odpowiedzialnosc. Jednakze piszac to dolozylem wszelkich staran aby dzialalo jak powinno.
Zanim cokolwiek napiszesz ze nie dziala pomysl co njamniej 2 razy gdzie moze byc blad. Przepatrz dokladnie wszystkie configi czy gdzies nie strzeliles literowki (lub ja podczas pisania tego tekstu). _________________ Myśl rodzi herezję.
Herezja wymaga odkupienia.
Ostatnio zmieniony przez trawiator dnia Nie Sie 13, 2006 5:02 pm, w całości zmieniany 2 razy |
|
Powrót do góry |
|
|
_KaszpiR_ Administrator
Dołączył: 23 Maj 2002 Klan: Nova Team (nieaktywny), ale i tak nie gram w cs...
|
|
Powrót do góry |
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
Powered by phpBB © 2001, 2005 phpBB Group
|