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

Do programujących w shellu - MRTG
http://forum.freesco.pl/viewtopic.php?f=24&t=7605
Strona 1 z 2

Autor:  Anonymous [ wtorek, 3 maja 2005, 22:14 ]
Tytuł:  Do programujących w shellu - MRTG

Witam.
Potrzebuję wyprowadzić dane (zmienne)na potrzeby MRTG, właściwie zwracam się z prośbą do programujących w shellu (dla was to pewnie będzie proste).
Pierwszą zmienną jest średni ping w milisekundach za pomocą polecenia
: [/] [] ()
#!/bin/sh
liczba='ping -c 4 host_jakis | no i co dalej zeby zostala tylko liczba srednich milisekund'?
echo $liczba


Drugą zmienną jest zajętość katalogu w Megabajtach:
: [/] [] ()
#!/bin/sh
liczba='du -c -m -s /katalog_jakis | no i co dalej zeby zostala tylko liczba megabajtów'?
echo $liczba


Prosze to potraktowac jako ćwiczenie. Ja dopiero sie ucze i nic mi nie wychodzi. Wiem że nalezy posłuzyc sie poleceniami GREP CUT itp.
Będę wdzięczny za konstruktywną odpowiedź, która pomoże mi w administracji NND.

Autor:  Pinky [ wtorek, 3 maja 2005, 22:31 ]
Tytuł:  Re: Do programujących w shellu - MRTG

: [/] [] ()
#!/bin/sh
liczba='ping -c 4 host_jakis | no i co dalej zeby zostala tylko liczba srednich milisekund'?
echo $liczba

może tak? liczba=`ping -c 4 host_jakis | awk -F \/ '/avg/ {print $5}' `

: [/] [] ()
#!/bin/sh
liczba='du -c -m -s /katalog_jakis | no i co dalej zeby zostala tylko liczba megabajtów'?
echo $liczba

a tu może tak: liczba=`du -c -m -s /katalog_jakis | awk '{print $1}'` ?

Pinky

Autor:  Anonymous [ wtorek, 3 maja 2005, 22:50 ]
Tytuł:  mrtg

Dzięki za expresową odpowiedz.
W przypadku pierwszym (ping) wywala mi błąd składni.
W drugim (katalog) wychodzą mi 2 takie same liczby obok siebie, a potrzebuje jedną.

Autor:  Mis' [ środa, 4 maja 2005, 00:56 ]
Tytuł:  Re: Do programujących w shellu - MRTG

Pinky pisze:
: [/] [] ()
#!/bin/sh
liczba='ping -c 4 host_jakis | no i co dalej zeby zostala tylko liczba srednich milisekund'?
echo $liczba

może tak? liczba=`ping -c 4 host_jakis | awk -F \/ '/avg/ {print $5}' `

: [/] [] ()
#!/bin/sh
liczba='du -c -m -s /katalog_jakis | no i co dalej zeby zostala tylko liczba megabajtów'?
echo $liczba

a tu może tak: liczba=`du -c -m -s /katalog_jakis | awk '{print $1}'` ?



1. spróbuj tak:

liczba=`ping -c 4 host_jakis | awk -F '/' '/avg/ {print $5}' `

to że tu występują dwa rodzaje "cipków" to oczywiście wiesz, prawda?

2. liczba_megabajtów=`du -sm /katalog`
liczba_kilobajtów=`du -sk /katalog`
Pamiętaj że użycie du zawiedzie jeśli nie będziesz miał praw dostępu do katalogu.

Autor:  Pinky [ środa, 4 maja 2005, 01:04 ]
Tytuł:  Re: mrtg

cyberdex pisze:
Dzięki za expresową odpowiedz.
W przypadku pierwszym (ping) wywala mi błąd składni.

u mnie działa poprawnie, może coś źle skopiowałeś?
BTW, tutaj otrzymujesz dane w formie xxx.yyy, sprawdź czy mrtg nie będzie miało z tym problemów.
cyberdex pisze:
W drugim (katalog) wychodzą mi 2 takie same liczby obok siebie, a potrzebuje jedną.
bo założenie już było złe, trzeba było od razu zrobić du -s -m /katalog_jakis, wtedy będzie jedna liczba :)

