Opsview MRTG graphs Problem

Opsview MRTG graphs Problem

Mir ist aufgefallen das ich bei einigen VM´s keine MRTG Graphen in Opsview bekomme.
Nach ein bisschen suchen ist mir aufgefallen das bei der mrtg.cfg in dem Kommentar folgendes drin steht

### Interface 2 >> Descr: 'eth0' | Name: 'eth0' | Ip: '192.168.70.110' | Eth: '00-16-3e-74-40-37' ###
### The following interface is commented out because:
### * has no ifSpeed property

Und der Rest der Konfiguration für dieses Interface wird dann natürlich dann nicht verwendet da MRTG hier kein Interface Speed erkannt hat.
Das mag bei echten Netzwerkkarten OK sein, aber ein der Paravirtualisierung Umgebung hab ich halt kein IFSpeed auf einer Virtuellen Netzwerkkarte.

Aber das Problem lässt sich relativ einfach lösen.

Zum erstellen der Graphen benutzt Opsview den User Nagios und dessen Cronjob.

[stextbox id=“info“]# OPSVIEW-START
# Do not remove comment above. Everything between OPSVIEW-START and OPSVIEW-END
# will be automatically installed as part of an Opsview install/upgrade
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/local/nagios/bin/mrtg_genstats.sh > /dev/null 2>&1[/stextbox]

Dieses Script wiederum nutzt die /usr/local/nagios/etc/mrtg.cfg. Die aber von Opsview dynamisch erstellt wird.

Da Opsview die mrtg.cfg dynamisch generiert muss man eine kleine Änderung an dem Script vornehmen das die Konfiguration erstellt.
Dieses Script findet man unter /usr/local/nagios/bin/mrtgconfgen.pl

 

Hier muss man nur einen kleinen Option hinzufügen, und dann bekommt man auch Daten von den Interfaces die kein ifspeed haben.

Man suche nach dieser Zeile:

cfgmaker --output=$mrtgcfg --global 'Forks: $mrtg_forks' --global 'Refresh: $mrtg_refresh' --global 'HtmlDir: $imgpath' --global 'ImageDir: $imgpath' --global 'Options[_]: growright,bits' --global 'LogDir: $rrdpath' --global 'LogFormat: rrdtool' --global 'IconDir: /images/mrtg' @communities

Und fügt –zero-speed=1000000000 hinzu. (1000000000 = 1Gbps)

cfgmaker --output=$mrtgcfg --zero-speed=1000000000 --global 'Forks: $mrtg_forks' --global 'Refresh: $mrtg_refresh' --global 'HtmlDir: $imgpath' --global 'ImageDir: $imgpath' --global 'Options[_]: growright,bits' --global 'LogDir: $rrdpath' --global 'LogFormat: rrdtool' --global 'IconDir: /images/mrtg' @communities

Die Option kann man auch über die cfgmaker Hilfe erfahren

[stextbox id=“bash“]/usr/bin/cfgmaker –help[/stextbox]

     --zero-speed=spd  use this speed in bits-per-second as the interface
                       speed for all interfaces that return a speed of 0
                       via ifSpeed/ifHighSpeed.  100Mbps = 100000000

Dann für man als User Nagios folgende Befehle aus.

[stextbox id=“bash“]/usr/local/nagios/bin/mrtgconfgen.pl –full[/stextbox]

Hier wird dann eine neue mrtg.cfg erstellt mit all den Servern die man in Opsview mit mrtg abfragen konfiguriert hat.

Und anschließend lässt man die mrtg Graphen erstellen

[stextbox id=“bash“]/usr/local/nagios/bin/mrtg_genstats.sh[/stextbox]

Nun sollte man die Graphen schon mal im Opsview sehen können. Auch wenn sie noch leer sein sollten.

Das Logfile von dem mrtg_genstats.sh Script findet man unter /usr/local/nagios/var/log/mrtg_genstats.log

 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*