Freesco, NND, CDN, EOS
http://forum.freesco.pl/

ACCOUNT + statystyki tekstowe
http://forum.freesco.pl/viewtopic.php?f=24&t=16470
Strona 1 z 1

Autor:  jamp [ środa, 23 stycznia 2008, 19:46 ]
Tytuł:  ACCOUNT + statystyki tekstowe

pod adresem:http://www.jamp.int.pl/NND/PAKIETY/licznik jest nowa paczka z obsługą liczników account z możliwością generowania statystyk w plikach tekstowych. Ta wersja obsługuje wiele liczników. Nie jest wymagany apache ani rrd. Po instalacji proszę o edycję dla własnych potrzeb skryptu
: [/] [] ()
/etc/conf.d/account.conf
Powinno działać bez problemów na nowszych wersjach NND.

Autor:  Maciek [ środa, 23 stycznia 2008, 20:51 ]
Tytuł: 

Tak tylko testowo...
1. Dodałem swoją sieć 192.168.1.0/24 i wyświatla mi w tych statystykach IP 192.168.1.0.
2. Czy to się jakoś odświeża? Bo jeśli trzeba wykonywać $basename stat, to chyba należałoby to napisać userowi w jakimś postinstall?
3. A tak w ogóle to fajny pomysł...

Autor:  jamp [ środa, 23 stycznia 2008, 21:14 ]
Tytuł: 

Maciek pisze:
Tak tylko testowo...
1. Dodałem swoją sieć 192.168.1.0/24 i wyświatla mi w tych statystykach IP 192.168.1.0.
2. Czy to się jakoś odświeża? Bo jeśli trzeba wykonywać $basename stat, to chyba należałoby to napisać userowi w jakimś postinstall?
W samym skrypcie jest chyba wystarczający opis :)
: [/] [] ()
# Skrypt należy umieścić w katalogu /etc/rc.d/ i dopisać w sekcji DAEMONS
# w pliku /etc/rc.conf bezpośrednio po iptables
#
# Dostępne opcje:
#
# start    - uruchomienie liczników i rozpoczęcie zliczania
# stop     - zapisanie kopii liczników do pliku
# reset    - kasowanie liczników i rozpoczęcie zliczania od zera
# resetobr - jw. bez komunikatów
# stat     - proste statystyki
# statobr  - jw. bez komunikatów
#
# Kopię liczników i statystyki co 5 minut można uzyskać przez dopisanie
# w cronie poleceniem
# crontab -e
# 0-59/5 * * * * /etc/rc.d/rc.account stopobr &>/dev/null
# W celu automatycznego resetu liczników 1 dnia każdego miesiąca dopisz
# 01 * 1 * * /etc/rc.d/rc.account resetobr &>/dev/null
Maciek pisze:
3. A tak w ogóle to fajny pomysł...
Potrzeba chwili i niechęć do maszynożernych obrazkowych statystyk ;)

Autor:  Mis' [ środa, 23 stycznia 2008, 23:04 ]
Tytuł: 

po pierwsze primo - Dzięki Bardzo, miła zabawka!
po drugie primo - jesli zrobisz 'start', potem 'stop' potem znów 'start' to wyświetlany jest komunikat że łańcuch już istnieje. Czy argument 'stop' nie powinien kasować tego łańcucha? a jeśli nie, to czy ten komunikat nie powinien być skierowany do /dev/null?
po trzecie primo - script wymaga konfiguracji wewnątrz, czy nie lepiej by było stworzyć prosty plik konfiguracyjny i umieścić go w /etc/conf.d a w samym scripcie zrobić 'source /etc/conf.d/plik_configuracyjny'? zabezpieczyłoby to przed przypadkowym zepsuciem scriptu podczas edycji...
po czwarte primo - użytkownik ma możliwość zmiany pliku tymczasowego wykorzystywanego podczas obróbki danych, ale nie ma mozliwości zmienić nazw plików wynikowych - 'Statystyki_sieci1' - umieszczasz je w katalogu apacha więc można je obejrzeć przez przeglądarkę, ale wpisywanie takiej długiej nazwy jest niewygodne...
po piąte primo - można by generować prosty plik *html i dane dla całej sieci odróżnić od danych dla poszczególnych hostów, przez chwilę zastanawiałem się dlaczego mam więcej hostów niż mam w rzeczywistości, dopiero po chwili zorientowałem się że to pierwsza linia to dane dla całej sieci...

Wszystkie te zmiany to tylko kosmetyka i nie wpływają na działanie scriptu.
Mam jednak pytanie co do celowości takiego rozwiązania:

