Heute hab ich mir als Ziel vorgenommen, auf einer meiner Seiten die aktuelle Bandbreitenauslastung grafisch darzustellen. Da mir aber MTRG zu umfangreich für diese Aufgabenstellung erschien, habe ich mich für bwmonitor vom kernel.org entschieden.

Zunächst der Download(egal wohin, installiert wirds sowieso) und Entpacken:

1
2
wget http://www.kernel.org/pub/software/admin/bwmonitor/bwmonitor-0.9.tar.gz
tar xfvz bwmonitor-0.9.tar.gz

(Das ist die derzeit aktuellste Version, einfach nachsehen unter http://www.kernel.org/pub/software/admin/bwmonitor/  obs vielleicht schon was neueres gibt ;))

Weiter zur Installation:

1
2
3
./configure
make
make install (as root user)

Weitere Parametermöglichkeiten findet man in der INSTALL.

Wenn man nun in der Konsole den befehl “bwmonitor eth0” eingibt, sollte etwa sowas dabei rauskommen:

1
2
3
4
5
6
1160317969 1682528 126304
1160317970 1711584 140824
1160317971 1694024 112880
1160317972 1635560 155216
1160317973 1630328 186680
1160317974 1629664 128040

Damit kann man noch nicht viel anfangen, doch eine Kurze Erklärung: Der erste Zahlenblock ist die Uhrzeit(unixtimestamp), der zweite die Anzahl der Bytes, die gerade rausgehen und der letzte steht für die Gegenrichtung. Schlecht zu interpretieren, dafür gibt es jedoch das Tool “bwbar”, welches mitinstalliert wurde. Um es in Betrieb zu nehmen, müssen erst ein paar Packages installiert werden (ich gehe wieder von Debian Sarge 3.1 aus):

1
apt-get install perl, pnmtopng, and netpbm

Perl werden die meisten schon drauf haben, aber die beiden anderen Packages vielleicht ja noch nicht.

Starten kann man das ganze dann via:

1
nohup bwbar eth0 > /dev/null &

Nun erscheint alle 15s eine aktualisierte Grafik der aktuellen Serverauslastung als ubar.png und ubar.txt in dem Verzeichnis, in dem man den obenstehenden Befehl ausgeführt hat. Diese beiden Dateien lassen sich nun einfach einbinden, wie der INSTALL zu entnehmen ist: Als HTML mithilfe von Apache’s ServerSideIncludes:

1
2
3
4
5
6
7
<font size="-1

<!--#include virtual=" ubar="" ubar.txt"="" --="">
</font>
<br />
<img src="/upload/ubar/ubar.png" alt="Bandwidth utilization bar" width=600 height=4 border="1/" />
<!-- The bandwidth bar program is available at: http://www.kernel.org/pub/software/admin/bwmonitor/ -->

Oder in meiner Version als PHP-Schnipsel:

1
2
3
4
5
6
7
8

<center>
<font size=-1>
&lt; ? echo "ubar.txt"; ?&gt;
</font>
<br />
<img src="/upload/ubar.png" alt="Bandwidth utilization bar" width=600 height=4 border="1/" />
</center>