от v_o_y_a_g_e_r(27-05-2005)
рейтинг (5)
[ добре ]
[ зле ]
Вариант за отпечатване
Някога чудили ли сте се в кой момент какъв трафик правите
към интернет/локална мрежа?
MRTG (Multi Router Traffic Grapher) дава възможност да се
чертаят прилични графики на мрежови интерфейси (и не само –
може да си го направите да отчита температурата примерно),
като самите графики излизат в няколко png файла
(дневна, седмична, месична, годишна). Автоматично се
генерира и един
html файл, и ако се настрои графиките да се записват тези
файлове в нещо от сорта /var/www/htdocs/mrtg/ примерно, може
много лесно да се види какъв трафик се прави на машината. За
целта ни трябват:
1)Инсталиран и работещ apache сървър (не е задължително, но
е силно препоръчително. По-нататък ще предполагам че го има,
и е настроен, и http://localhost/ директорията е
/var/www/htdocs)
2)MRTG – може да се дръпне от http://people.ee.ethz.ch/~oetiker/webto...
- инсталирано в /usr/local/mrtg-2
3)!?! няма трето ;)
Така... време е да създадем mrtg.conf – файла съдържащ
информация за устройствата ни, къде ще се записват
работните фаилове и всичко свързано с този процес. Ето един
примерен mrtg.conf
################## cut here ################
EnableIPv6: no
WorkDir: /home/www/htdocs/mrtg
Options[_]: bits,growright
Refresh: 300
RunAsDaemon: Yes
Title[ppp0]: PPP0 interface activity
Target[ppp0]: `/usr/local/mrtg-2/bin/ifstat.sh ppp0`
MaxBytes[ppp0]: 1250000
################## cut here ################
Съвсем кратко обяснение кое какво е: WorkDir – там излизат
графиките и web page-a дето ги обединява.
Options[_]: bits, growright – това указва скоростите ни да
са в bps ;) а не в байтове. [_] - означава default
настроики – валидни са за всички интерфейси.
Refresh: 300 – указва през какъв период от време да се
правят отчетите (в секунди).
[ppp0] – Име на интерфейса. Не е задължително да е реалното
име на интерфейса... (то играе роля за име_на_фаила.* -
фаиловете, асоциирани с този интерфеис).
Target[ppp0]: - откъде да се взимат данни за отчетите.
Именно този ред прави нещата работещи ;)
MaxBytes – какъв е bandwidth-a на интерфейса
Maniax-а и той има своя принос за тази статия, със следния
шел скрипт (точно бях започнал да осъзнавам, че ще ми трябва
нещо такова, видях едно скриптче с iptables, ама проблема му
беше, че искаше root да върви... А мене това не ми вършеше
работа). Благодаря maniax ;).
################## cut here ################
#!/bin/bash
#/usr/local/mrtg-2/bin/ifstat.sh
/sbin/ip -s link show dev $1|grep -A 1 RX|tail -n1 |awk
'{print $1}'
/sbin/ip -s link show dev $1|grep -A 1 TX|tail -n1 |awk
'{print $1}'
echo $1
echo $1
################## cut here ################
. После всички отчети, получени в резултат изпълнението на
този скрипт се записват в .log файла на интерфеиса, и после
по него се генерират самите графики. Ако искате да
генерирате графики с по-голяма точност, ще трябва да
вържете mrtg-то с rrdtools, но това не е цел на настоящата
статия. Самото стартиране на mrtg-то е хубаво да става от
шел-скрипт при стартиране на системата (аз поне съм направил
така – които иска да си го пуска наръка...)
/usr/local/mrtg-2/bin/mrtg --daemon
/etc/mrtg/cfg/mrtg.cfg
<< Малко висш пилотаж - изграждане на статистика с Cacti и RRDt | Как да настроим неподдържаните мултимедийни клавиши. >>
|