: [/] [] ()
account_stato() {
nrks="1"
touch ${GDZIESD}${GDZIESDP}
rm ${GDZIESD}${GDZIESDP}
   if [ "$SIECLAN" != "" ] ; then


konkretnie chodzi mi o linie z touch i rm - tworzysz plik i natychmiast go kasujesz... po co?

Autor:  jamp [ środa, 23 stycznia 2008, 23:37 ]
Tytuł: 

Mis' pisze:
po pierwsze primo - Dzięki Bardzo, miła zabawka!
:D
Mis' pisze:
po drugie primo - jesli zrobisz 'start', potem 'stop' potem znów 'start' to wyświetlany jest komunikat że łańcuch już istnieje. Czy argument 'stop' nie powinien kasować tego łańcucha? a jeśli nie, to czy ten komunikat nie powinien być skierowany do /dev/null?
Bo stop nie zatrzymuje zliczania tylko jest po to by przy zamykaniu systemu zapisać aktualny stan do kopii z których przy starcie odtwarza dane
Mis' pisze:
po trzecie primo - script wymaga konfiguracji wewnątrz, czy nie lepiej by było stworzyć prosty plik konfiguracyjny i umieścić go w /etc/conf.d a w samym scripcie zrobić 'source /etc/conf.d/plik_configuracyjny'? zabezpieczyłoby to przed przypadkowym zepsuciem scriptu podczas edycji...
Skrypt zbudowany był wczorajszej nocy na potrzeby jednej z serwerowni i następne wersje będą już poprawione :)
Mis' pisze:
po czwarte primo - użytkownik ma możliwość zmiany pliku tymczasowego wykorzystywanego podczas obróbki danych, ale nie ma mozliwości zmienić nazw plików wynikowych - 'Statystyki_sieci1' - umieszczasz je w katalogu apacha więc można je obejrzeć przez przeglądarkę, ale wpisywanie takiej długiej nazwy jest niewygodne...
To też się zmieni bo narazie staty były na stałe dopisane do index.html :)
Mis' pisze:
po piąte primo - można by generować prosty plik *html i dane dla całej sieci odróżnić od danych dla poszczególnych hostów, przez chwilę zastanawiałem się dlaczego mam więcej hostów niż mam w rzeczywistości, dopiero po chwili zorientowałem się że to pierwsza linia to dane dla całej sieci...
Co do htmli to nigdy się tym nie zajmowałem - niech inni dadzą coś z siebie ;) Po to właśnie jest opcja statopt gdzie w dość chyba wygodny dla automatyki sposób są generowane dane do jednego pliku z wszystkich podsieci :)
Mis' pisze:
Wszystkie te zmiany to tylko kosmetyka i nie wpływają na działanie scriptu.
Dlatego nie zmieniałem tego jeszcze :)
Mis' pisze:
Mam jednak pytanie co do celowości takiego rozwiązania:

: [/] [] ()
account_stato() {
nrks="1"
touch ${GDZIESD}${GDZIESDP}
rm ${GDZIESD}${GDZIESDP}
   if [ "$SIECLAN" != "" ] ; then


konkretnie chodzi mi o linie z touch i rm - tworzysz plik i natychmiast go kasujesz... po co?
Bo następnie zapis do tego pliku jest dla wszystkich podsieci i trzeba go skasować a komenda if jest troche dłuższa ;)

Autor:  Mis' [ środa, 23 stycznia 2008, 23:46 ]
Tytuł: 

i jeszcze jedna propozycja - parametr 'stat' jest używany wewnętrznie przez script. Jednak jeśli podajesz go jako mozliwy do wykorzystania w linii poleceń to powinien wyswietlać plik, który generuje na konsoli - pozwoliłoby to zerknąć na statystki bez potrzeby uzywania przeglądarki bądź szukania katalogu gdzie statystyki są zapisywane... wydaje się, że można to załatwić jakoś tak:

: [/] [] ()
stat)
   account_stat
   account_stato
if [ $? = 0 ]; then
for i in seq 1 ${nrks); do
   cat ${GDZIES}Statystyki_sieci${i}.txt
done
fi
wynik
   ;;


nie testowałem bo mam tylko jedną podsieć...

Autor:  jamp [ środa, 23 stycznia 2008, 23:55 ]
Tytuł: 

Mis' pisze:
i jeszcze jedna propozycja - parametr 'stat' jest używany wewnętrznie przez script. Jednak jeśli podajesz go jako mozliwy do wykorzystania w linii poleceń to powinien wyswietlać plik, który generuje na konsoli - pozwoliłoby to zerknąć na statystki bez potrzeby uzywania przeglądarki bądź szukania katalogu gdzie statystyki są zapisywane... wydaje się, że można to załatwić jakoś tak:

[code]
stat)
account_stat
account_stato
if [ $? = 0 ]; then
for i in seq 1 ${nrks); do
cat ${GDZIES}Statystyki_sieci${i}.txt
done
fi
wynik
;;
[code]

nie testowałem bo mam tylko jedną podsieć...
Przy dużej ilości użytkowników (a na tej maszynie dla której to było szykowane jest 200 ssaczy i 6 podsieci) trzeba by te wyświetlenia stronnicować a tak można w mc F3 i nie ma stresu :)