Autor:  czerwo [ środa, 4 maja 2005, 01:19 ]
Tytuł: 

pisalem takie cos komus w perlu

Autor:  Anonymous [ środa, 4 maja 2005, 09:16 ]
Tytuł: 

Ja do utraconych pingów napisałem coś takiego :

: [/] [] ()
#!/bin/sh

#---- www.onet.pl ------ 213.180.130.200 -----
F00=`/bin/ping -c10 213.180.130.200 `
F001=`echo $F00 | grep 'packet loss' |tr ' ' '\n'|grep '%' |tr -d '%'`

if [ "$F001" = "" ]; then F001="100"; fi
((F002=100-$F001))

echo $F001
echo $F002
uptime | sed -e 's/^.*up *//g' -e 's/, *[0-9] *u.*$//g'
hostname


a w mrtg.conf :
: [/] [] ()
Target[losses1]: `/etc/mrtg/losses1`
MaxBytes[losses1]: 100
kilo[losses1]: 1024
Options[losses1]: growright, nopercent, integer, nobanner, noinfo
Unscaled[losses1]: dwmy
Withpeak[losses1]: dwmy
YLegend[losses1]: %
ShortLegend[losses1]: %
LegendI[losses1]:  utracone:
LegendO[losses1]:  dostarczone:
Legend1[losses1]: Procent utraconych pakietów
Legend2[losses1]: Procent dostarczonych pakietów
Title[losses1]: Pakiety utracone do www.onet.pl
PageTop[losses1]: <center> <H1> Pakiety utracone do www.onet.pl </H1>


tylko MRTG nie pokazuje nic na wykresie może ktoś wie dla czego ?

Autor:  czerwo [ środa, 4 maja 2005, 11:57 ]
Tytuł: 

bo wychodza ci ulamkni np 10,2 itd czego mrtg nie obsluguje a bash tez nie!!
Dlatego pisalem skrypt w perlu dzieki czemu moglem zaokraglac liczby ;]
niech sie odezwie ktos kto ma ten skrypt, bo nie bede 2 raz tworzyl ;]

Autor:  Mis' [ środa, 4 maja 2005, 12:00 ]
Tytuł: 

czerwo pisze:
bo wychodza ci ulamkni np 10,2 itd czego mrtg nie obsluguje a bash tez nie!!


bash jako że obsługuje tylko liczby naturalne, zaokragla automagicznie

Autor:  Anonymous [ środa, 4 maja 2005, 12:17 ]
Tytuł: 

to dla czego nie pokazuje wartosci na wykresie ?? !!

Autor:  Mis' [ środa, 4 maja 2005, 12:27 ]
Tytuł: 

drzejb pisze:
to dla czego nie pokazuje wartosci na wykresie ?? !!


nie wiem... może dlatego, że bash nie zajmuje się wyświetlaniem? może masz coś w scripcie niepoprawne, może coś w mrtg...
przyczyn może być wiele

Autor:  Anonymous [ środa, 4 maja 2005, 13:50 ]
Tytuł: 

skrypt po odpaleniu podaje wartosci np.
: [/] [] ()
0
100
3:00
server

czyli wyglada to prawidłowo (przynajmniej w porownaniu do innych skryptow ktore byly przy mrtg

w mrtg.conf wpisy wydaja sie prawidlowe
no chyba ze sie myle
moze ktos pomoze to rozwiklac

Autor:  Ravel [ czwartek, 5 maja 2005, 00:07 ]
Tytuł: 

do pinga macie tutaj skrypt
http://www.ravel.kom.pl/nnd/ping.tar.gz
i sredni mozna i maxymalny i ilosc utraconych pakietow i inne cuda :D

EDIT
u mnie dziala to tak:
ravel.dyn.pl/mrtg

Autor:  urug [ czwartek, 5 maja 2005, 14:08 ]
Tytuł: 

Ravel spoko, fajnie tylko jak to zainstalowac, bo nie wiem zabardzo :)

