Strona 1 z 2
[+] plik konfiguracyjny mrtg - jak?
: 24 września 2008, 13:41
autor: kuzyn
Witam.
Chciałbym aby mrtg monitorowało mi ilość zajętej przestrzeni na dysku.
Napisałem taki oto miniskrypcik:
Kod: Zaznacz cały
#!/bin/sh
WYNIK=`df | tail | grep /dev/hda1 | awk '{ print $4 }'`
echo $WYNIK
Moje pytanie brzmi - jak powinien wyglądać plik cfg?
[Dodano: 2008-09-25, 00:06]
Zrobiłem - dla przyszłych fajterów.
Kod: Zaznacz cały
WorkDir: /var/www/mrtg
Target[hda9]: `df|grep /dev/hda9|awk '{print $3 "\n" $4}'`
MaxBytes[hda9]: 27505776
Options[hda9]: gauge
Unscaled[hda9]: ymdw
LegendI[hda9]: Used:
LegendO[hda9]: Free:
Title[hda9]: Dysk hda9 -- /home
kMG[hda9]: k,M,G,T
kilo[hda9]: 1024
ShortLegend[hda9]: B
YLegend[hda9]: bajty
PageTop[hda9]:<H1>Zajetosc dysku hda9 -- /home</H1>
Pozdrawiam.
: 17 marca 2010, 11:41
autor: Luc3k
A udało Ci się może zrobić ruch dla poszczególnych hostów w sieci?
: 17 marca 2010, 14:16
autor: filip.cy
Luc3k pisze:A udało Ci się może zrobić ruch dla poszczególnych hostów w sieci?
Spróbuj tak:
mrtg.cfg
Kod: Zaznacz cały
#10.0.1.253
Target[10.0.1.253]: `/sciezka/10.0.1.253`
Title[10.0.1.253]: Ruch dla 10.0.1.253
MaxBytes[10.0.1.253]: 1250000
PageTop[10.0.1.253]: <h1>10.0.1.253</h1>
/sbin/iptables -L -vnx -t mangle |/bin/grep 0x161 |/usr/bin/awk '{print $2}'
/sbin/iptables -L -vnx -t mangle |/bin/grep 0x4e5 |/usr/bin/awk '{print $2}'
gdzie:
uzyskujemy przez:
Kod: Zaznacz cały
eval /usr/bin/printf %x 353 (100+ip)
eval /usr/bin/printf %x 1253 (1000+ip)
Wcześniej musisz oznaczyć sobie pakiety dla hostów.
: 17 marca 2010, 23:11
autor: db
filip.cy pisze:Spróbuj tak:
Wcześniej musisz oznaczyć sobie pakiety dla hostów.
Po co?
Kod: Zaznacz cały
iptables -A FORWARD -s 192.168.0.123; iptables -L FORWARD -n -xvZ
: 18 marca 2010, 09:09
autor: filip.cy
db pisze:Po co?
Kod: Zaznacz cały
iptables -A FORWARD -s 192.168.0.123; iptables -L FORWARD -n -xvZ
Można i tak
Kod: Zaznacz cały
/sbin/iptables -t mangle -A FORWARD -d 10.0.1.1 -j MARK --set-mark 101
/sbin/iptables -t mangle -A FORWARD -s 10.0.1.1 -j MARK --set-mark 1001
: 18 marca 2010, 10:49
autor: db
Nie, takie rozwiązanie, do samego zbierania statystyk, jest bez sensu. Markowanie pakietów ma swoją określoną rolę i zastosowanie. Nie ma sensu markować, jeżeli takie rozwiązanie nie będzie nigdzie dalej wykorzystywane.
: 18 marca 2010, 11:18
autor: filip.cy
db pisze:Nie, takie rozwiązanie, do samego zbierania statystyk, jest bez sensu. Markowanie pakietów ma swoją określoną rolę i zastosowanie. Nie ma sensu markować, jeżeli takie rozwiązanie nie będzie nigdzie dalej wykorzystywane.
Pewnie masz racje
zacytuje klasyka "Ja tylko probowalem niesc pomoc"
: 18 marca 2010, 12:20
autor: Luc3k
Zaimplementowałem poniższe rozwiązanie. Mam niestety problem ze skryptem, a właściwie to z mrtg. Skrypt w swym zamierzeniu zlicza aktualny transfer danego hosta.
Oto skrypt:
Kod: Zaznacz cały
#!/bin/bash
download=`iptables -L mrtg_traffic -v -x -n | grep " $1 " | head -1 | awk '{print $2}'`
upload=`iptables -L mrtg_traffic -v -x -n | grep " $1 " | tail -1 | awk '{print $2}'`
echo $download
echo $upload
uptime | sed -e 's/^.*up *//g' -e 's/, *[0-9] *u.*$//g'
hostname
Skrypt na moje oko działa poprawnie, ponieważ po uruchomieniu go ręcznie zwraca oczekiwane wartości:
Kod: Zaznacz cały
Alpha:/etc/mrtg/bin# ./traffic 10.0.0.213
1749276230
29383756
1 day, 3:05
Alpha
Mrtg natomiast pluje błędem:
Kod: Zaznacz cały
/etc/mrtg/bin/traffic: line 2: iptables: command not found
/etc/mrtg/bin/traffic: line 3: iptables: command not found
2010-03-18 12:10:01: WARNING: Problem with External get '/etc/mrtg/bin/traffic 10.0.0.213':
Expected a Number for 'in' but got ''
2010-03-18 12:10:01: WARNING: Problem with External get '/etc/mrtg/bin/traffic 10.0.0.213':
Expected a Number for 'out' but got ''
2010-03-18 12:10:01: ERROR: Target[traffic_10.0.0.213][_IN_] ' $target->[7]{$mode} ' did not eval into defined data
2010-03-18 12:10:01: ERROR: Target[traffic_10.0.0.213][_OUT_] ' $target->[7]{$mode} ' did not eval into defined data
Tak natomiast wygląda wpis w mrtg.conf dla tego skryptu:
Kod: Zaznacz cały
Target[traffic_10.0.0.213]: `/etc/mrtg/bin/traffic 10.0.0.213`
Title[traffic_10.0.0.213]: 10.0.0.213
Options[traffic_10.0.0.213]: growright, nopercent, integer, nobanner, noinfo, noborder
MaxBytes[traffic_10.0.0.213]: 512000
kilo[traffic_10.0.0.213]: 1024
ShortLegend[traffic_10.0.0.213]: B/s
YLegend[traffic_10.0.0.213]: Transfer
Legend1[traffic_10.0.0.213]: Download
Legend2[traffic_10.0.0.213]: Upload
LegendI[traffic_10.0.0.213]: download
LegendO[traffic_10.0.0.213]: upload
PageTop[traffic_10.0.0.213]: 10.0.0.213
PageFoot[traffic_10.0.0.213]:
Nie wiem już gdzie szukać przyczyny błędów?
: 18 marca 2010, 12:35
autor: filip.cy
/etc/mrtg/bin/traffic: line 2: iptables: command not found
/etc/mrtg/bin/traffic: line 3: iptables: command not found
Podaj w skrypcie pełną ścieżkę do iptables, grepa itd.
: 18 marca 2010, 12:44
autor: Luc3k
Nie rozumiem? Jak pełną ścieżkę? Możesz troszkę rozwinąć?