Autor:  Mis' [ czwartek, 24 stycznia 2008, 00:20 ]
Tytuł: 

jamp pisze:
komenda if jest troche dłuższa ;)


[ -f ${GDZIESD}${GDZIESDP} ] && rm ${GDZIESD}${GDZIESDP}

ta sama długość a czytelność sciptu większa...

Autor:  Mis' [ czwartek, 24 stycznia 2008, 00:32 ]
Tytuł: 

jamp pisze:
Mis' pisze:
po drugie primo - jesli zrobisz 'start', potem 'stop' potem znów 'start' to wyświetlany jest komunikat że łańcuch już istnieje. Czy argument 'stop' nie powinien kasować tego łańcucha? a jeśli nie, to czy ten komunikat nie powinien być skierowany do /dev/null?
Bo stop nie zatrzymuje zliczania tylko jest po to by przy zamykaniu systemu zapisać aktualny stan do kopii z których przy starcie odtwarza dane


w takiej sytuacji sugeruję dodanie opcji save robiącej to samo - użytkownik nie będzie miał wątpliwości co dany parametr robi... stop musi pozostać ze względu na zamykanie systemu.

Autor:  Mis' [ czwartek, 24 stycznia 2008, 00:37 ]
Tytuł: 

jamp pisze:
Przy dużej ilości użytkowników (a na tej maszynie dla której to było szykowane jest 200 ssaczy i 6 podsieci) trzeba by te wyświetlenia stronnicować a tak można w mc F3 i nie ma stresu :)


mc nie wydaje mi się wygodniejsze - po pierwsze i tak pewnie musisz zmienić katalog, a po drugie ja, na przykład, bardzo często korzystam z konsoli bez mc i strzałkami wywołuję polecenia z historii. Dłuższe pliki przewijam SHIFT+PGUP(PGDOWN)) - kwestia przyzwyczajenia ale wydaje się to szybsze niż otwieranie mc i zmiana katalogu...

Autor:  jamp [ czwartek, 24 stycznia 2008, 01:25 ]
Tytuł: 

Parę rzeczy już poprawiłem i jest do pobrania z mojej strony http://www.jamp.int.pl/NND/PAKIETY/licznik Można definiować nazwy plików statystyk, wyeliminowano touch, dodano save :)

Autor:  Mis' [ czwartek, 24 stycznia 2008, 01:44 ]
Tytuł: 

jamp pisze:
Parę rzeczy już poprawiłem i jest do pobrania z mojej strony http://www.pkja.eu Można definiować nazwy plików statystyk, wyeliminowano touch, dodano save :)


Jeszcze jedna uwaga - niewskazane jest zapisywanie czegokolwiek w / ani tworzenie tam jakichkolwiek dodatkowych katalogów. Dobrym miejscem dla zmiennej $GDZIE jest katalog /var/lib lub /var/local z preferencją tego pierwszego tak jak to robią inne programy.

P.S. - jesli chcesz to poprawioną (po dodaniu pliku konfiguracyjnego bo to wydaje mi się najważniejsze) wersję mogę dodać do oficjalnego repozytorium.

Autor:  jamp [ czwartek, 24 stycznia 2008, 01:55 ]
Tytuł: 

Mis' pisze:
jamp pisze:
Parę rzeczy już poprawiłem i jest do pobrania z mojej strony http://www.pkja.eu Można definiować nazwy plików statystyk, wyeliminowano touch, dodano save :)


Jeszcze jedna uwaga - niewskazane jest zapisywanie czegokolwiek w / ani tworzenie tam jakichkolwiek dodatkowych katalogów. Dobrym miejscem dla zmiennej $GDZIE jest katalog /var/lib lub /var/local z preferencją tego pierwszego tak jak to robią inne programy.

P.S. - jesli chcesz to poprawioną (po dodaniu pliku konfiguracyjnego bo to wydaje mi się najważniejsze) wersję mogę dodać do oficjalnego repozytorium.
Za parę minut będzie paczka z oddzielnym plikiem konfiguracji i oczywiście juz z /var/lib :)

Autor:  jamp [ czwartek, 24 stycznia 2008, 02:19 ]
Tytuł: 

Paczka już jest powinno być wszystko OK :) Poprawiłem drobne błedy oraz dodałem możliwość wstrzymania generacji statystyk :)

Autor:  jamp [ poniedziałek, 28 stycznia 2008, 18:45 ]
Tytuł: 

Jest nowa wersja z generacją statystyk w html (php zbędne). Wygląd strtron można zdefiniować w pliku konfiguracyjnym w dość szerokim zakresie. Bardzo proszę o testowanie i uwagi :) Paczka do pobrania z http://www.jamp.int.pl/NND/PAKIETY/licznik/

Strona 1 z 1 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/