Autor:  Dayson [ czwartek, 5 maja 2005, 14:38 ]
Tytuł: 

Ja to dodałem i chyba chodzi, ale u mnie na DSL1 nie przechodzą żadne pingi na zewnątrz ani z NND ani ze stacji i nie wiem co jest i mam wszyskie pakiety loss 100%. A net chodzi bez problemu - co może być przyczyną takiej sytuacji - niewiem czy było na forum bo niepamiętam (a chyba było) ale SZUKAJ cosik szwankuje.

Autor:  czerwo [ czwartek, 5 maja 2005, 15:50 ]
Tytuł: 

pingujesz domene czy ip??

Autor:  Dayson [ piątek, 6 maja 2005, 07:37 ]
Tytuł: 

To i to
: [/] [] ()
ping wp.pl
PING wp.pl (212.77.100.101) 56(84) bytes of data.

--- wp.pl ping statistics ---
8 packets transmitted, 0 received, 100% packet loss, time 7010ms

[root@spolem admin]# ping 212.77.100.101
PING 212.77.100.101 (212.77.100.101) 56(84) bytes of data.

--- 212.77.100.101 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 4016ms


i tylko po lacalu pingi lecą

: [/] [] ()
ping 10.0.0.4
PING 10.0.0.4 (10.0.0.4) 56(84) bytes of data.
64 bytes from 10.0.0.4: icmp_seq=1 ttl=128 time=0.358 ms
64 bytes from 10.0.0.4: icmp_seq=2 ttl=128 time=0.327 ms
64 bytes from 10.0.0.4: icmp_seq=3 ttl=128 time=0.330 ms

--- 10.0.0.4 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.327/0.338/0.358/0.020 ms

Autor:  Ravel [ piątek, 6 maja 2005, 09:38 ]
Tytuł: 

z archiwum przenosisz chyba tylko plik mrtg-ping-probe do katalogu /etc/mrtg/
przykladowe wpisy jakie masz zrobic w pliku /etc/mrtg/mrtg.conf masz w archiwum a pliku mrtg.cfg-ping
podalbym konkretne przyklady jak to zrobilem ale router mi sie wysypuje (prawdopodobnie dysk pada) i nie moge sie przez ssh dostac do niego, a nie stoi on u mnie :/
musiscie panowie pokombinowac, mi to zajelo 2h ale byle dumny z siebie :)
dodatkowo polecam man mrtg

Autor:  Dayson [ piątek, 6 maja 2005, 09:52 ]
Tytuł: 

Ja mógłbym to opisac bez problemu jak to ma ruszyć ale nie przechodzą mi na zewnętrz żadne pingi :cry: i tylko lokal mi pozostaje (wyniki dobre - same 0 :-) ).

Autor:  Dayson [ piątek, 6 maja 2005, 12:10 ]
Tytuł: 

Nie zaczynając nowego wątku napiszę tu:
Chodzi mi o wykresy logowań użytkowników na serwer ftp.
Tutaj jest script (chyba od czerwo z serwera go bałwan jestem) troszku przerobiony bo zamiast ftpcount (bo nic nie pokazywał mimo zalogowanych użytkowników) zastosowałem ftpwho

: [/] [] ()
#!/bin/sh
# logged ftpusers

FOO1=`/usr/bin/ftpwho |tail +3 |awk '{print $3}' |grep '\-' |wc -l`
FOO2=`/usr/bin/ftpwho |tail +3 |wc -l`

echo $FOO1
echo $FOO2
uptime | sed -e 's/^.*up *//g' -e 's/, *[0-9] *u.*$//g'
hostname 


i nawet pokazuje zalogowanych użykowników po wywołaniu go z konsoli
wynik:
: [/] [] ()
/etc/mrtg/ftpusers
1
2
1:55
xxx


Ale pokazuje użytkowników zalogowanych w momencie generowania statystyk czyli w mrtg co 5 minut, a wielokrotnie zdarza sie że logowanie jest o wiele krótsze i jak to można rozwiązać :?:

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