neulinuxer
Goto Top

Netzwerk Management Server mit Raspberry Pi - Fragen eines Anfängers

Um dem Wunsch von aqui nachzukommen, geht es nun hier weiter, um das Tutorial https://www.administrator.de/contentid/191718#comment-809837 übersichtlich zu halten.

Hier noch die letzten beiden Beiträge:

__________________________________________________________________________________________________________________________

Ich habe mir die Anleitung nun schon einige Male durchgelesen und so langsam wird es klarer, aber einige Fragen bleiben. Zur besseren Übersicht nummeriere ich mal durch.

1) Wie ich schrieb, haben wir zwei Standorte über VPN verbunden. Können die Werte der Switche von beiden Standorten abgefragt werden oder nur von einem?

2) Muss der Server die Daten am Switch aktiv abfragen oder werden diese vom Switch ins Netz gesendet, sobald die Funktion im Menü aktiviert wurde? Ich habe sie an allen 4 Switchen bereits aktiviert.

3) Ich werde den Kleinen vorerst auf DHCP stehen lassen und dem Router (FBF 7390) sagen, dass immer die selbe IP zugeordnet werden soll. Diese werde ich dann in die MRTG Konfigurationsdatei eintragen. Was ist aber nun, wenn ich den Server doch am anderen Standort installiere? Muss ich diese IP dann jedes Mal ändern oder kann ich einfach zwei IPs eintragen?

4) Die Sache mit MRTG und Crontab habe ich noch nicht ganz verstanden. Ich möchte die Daten alle, sagen wir mal 0,1 Minuten abrufen und visualisieren lasen. Wie müsste dann die Beispieldatei mrtg.cfg aussehen? Muss das Komma durch einen Punkt ersetzt werden?

5) Wie kann ich die 4 Switche auseinander halten? Wird automatisch für jeden Switch ein Link in der index.html erstellt?

6) Was ist, wenn der Server neu gestartet wird, muss ich dann den Befehl "crontab cronmrtg" jedes Mal erneut aufrufen? Du schreibst, dass jede Komponente eine MRTG Konfig Datei und einen Crontag Eintrag erhält. Wie aber ordne ich die einzelnen Dateien den Geräten zu und wie und wo erzeuge ich den Crontag Eintrag? Da habe ich einen Knoten in der Denke...

__________________________________________________________________________________________________________________________


1.) Die Frage solltest du dir als Netzwerker leicht selber beantworten können !!! Jeder Switch hat eine eindeutige Management IP, folglich kann man egal wo der steht auf der Welt auch dessen Daten abfragen ! Du kannst ja auch alle anderen IPs und Geräte via VPN erreichen !
2.) Lies dir bitte alles zum Thema SNMP durch dann kanst du auch diese Frage selbst beantworten:
http://de.wikipedia.org/wiki/Simple_Network_Management_Protocol
3.) Das ist so problemlos machbar. Wichtig ist das der Server eine feste, oder eben wie bei dir per Mac Adresse fest vergebene IP Adresse hat. Das gilt dann auch für das IP Netzwerk bzw. die Adressierung am anderen Standort !
4.) Ja die 5er Schritte musst du dann mit 1er Schritten ersetzen.
5.) Ja
6.) Nein der crontag wird im System fest gespeichert und startet nach einen Reboot immer wieder automatisch. Den Crontab tippst du als simple ASCII Textdatei z.B. mit den "nano" Editor und sagst dann crontab <dateiname> Bei Änderungen anderst du nur die Datei und wiederholst die Prozedur.
Jede MRTG Konfig datei hat einen von dir festgelegten individuellen Namen switch1.cfg , switch2.cfg usw.

Wenn du die Grundinstallation gemacht hast gibst du (wie es im Tutorial steht !)
apt-get update und danach apt-get upgrade ein, dann bist du immer auf dem neuesten Stand face-wink ( sudo su vorher)

Content-Key: 197687

Url: https://administrator.de/contentid/197687

Printed on: April 16, 2024 at 22:04 o'clock

Member: Neulinuxer
Neulinuxer Jan 26, 2013 updated at 12:31:04 (UTC)
Goto Top
Als ich deine Antwort gelesen habe, war ich in deiner Anleitung schon etwas weiter. Ich gehe jetzt nicht einzeln auf die Punkte ein sondern habe ja nun den Minicomputer hier vor mir und stelle die Frage so wie die Probleme auftauchen.

Da ich blutiger Anfänger bin, versuche ich die Anleitung genau zu befolgen. Mir ist dabei unter "Ein Log Server mit grafischer Web Oberfläche" etwas aufgefallen. Du schreibst man solle mit nano die Datei /etc/rsyslogd.conf editieren. Kann es sein, dass das "d" nicht in den Dateinamen gehört?

Ich habe dann weiter gemacht. Das Problem mit der nicht Lesbarkeit des Syslog Files habe ich, wie von dir am 12.01.2013 um 22:29:22 Uhr angegeben mit "chmod 644 /var/log/syslog" gelöst. Nun kann ich über den Browser den LogAnalyzer aufrufen. Zusätzlich wollte ich, wie von dir vorgeschlagen, ein separates Netzwerk Log haben. Dazu habe ich die config.php wie angegeben editiert und danach einen Neustart durchgeführt.

Aber irgend etwas scheint nicht zu laufen, denn im Browser kann ich oben rechts unter Quelle nur "My Syslog Source" auswählen.

2a13fc7d31a789c815fa1c99e4daf35c

b1ac18403bf0d05fc407d7e3aae0860a

Könnte mir jemand sagen, woran es liegen könnte, dass es nicht läuft?


Problem Nummer zwei:

Ich bin nun bis "Netzwerk Performance Monitoring mit MRTG / RRD" gekommen.

Nun muss ich als erstes MRTG installieren. Auf der verlinkten Homepage finde ich einen Download "mrtg.tar.gz". Wäre es richtig, diese Datei mit WinSCP nach /home/pi/ zu kopieren und dann mit tar xzf mrtg.tar.gz zu entpacken? Die Vorgehensweise wäre dies selbe wie beim Loganalyzer. Aber was mache ich dann??
Member: aqui
aqui Jan 26, 2013 updated at 12:41:02 (UTC)
Goto Top
Syslog: Ja, da hast du Recht mit dem "d" und danke für den Hinweis ! Sorry, das ist ein Dreckfuhler der gerade korrigiert ist face-wink
MRTG: Auch da braucht das Tutorial ggf. eine kleine Korrektur oder nochmals einen zusätzlichen Hinweis, denn oben steht deutlich WIE diese Pakete automatisch zu installieren sind:
apt-get install mrtg mrtg-rrd rrdtool snmp snmpd

Die Frickelei mit dem TAR File kannst du dir also sparen.
Syslog: Auch da hatte das Tutorial Defizite, sorry. Der Block MUSS unter den Abschnitt "$CFG['DefaultSourceID'] = 'Source1';" und die Source ID 2 darf man nicht benutzen, da diese automatisch von MySQL benutzt wird. Also auf 3 abändern, dann klappts
Tutorial ist jetzt entsprechend korrigiert...
Und bitte keine externen Bilderlinks mit nerviger Zwangswerbung hier ! Das Forum hat einen Bilder Upload !!
Member: Neulinuxer
Neulinuxer Jan 26, 2013 updated at 12:29:14 (UTC)
Goto Top
Arrrg. Stimmt. Wer lesen kann ist klar im Vorteil. Ich war so auf die Seite konzentriert, dass ich das vergessen habe.
Das hatte ich natürlich schon installiert. Aber irgend etwas scheint falsch gelaufen zu sein. Denn hier mal die Ausgabe nach dem Aufruf von cfgmaker --ifdesc=descr --global "Language: german" --global 'Options[_]: bits,growright' --output /home/pi/mrtg.cfg public@<ip_adresse>

02a99a71ef78dc5743c75329c1889026

Auch ein ls /var/www/mrtg/ ist mit wenigen Dateien sehr übersichtlich.

Woran kann das liegen?
Member: aqui
aqui Jan 26, 2013 updated at 12:17:09 (UTC)
Goto Top
Keine Hilfe mehr bei externen Bilderlinks face-sad (Wie war das noch mit dem LESEN ? Wer lesen kann und will... ?? )
Lies dir bitte deine PM durch !!
Nur so viel:
  • Kannst du vom Server die Mgmt IP Adresse des Switches anpingen ?
  • Hast du SNMP auf dem Switch eingerichtet ?
  • Stimmt der SNMP Community String ?
Bevor das nicht klappt müssen wir nicht weitermachen hier..
Member: Neulinuxer
Neulinuxer Jan 26, 2013 at 12:17:07 (UTC)
Goto Top
Bin dabei - ich suche die Uploadfunktion. Habe deinen Edit erst gelesen, nachdem ich meinen Beitrag gepostet habe.
Member: aqui
aqui Jan 26, 2013 updated at 12:40:43 (UTC)
Goto Top
Oben Nicname klicken --> Fragen --> Thread auswählen --> klicken --> "Bearbeiten" klicken !
Upload Funktion links oben ! (Na ja, hast ja (noch) den Anfängerbonus ?!)
<edit> Ächz...war ja ne schwere Geburt </edit>

Dann wieder weiter im Text...
  • Kannst du vom Server die Mgmt IP Adresse des Switches anpingen ?
  • Hast du SNMP auf dem Switch eingerichtet ?
  • Wenn Nein: Handbuch lesen und SNMP auf dem Switch entsprechend einrichten wie im Tutorial beschrieben !
  • Wenn Ja: Stimmt der SNMP Community String für RO (Read Only) des Switches mit dem von deiner MRTG Konfig überein ?
Member: Neulinuxer
Neulinuxer Jan 26, 2013 at 12:55:14 (UTC)
Goto Top
Zitat von @aqui:
Keine Hilfe mehr bei externen Bilderlinks face-sad (Wie war das noch mit dem LESEN ? Wer lesen kann und will... ?? )
Lies dir bitte deine PM durch !!
Nur so viel:
  • Kannst du vom Server die Mgmt IP Adresse des Switches anpingen ?
  • Hast du SNMP auf dem Switch eingerichtet ?
  • Stimmt der SNMP Community String ?
Bevor das nicht klappt müssen wir nicht weitermachen hier..



Das mit den Bildern ist ja glücklicher Weise nun geklärt.

- Ping funktioniert. Ist auch im obigen Screenshot zu sehen
- SNMP ist auf Werkseinstellungen - Screenshot anbei
- Da ich an dem SNMP Community String nichts geändert habe, sollte das doch so passen, oder?

46e7380cbe019004ac87d5725d0cb8f9
Member: Neulinuxer
Neulinuxer Jan 27, 2013 updated at 07:04:48 (UTC)
Goto Top
Nach stundenlangem Lesen und Probieren, ist es mir dann irgendwann aufgefallen. Ich habe von Anfang an angenommen, dass hier: cfgmaker --ifdesc=descr --global "Language: german" --global 'Options[_]: bits,growright' --output /home/pi/mrtg.cfg public@<ip_adresse oder domain_name> mit der IP-Adresse die des Raspberry gemeint ist. Daher auch meine "merkwürdigen" ersten Fragen. (Vielleicht wäre ein Satz dazu für Anfänger wie mich im Tutorial ganz gut) Nachdem ich also die IP des ersten Switches (192.168.1.102) eingegeben habe, lief alles wie gewünscht. Das habe ich jetzt mal über Nacht laufen lassen und bin vom Ergebnis begeistert. Feintuning kommt dann später.

Wie ich geschrieben habe, habe ich 4 Switche, deren Traffic ich aufzeichnen möchte. Ich bekomme es aber nicht hin, diese gleichzeitig darzustellen. Ich möchte die Datei (mrtgXXX.cfg) nach den letzten drei Ziffern der Geräte-IP benennen. Die kenne ich auswendig.

Ich habe also für den nächsten Switch eingegeben:
cfgmaker --ifdesc=descr --global "Language: german" --global 'Options[_]: bits,growright' --output /home/pi/mrtg103.cfg public@192.168.1.103

mrtg /home/pi/mrtg103.cfg

Indexmaker --output=/var/www/mrtg/index.html --title=2615-8-PoE /home/mrtg103.cfg


Wenn ich im Browser 192.168.1.46/mrtg aufrufe, erscheinen die Daten des 103-Switches, aber die des 102-Switches sind weg. Also nochmal alles wie im Tutorial angegeben eingegeben. Danach waren die Daten des 102-Switches wieder zu sehen.

Wie bekomme ich es aber hin, für alle Geräte solch eine Ansicht zu erstellen? Wo liegt mein Fehler?

Eine Bemerkung noch am Rande: Mit deiner Vermutung "Dann viel Erfolg mit dem "Server" ! Für dich zum Lernen ist das eh unbezahlbar..." hast du schon ziemlich richtig gelegen. Soviel mit Linux habe ich mich selten beschäftigt - und gelernt.
Member: aqui
aqui Jan 27, 2013 updated at 11:09:43 (UTC)
Goto Top
Ja guter Tip. Oft kommt man als Tutorial Verfasser nicht mehr in solch tiefe "Anfängerniederungen"...sorry
Klar das da immer die IP des Endgerätes hinmuss, denn der MRTG bzw. cfgmaker fragt so die SNMP OID des zu Monitorenden Gerätes ab.
Natürlich kann das auch der Raspberry sein aber den willst du ja nicht überwachen face-wink
Zu deiner gleichzeitigen Darstellung:
Diese Webseite musst du dir selber basteln. Normal geht der Indexmaker davon aus da dir jedes Device in einem Verzeichnis gelegt wird.
Willst du alles auf einer Seites sehen (was aber etwas unübersichtlich ist) dann musst du dir die index.html selber basteln, wie z.B. sowas hier:
<HTML>
<HEAD>
   <TITLE>Laststatistik f&uuml;r meine Switches</TITLE>
</HEAD>
<BODY>
<p>
<b><span style="font-family:Verdana; font-size:120%"> Laststatistik Switchports</span><br></b>  
<p>
<table border="0"><b>  
<span style="font-size:medium">  
<ul type="square">  
<li>Grafische <A HREF="mrtg/switch1/index.html">Switch 1 </A>Laststatistik</li>  
<li>Grafische <A HREF="mrtg/switch2/index.html">Switch 2 </A>Laststatistik</li>  
<li>Grafische <A HREF="mrtg/switch3/index.html">Switch 3 </A>Laststatistik</li>  
<li>Grafische <A HREF="mrtg/switch4/index.html">Switch 4 </A>Laststatistik</li>  
</b>
</span><br>
</table>
</BODY>
</HTML> 
Die switchx.html Links setzt du dann auf deine Switch index Dateien...Fertig. Hilfe bei HTML findest du bei "selfhtml.de"
Member: Neulinuxer
Neulinuxer Jan 27, 2013 updated at 11:03:33 (UTC)
Goto Top
Was die Sicht eines Anfängers auf das Tutorial angeht, kann ich sehr gut aushelfen. Die Unkenntnisse sind zu genüge vorhanden face-wink

Ich möchte jedes Device auf einer separaten Seite sehen, nicht alle auf einer. Da blickt man bei den ganzen Ports nicht mehr durch. Daher ja meine Idee mit der mrtgXXX.cfg.

Also wenn ich das richtig verstehe, ist es so, dass die Daten nach /home/pi/mrtgXXX.cfg geschrieben werden. Wenn ich nun in /home/pi/ die Dateien mrtg102.cfg und mrtg103.cfg anlegen lasse und dann noch in /var/www/mrtg102/index.html und in /var/www/mrtg103/index.html, dann müsste es doch so sein, dass ich über 192.168.1.46/mrtg102, bzw. 192.168.1.46/mrtg103 jeweils die gewünschte Seite angezeigt bekomme? Ach ja, vorher noch chown www-data:www-data /var/www/mrtg102 und ...mrtg103.

Bevor ich da wild rumprobiere und nur alles verschlimmbessere, frage ich lieber nach.

edit: Du hast deinen Beitrag um den HTML Vorschlag erweitert, während ich meine Antwort geschrieben habe. Vielen Dank für die Mühe, aber wie gesagt, es soll ja nicht alles auf eine Seite. Es reicht mir, wenn ich über die verschiedenen Aufrufe (192.168.1.46/mrtgXXX) auf die verschiedenen Geräte komme. Dann könnte ich, wenn ich einmal weiss, wie es richtig geht, auch noch die drei Netzwerkdrucker einbinden und mal schaun, ob die FritzBoxen auch SNMP funken, etc.
Member: aqui
aqui Jan 27, 2013 updated at 11:05:57 (UTC)
Goto Top
Ja, für die Übersichtlichkeit der Daten ist das so richtig und kann man so lassen.
Du solltest das hierarchisch anlegen, also /var/www/mrtg und dadrunter dann die Switch subrirectories .../mrtg/switch1, .../mrtg/switch2...usw.
In die /mrtg packst du dann die "Menü" Index Datei für die Auswahl der Switches wie oben zu sehen und in den "a href" Statements gibst du dann die jeweiligen index Dateien der Subdirectories pro Switch an...fertig
Mit dem nanao kannst du die html Datei ja noch ein bischen schöner machen face-wink
WICHTIG: Checke in der .cfg Datei das oben immer die korrekte WorDIT Variable zum Subdirectory gesetzt ist !!!
Wo die cfg Dateien liegen ist relativ egal, wichtig ist nur das man das Directory im cron Aufruf angibt.
Member: Neulinuxer
Neulinuxer Jan 27, 2013 updated at 19:16:34 (UTC)
Goto Top
So, auch das hat natürlich wieder etliche Stunden gedauert, aber nun läuft es soweit, dass die Daten in den Subdirectories aktualisiert werden. Durch eine fortwährende Fehlermeldung bin ich irgendwann darauf gekommen, dass ich die ursprünglich für den Switch 102 angelegte mrtg.cfg löschen muss, damit die neue mrtg102.cfg richtig laufen kann. Danke für den Tip mit der WorDIT, was wohl einen Tipfehler enthält, der sich dann aber im Zusammenhang auflöste.

Irgend etwas scheint mit den crontab Einträgen nicht zu stimmen. Jedes mal, wenn ich erneut crontab cronmrtgXXX eingebe, sollte dieser Dateiinhalt als zusätzlicher Eintrag in der crontab gespeichert werden. So zumindest hatte ich es verstanden. Das passiert aber nicht. Denn wenn ich nach so einem Befehl (als root) mit crontab -l nachsehe, steht da genau ein einziger Eintrag drin. Ich hatte mich gewundert, wieso nur ein einziger Switch aktualisiert wird. Nachdem ich dann mit crontab -e die crontab um die weiteren drei Zeilen ergänzt hatte, lief es mit allen Switchen. Ist das normal, oder hätte ich dem Befehl crontab cronmrtgXXX noch etwas hinzufügen müssen, damit er nicht den vorhandenen Eintrag ersetzt, sondern einen weiteren hinzufügt.

Ich hoffe nur, dass meine Änderung der crontab nun auch dauerhaft gespeichert ist und nicht mit dem nächsten reboot verschwindet.

Nun habe ich noch ein Problem mit dem Loganalyzer. Die Änderungen gemäß dem geänderten Tutorial habe ich nun vorgenommen. Der Eintrag "Netzwerk" erscheint nun auch in der Klappliste. Aber leider gibt es einen Error face-sad Wie kann ich diesen Fehler beheben?

869d3f85cc5bff6e3be32c62ef2a0ea8

69be91673dd1ae159277949235980fa4

Ein weiterer Fehler wird im Syslog angezeigt "No MTA installed..." Ist das ein Problem?

35978e0a7aa27ba7cb7c380aaefb5195

Wenn diese Probleme gelöst sind, begebe ich mich an die von dir vorgeschlagene HTML-Geschichte. Wenn das dann auch alles läuft, kommt die große Frage: Wie kann ich von der SD-Karte ein Image ziehen, um den dann lauffähigen Zustand im Zweifelsfall wieder herstellen zu können??
Member: aqui
aqui Jan 28, 2013 updated at 08:37:57 (UTC)
Goto Top
Crontab:
Du änderst immer nur und ausschliesslich die ASCII Textdatei für den Crontab wie auch immer du sie genannt hast. Nehmen wir mal das Beispiel cronmrtg.txt die du mit dem nano Editor erzeugst. Hier steht drin z.B.:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/bin/mrtg /home/pi/mrtg-sw1.cfg
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/bin/mrtg /home/pi/mrtg-sw2.cfg
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/bin/mrtg /home/pi/mrtg-sw3.cfg
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/bin/mrtg /home/pi/mrtg-sw4.cfg

Fertig...
Nur diese Datei rufst du dann mit crontab cronmrtg.txt auf. Und NUR in dieser Textdatei machst du die Änderungen und rufst dann wieder crontab cronmrtg.txt auf um diese Änderungen zu aktivieren !!
So einfach ist das....!
Error Syslog:
Der Error ist doch ganz normal, du musst nur mal L E S E N !! Er sagt dir schlicht und einfach das keinerlei Syslog Einträge in deiner ausgegliederten Syslog Datei drin sind.
Sie ist schlicht und einfach LEER ! Das teilt er dir mit. Ist doch nett, oder ?
Das kannst du dir auch ansehen wenn du manuell mal in die Datei reinsiehst mit less /var/log/netzlog oder cat /var/log/netzlog (Angenommen hier die ausgegliederte Log Datei heisst /var/log/netzlog bei dir !)
Das definierst du in der syslog.conf !!
Wenn du "local 7" getaggte Syslog Meldungen von deinen Netzwerkgeräten so umgeleitet hast musst du natürlich auch sicherstellen das deine Netzwerk Geräte einen "local 7" Syslog Trap schicken logischerweise !
Bei Cisco und vielen anderen herstellern ist das z.B. der Default.
Ob das bei deinen Switchgurken auch so ist sagt dir deren Handbuch. In der Regel kann man das in der Konfig von managebaren Switches einstellen. Sollte im Handbuch stehen !
Member: Neulinuxer
Neulinuxer Feb 01, 2013 updated at 16:28:44 (UTC)
Goto Top
Und wieder eine Menge gelernt. Bis dahin habe ich die crontab nämlich direkt geändert, ohne den Umweg über die cronmrtg.txt zu gehen.

Das im Syslog nicht steht, habe ich gelesen. Nun ging ich davon aus, dass da nichts steht, weil irgend etwas nicht läuft. Ich werde die Tage mal deinem Tip nachgehen und das Handbuch bezüglich local 7 durchsuchen.

Nun habe ich seit heute Vormittag ein ganz anderes Problem. Der "Server" lief seit gestern Morgen und ich habe keinerlei Veränderungen vorgenommen. Seit heute Mittag wurden die Daten im Browser ohne ersichtlichen Grund nicht mehr aktualisiert. Ein Blick in das Syslog zeigt mir folgendes:

861de5b3ceaa455266b61b12dccb920d

88a4c5f2d06b2856de1b5591eeec729a

Eine Akualisierung vom Syslog ist ebenfalls nicht mehr möglich.

Daher habe ich mich eingeloggt und als root mit "reboot" neu gestartet. Aber auch nach dem Neustart war es noch genau so. Nun habe ich den Kleinen mit "halt" heruntergefahren und vom Strom getrennt. Da das Kunststoffgehäuse relativ warm (nicht heiss) war, lasse ich ihn erst einmal abkühlen und werde ihn am späten Nachmittag erneut starten, in der Hoffnung, dass er nur ein Wärmeproblem hatte.

Wie könnte ich der Ursache auf die Schliche kommen? Ein Navigieren innerhalb der Verzeichnisse war nach wie vor möglich und auch auch der reboot hat funktioniert. Mit meinem nicht vorhandenen Linux-Latein bin ich da am Ende face-sad


edit: Nach Neustart im abgekühlten Zustand lief es anfangs auch nicht im Notebook Firefox. Komischer Weise konnte ich die Seiten auf dem Smartphone aber abrufen. Ein killall firefox und darauf folgender erneuter Aufruf brachte es dann doch wieder zum Laufen. Ich weiss also nicht, ob es am Raspberry lag oder am Notebook Firefox. Kann man dem Log eventuell Näheres entlocken?
Member: aqui
aqui Feb 01, 2013 at 16:47:50 (UTC)
Goto Top
Vermutlich am Notebook, denn wenn du den Raspi nicht übertaktest im raspi-config Setup dann musst du auch nicht kühlen.
Ansonsten wenn du auf Nummer sicher gehen willst gibts ein Kühlkörperset zum Aufkleben bei eBay !
Member: Neulinuxer
Neulinuxer Feb 01, 2013 at 19:30:38 (UTC)
Goto Top
Ich würde dem Phänomen gerne auf den Grund gehen. Es müsste doch auch möglich sein, den Raspberry sich selber monitoren zu lassen, so wie ich es mit den Switchen mache. Ich würde gerne eine Grafik zu Temperatur des Prozessors, Last des Prozessors und zum Beispiel Datenverkehr über den Netzwerkanschluss erzeugen lassen.

Ein Unterverzeichnis habe ich angelegt und mit chown www-data:www-data /var/www/mrtg/Unterverzeichnis die Rechte gemäß deiner Anleitung geändert.

Wenn ich nun aber cfgmaker --ifdesc=descr --global "Language: german" --global 'Options[_]: bits,growright' --output /home/pi/mrtg.cfg public@192.168.1.046 eingebe, bekomme ich folgende Fehlermeldung.

365687941664924c6ca3c9f34af999ed

Ich muss sicherlich noch irgend etwas ergänzen oder ändern. Aber was genau?
Member: aqui
aqui Feb 02, 2013 updated at 11:36:00 (UTC)
Goto Top
Hast du die Pakete snmp und snmpd installiert ??
Dann musst du die /etc/snmp/snmpd.conf Datei entsprechend anpassen das MRTG den Raspi selber auslesen darf per SNMP. Hier musst du nur localhost erlauben.
http://wiki.laub-home.de/wiki/SNMP_Installation_und_Konfiguration_(Debi ...
Wenn das gemacht ist sollte es sauber klappen.
Mit snmpwalk ala snmpwalk -v 2c -c public localhost .1 kannst du das immer testen. Übrigens auch deine Switches wenn du statt localhost deren IP Adresse angibst face-wink
Member: Neulinuxer
Neulinuxer Feb 02, 2013 updated at 17:46:23 (UTC)
Goto Top
Da ich gemäß deinem Tutorial apt-get install mrtg mrtg-rrd rrdtool snmp snmpd eingegeben habe, sollten die beiden Pakete installiert sein.

In der original snmpd.conf habe ich dem Eintrag (Zeile 49 oder 50 müsste es sein) #rocommunity public localhost die Raute genommen und die Datei gespeichert. Danach habe ich mit service snmpd restart einen Neustart durchgeführt. Danach mit cfgmaker erneut eine mrtg046.cfg erstellt. Aber leider bleibt das Ergebnis das selbe. Es wird nichts ausgelesen, was es auszuwerten gäbe. face-sad

Ich denke, dass ich das mit der snmpd.conf nicht verstanden habe. Könntest du mir vielleicht sagen, was genau ich da ändern muss, um zum Erfolg zu kommen?

edit: Hier der komplette Inhalt der Datei:


###############################################################################
#
# EXAMPLE.conf:
#   An example configuration file for configuring the Net-SNMP agent ('snmpd')  
#   See the 'snmpd.conf(5)' man page for details  
#
#  Some entries are deliberately commented out, and will need to be explicitly activated
#
###############################################################################
#
#  AGENT BEHAVIOUR
#

#  Listen for connections from the local system only
agentAddress  udp:127.0.0.1:161
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)
#agentAddress udp:161,udp6:[::1]:161



###############################################################################
#
#  SNMPv3 AUTHENTICATION
#
#  Note that these particular settings don't actually belong here.  
#  They should be copied to the file /var/lib/snmp/snmpd.conf
#     and the passwords changed, before being uncommented in that file *only*.
#  Then restart the agent

#  createUser authOnlyUser  MD5 "remember to change this password"  
#  createUser authPrivUser  SHA "remember to change this one too"  DES  
#  createUser internalUser  MD5 "this is only ever used internally, but still change the password"  

#  If you also change the usernames (which might be sensible),
#  then remember to update the other occurances in this example config file to match.



###############################################################################
#
#  ACCESS CONTROL
#

                                                 #  system + hrSystem groups only
view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1

                                                 #  Full access from the local host
rocommunity public  localhost
                                                 #  Default access to basic system info
 rocommunity public  default    -V systemonly

                                                 #  Full access from an example network
                                                 #     Adjust this network address to match your local
                                                 #     settings, change the community string,
                                                 #     and check the 'agentAddress' setting above  
#rocommunity secret  10.0.0.0/16

                                                 #  Full read-only access for SNMPv3
 rouser   authOnlyUser
                                                 #  Full write access for encrypted requests
                                                 #     Remember to activate the 'createUser' lines above  
#rwuser   authPrivUser   priv

#  It's no longer typically necessary to use the full 'com2sec/group/access' configuration  
#  r[ou]user and r[ow]community, together with suitable views, should cover most requirements



###############################################################################
#
#  SYSTEM INFORMATION
#

#  Note that setting these values here, results in the corresponding MIB objects being 'read-only'  
#  See snmpd.conf(5) for more details
sysLocation    Sitting on the Dock of the Bay
sysContact     Me <me@example.org>
                                                 # Application + End-to-End layers
sysServices    72


#
#  Process Monitoring
#
                               # At least one  'mountd' process  
proc  mountd
                               # No more than 4 'ntalkd' processes - 0 is OK  
proc  ntalkd    4
                               # At least one 'sendmail' process, but no more than 10  
proc  sendmail 10 1

#  Walk the UCD-SNMP-MIB::prTable to see the resulting output
#  Note that this table will be empty if there are no "proc" entries in the snmpd.conf file  


#
#  Disk Monitoring
#
                               # 10MBs required on root disk, 5% free on /var, 10% free on all other disks
disk       /     10000
disk       /var  5%
includeAllDisks  10%

#  Walk the UCD-SNMP-MIB::dskTable to see the resulting output
#  Note that this table will be empty if there are no "disk" entries in the snmpd.conf file  


#
#  System Load
#
                               # Unacceptable 1-, 5-, and 15-minute load averages
load   12 10 5

#  Walk the UCD-SNMP-MIB::laTable to see the resulting output
#  Note that this table *will* be populated, even without a "load" entry in the snmpd.conf file  



###############################################################################
#
#  ACTIVE MONITORING
#

                                    #   send SNMPv1  traps
 trapsink     localhost public
                                    #   send SNMPv2c traps
#trap2sink    localhost public
                                    #   send SNMPv2c INFORMs
#informsink   localhost public

#  Note that you typically only want *one* of these three lines
#  Uncommenting two (or all three) will result in multiple copies of each notification.


#
#  Event MIB - automatically generate alerts
#
                                   # Remember to activate the 'createUser' lines above  
iquerySecName   internalUser       
rouser          internalUser
                                   # generate traps on UCD error conditions
defaultMonitors          yes
                                   # generate traps on linkUp/Down
linkUpDownNotifications  yes



###############################################################################
#
#  EXTENDING THE AGENT
#

#
#  Arbitrary extension commands
#
 extend    test1   /bin/echo  Hello, world!
 extend-sh test2   echo Hello, world! ; echo Hi there ; exit 35
#extend-sh test3   /bin/sh /tmp/shtest

#  Note that this last entry requires the script '/tmp/shtest' to be created first,  
#    containing the same three shell commands, before the line is uncommented

#  Walk the NET-SNMP-EXTEND-MIB tables (nsExtendConfigTable, nsExtendOutput1Table
#     and nsExtendOutput2Table) to see the resulting output

#  Note that the "extend" directive supercedes the previous "exec" and "sh" directives  
#  However, walking the UCD-SNMP-MIB::extTable should still returns the same output,
#     as well as the fuller results in the above tables.


#
#  "Pass-through" MIB extension command  
#
#pass .1.3.6.1.4.1.8072.2.255  /bin/sh       PREFIX/local/passtest
#pass .1.3.6.1.4.1.8072.2.255  /usr/bin/perl PREFIX/local/passtest.pl

# Note that this requires one of the two 'passtest' scripts to be installed first,  
#    before the appropriate line is uncommented.
# These scripts can be found in the 'local' directory of the source distribution,  
#     and are not installed automatically.

#  Walk the NET-SNMP-PASS-MIB::netSnmpPassExamples subtree to see the resulting output


#
#  AgentX Sub-agents
#
                                           #  Run as an AgentX master agent
 master          agentx
                                           #  Listen for network connections (from localhost)
                                           #    rather than the default named socket /var/agentx/master
#agentXSocket    tcp:localhost:705
Member: aqui
aqui Feb 02, 2013 updated at 18:11:17 (UTC)
Goto Top
Wenn du ein snmpwalk localhost -c public -v1 eingibst, was bekommst du auf die Konsole ?
Testweise solltest du mal folgendes machen:
  • Listen for connections on all interfaces entkommentieren und localhost only wieder einkommentieren.
  • rocommunity public default -V systemonly einkommentieren
Das sollte ggf. schon reichen.
snmpd neu starten und wieder snmpwalk localhost -c public -v1 eingeben was dann einen Output zeigen sollte.

Sehr hilfreich ist hier auch der kostenlose SNMP Tester von Paessler:
http://www.de.paessler.com/tools/snmptester

Mit apt-get install tcpdump kannst du dir einen kleinen Paket Sniffer installieren, der dann die SNMP Pakete mittracen kann zum checken.
Member: Neulinuxer
Neulinuxer Feb 02, 2013 at 20:19:57 (UTC)
Goto Top
Wenn ich snmpwalk localhost -c public -v1 eingebe, kommt eine "unendlich" lange Ausgabe. Der Speicher der Konsole reicht nicht aus, um das hier einzustellen.

Listen for connections on all interfaces habe ich entkommentiert
localhost only habe ich nicht gefunden. Auch strg-w war ohne Erfolg. In welcher Zeile steht das?
rocommunity public default -V systemonly habe ich wieder einkommentiert

Trotz des nicht gefundenen localhost only service snmpd restart eingegeben. Das Ergebnis ist das selbe.

Das Ausführen von snmpwalk localhost -c public -v1 ergab wieder eine "unendlich" lange Ausgabe.

Die Tools von paessler werde ich mir später in Ruhe ansehen.
Member: aqui
aqui Feb 03, 2013 updated at 15:23:04 (UTC)
Goto Top
OK gehen wir mal strategisch vor obwohl es so aussieht als ob SNMP sauber rennt auf deinem Raspi:
  • Gib mal /etc/init.d/snmpd status ein, der auf "running" antworten sollte
  • Frage mal mit snmpwalk localhost -c public -v1 iso.3.6.1.2.1.1.6.0 die Location OID ab da sollte wenn du sie nicht verändert hast "Sitting in the dock of the bay.. rauskommen ! Das ist das was du in der /etc/snmp/snmpd.conf unter "sysLocation" eingetragen hast !
Funktioniert das alles, rennt dein SNMP auf dem Raspi und du kannst dort alle Daten abfragen.
Sinnvoll ist noch das Paket snmp-mibs-downloader mit apt-get install zu installieren, denn die ISO Standard MIBs werden sonst nicht geladen.
Weitere Daten fragst du so ab:
snmpwalk localhost -c public -v1 1.3.6.1.4.1.2021.10.1.3.2 = CPU Last gemittelt auf 5 Minuten
snmpwalk localhost -c public -v1 1.3.6.1.4.1.2021.9.1.2.1 = Pfad der gemounteten Disk
snmpwalk localhost -c public -v1 1.3.6.1.2.1.1.3.0 = Zeit die dein Raspi Online ist
snmpwalk localhost -c public -v1 1.3.6.1.2.1.2.2.1.10.2 = Eingehender Netzwerk Traffic eth0
snmpwalk localhost -c public -v1 1.3.6.1.2.1.2.2.1.16.2 = Ausgehender Netzwerk Traffic eth0
usw. usw.
Weitere OID Abfragewerte findest du z.B. HIER !
Member: Neulinuxer
Neulinuxer Feb 03, 2013 updated at 16:14:54 (UTC)
Goto Top
/etc/init.d/snmpd status wird mit snmpd is running beantwortet.
snmpwalk localhost -c public -v1 iso.3.6.1.2.1.1.6.0 ergibt "Sitting in the dock of the bay"
snmp-mibs-downloader hatte ich bereits installiert

Trotzdem funktioniert es irgendwie nicht. Wenn ich cfgmaker --ifdesc=descr --global "Language: german" --global 'Options[_]: bits,growright' --output /home/pi/mrtg046.cfg public@192.168.1.46 eingebe, dann kommt folgendes:

585fe90db9dafa9b3e62a7127b7c5486

Kann es an ... ::::::v4 only liegen?

die mrtg046.cfg hat dann folgenden Inhalt:

75cf4d7ba815990d6fe94c4b72b6d234

Für die vielen Interessanten Möglichkeiten vielen Dank, aber wie und wo muss ich denn zum Beispiel snmpwalk localhost -c public -v1 1.3.6.1.4.1.2021.10.1.3.2 eintragen, damit es in der mrtg.cfg ankommt?
Member: aqui
aqui Feb 03, 2013 updated at 16:44:29 (UTC)
Goto Top
Das es nicht geht liegt vermutlich daran das du über die LAN IP Adresse gehst, hast aber in der snmpd.conf nur den Zugriff über localhost erlaubt !!?
...public@192.168.1.46 wobei die 192er IP Adrresse das eth0 Interface des Raspis ist, oder ?
Wenn du nur "localhost" erlaubt hast, dann musst du logischerweise das Kommando in
cfgmaker --ifdesc=descr --global "Language: german" --global 'Options[_]: bits,growright' --output /home/pi/mrtg046.cfg public@localhost
ändern !
Oder.... in der snmpd.conf alle Schnittstellen freigeben ! Dann klappts auch mit der 192er eth0 Adresse...
Member: Neulinuxer
Neulinuxer Feb 03, 2013, updated at Feb 04, 2013 at 08:26:54 (UTC)
Goto Top
Die 192.168.1.46 ist der Raspberry, das stimmt.

Heureka es hat geklappt. Na klar, darauf hätte selbst ich kommen können. Aber so ist das mit den Anfängern... Nun habe ich schon mal ein Diagramm der eth0.

24a3bdc88f5576fd9186c5927b9c226c

Nun müsstest du mir nur noch erklären, wie ich an die Temperatur komme. Ich habe hier http://kopfkino.roemersee.de/tutorial-mehr-mrtg-monitoring-mit-dem-rasp ... etwas gefunden, was man zusätzlich in die mrtg046.cfg eintragen könnte, bin mir aber nicht sicher, ob das so richtig ist, da es völlig "anders" aussieht, als der aktuelle Eintrag.
Member: aqui
aqui Feb 04, 2013 at 11:44:57 (UTC)
Goto Top
Guckst du hier:
http://www.webaj.com/node/22

Sieh dir sonst einfach mal mit einem Editor die OID Beschreibungen an. Das ist einen ASCII Textdatei. Dort müsste unter CPU_Temperature oder sowas die passende OID stehen.
Das Tutorial oben ist nicht schlecht, dadran kannst du dich auch halten um diese Werte zusammenzufassen.
Wichtig ist immer der OID Code. Das ist bei SNMP sowas wie eine "Adresse" hinter der sich der Wert verbirgt den man auslesen (oder auch setzen) will !
Member: Neulinuxer
Neulinuxer Feb 04, 2013 at 12:19:36 (UTC)
Goto Top
Das verstehe ich noch nicht so ganz. In welchem Verzeichnis kann ich die OID Beschreibung finden in der dann die passende OID zu finden sein sollte?

Wenn ich diese OID dann gefunden habe, wohin muss die dann geschrieben werden? Ich habe die snmpd.conf mal nach ähnlich aussehenden Zeilen durchgeschaut. Da taucht unter "ACCESS CONTROL" direkt in der ersten Zeile auf: view systemonly included .1.3.6.1.2.1.1. müsste ich dort dann einfach eine Zeile hinzufügen, die zum Beispiel view systemonly included 1.3.6.1.4.1.2021.10.1.3.2 (entnommen aus deinem obigen Post) lautet, um die CPU Last darzustellen?

Das Tutorial habe ich mir durchgelesen. Aber so wirklich umfänglich verstanden habe ich das nicht.
Member: aqui
aqui Feb 04, 2013 updated at 14:11:37 (UTC)
Goto Top
Ich check mal welche OID das ist.
Interessante Infos dazu findest du noch hier:
http://raspberrypi.stackexchange.com/questions/357/how-do-i-monitor-and ...
und
http://www.satsignal.eu/ntp/Raspberry-Pi-NTP.html -->"Adding SNMP support for CPU temperature monitoring"
Der letzte URL zeigt genau wie es geht mit MRTG.
Grad eben getestet und funktioniert wunderbar !
Member: Neulinuxer
Neulinuxer Feb 04, 2013 updated at 17:06:04 (UTC)
Goto Top
Vielen Dank für den interessanten Link. Was so alles geht mit dem kleinen Board ist schon interessant. Ich habe es mir durchgelesen und bin dann genau nach Anleitung vorgegangen. Auch die testweisen Ausgaben waren korrekt. Frohen Mutes habe ich dann wieder mit cfgmaker --ifdesc=descr --global "Language: german" --global 'Options[_]: bits,growright' --output /home/pi/mrtg046.cfg public@localhost die mrtg046.cfg erzeugt. Aber auch diesmal ist nichts anderes darin enthalten als zuvor. Ich denke, dass ich, obwohl ich versucht habe, den Ursprungszustand wieder herzustellen, durch die ganzen Kommentierungen und Entkommentierungen irgendwo in der snmpd.conf etwas Falsches stehen habe. Da ich aber keine Sicherungskopie angelegt habe, weiss ich nicht, wo ich suchen soll. Hier nochmal der aktuelle Inhalt:

###############################################################################
#
# EXAMPLE.conf:
#   An example configuration file for configuring the Net-SNMP agent ('snmpd')  
#   See the 'snmpd.conf(5)' man page for details  
#
#  Some entries are deliberately commented out, and will need to be explicitly activated
#
###############################################################################
#
#  AGENT BEHAVIOUR
#

#  Listen for connections from the local system only
agentAddress  udp:127.0.0.1:161,udp:192.168.1.46:161
#Listen for connections on all interfaces (both IPv4 *and* IPv6)
#agentAddress udp:161,udp6:[::1]:161



###############################################################################
#
#  SNMPv3 AUTHENTICATION
#
#  Note that these particular settings don't actually belong here.  
#  They should be copied to the file /var/lib/snmp/snmpd.conf
#     and the passwords changed, before being uncommented in that file *only*.
#  Then restart the agent

#  createUser authOnlyUser  MD5 "remember to change this password"  
#  createUser authPrivUser  SHA "remember to change this one too"  DES  
#  createUser internalUser  MD5 "this is only ever used internally, but still change the password"  

#  If you also change the usernames (which might be sensible),
#  then remember to update the other occurances in this example config file to match.



###############################################################################
#
#  ACCESS CONTROL
#

                                                 #  system + hrSystem groups only
view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1

                                                 #  Full access from the local host
#rocommunity public  localhost
 
# das ist aus der Anleitung uebernommen worden
rocommunity public
                                                #  Default access to basic system info
#rocommunity public  default    -V systemonly

                                                 #  Full access from an example network
                                                 #     Adjust this network address to match your local
                                                 #     settings, change the community string,
                                                 #     and check the 'agentAddress' setting above  
#rocommunity secret  10.0.0.0/16

                                                 #  Full read-only access for SNMPv3
 rouser   authOnlyUser
                                                 #  Full write access for encrypted requests
                                                 #     Remember to activate the 'createUser' lines above  
#rwuser   authPrivUser   priv

#  It's no longer typically necessary to use the full 'com2sec/group/access' configuration  
#  r[ou]user and r[ow]community, together with suitable views, should cover most requirements



###############################################################################
#
#  SYSTEM INFORMATION
#

#  Note that setting these values here, results in the corresponding MIB objects being 'read-only'  
#  See snmpd.conf(5) for more details
sysLocation    Sitting on the Dock of the Bay
sysContact     Me <me@example.org>
                                                 # Application + End-to-End layers
sysServices    72


#
#  Process Monitoring
#
                               # At least one  'mountd' process  
proc  mountd
                               # No more than 4 'ntalkd' processes - 0 is OK  
proc  ntalkd    4
                               # At least one 'sendmail' process, but no more than 10  
proc  sendmail 10 1

#  Walk the UCD-SNMP-MIB::prTable to see the resulting output
#  Note that this table will be empty if there are no "proc" entries in the snmpd.conf file  


#
#  Disk Monitoring
#
                               # 10MBs required on root disk, 5% free on /var, 10% free on all other disks
disk       /     10000
disk       /var  5%
includeAllDisks  10%

#  Walk the UCD-SNMP-MIB::dskTable to see the resulting output
#  Note that this table will be empty if there are no "disk" entries in the snmpd.conf file  


#
#  System Load
#
                               # Unacceptable 1-, 5-, and 15-minute load averages
load   12 10 5

#  Walk the UCD-SNMP-MIB::laTable to see the resulting output
#  Note that this table *will* be populated, even without a "load" entry in the snmpd.conf file  



###############################################################################
#
#  ACTIVE MONITORING
#

                                    #   send SNMPv1  traps
 trapsink     localhost public
                                    #   send SNMPv2c traps
#trap2sink    localhost public
                                    #   send SNMPv2c INFORMs
#informsink   localhost public

#  Note that you typically only want *one* of these three lines
#  Uncommenting two (or all three) will result in multiple copies of each notification.


#
#  Event MIB - automatically generate alerts
#
                                   # Remember to activate the 'createUser' lines above  
iquerySecName   internalUser       
rouser          internalUser
                                   # generate traps on UCD error conditions
defaultMonitors          yes
                                   # generate traps on linkUp/Down
linkUpDownNotifications  yes



###############################################################################
#
#  EXTENDING THE AGENT
#

#
#  Arbitrary extension commands
#
 extend    test1   /bin/echo  Hello, world!
 extend-sh test2   echo Hello, world! ; echo Hi there ; exit 35
#extend-sh test3   /bin/sh /tmp/shtest

#  Note that this last entry requires the script '/tmp/shtest' to be created first,  
#    containing the same three shell commands, before the line is uncommented

#  Walk the NET-SNMP-EXTEND-MIB tables (nsExtendConfigTable, nsExtendOutput1Table
#     and nsExtendOutput2Table) to see the resulting output

#  Note that the "extend" directive supercedes the previous "exec" and "sh" directives  
#  However, walking the UCD-SNMP-MIB::extTable should still returns the same output,
#     as well as the fuller results in the above tables.


#
#  "Pass-through" MIB extension command  
#
#pass .1.3.6.1.4.1.8072.2.255  /bin/sh       PREFIX/local/passtest
#pass .1.3.6.1.4.1.8072.2.255  /usr/bin/perl PREFIX/local/passtest.pl

# Hier wieder aus der Anleitung uebernommen
pass .1.3.6.1.2.1.25.1.8 /bin/sh /usr/local/bin/snmp-cpu-temp

# Note that this requires one of the two 'passtest' scripts to be installed first,  
#    before the appropriate line is uncommented.
# These scripts can be found in the 'local' directory of the source distribution,  
#     and are not installed automatically.

#  Walk the NET-SNMP-PASS-MIB::netSnmpPassExamples subtree to see the resulting output


#
#  AgentX Sub-agents
#
                                           #  Run as an AgentX master agent
 master          agentx
                                           #  Listen for network connections (from localhost)
                                           #    rather than the default named socket /var/agentx/master
#agentXSocket    tcp:localhost:705
Member: aqui
aqui Feb 08, 2013 updated at 11:07:35 (UTC)
Goto Top
Du hast alles richtig gemacht. Der Teufel liegt aber im Detail. MRTG fragt nur die Standard MIB ab NICHT aber Hersteller MIB OIDs oder customizte OIDs wenn man ihm das nicht vorher sagt !
Genau DAS haben wir aber gemacht oben indem wir die SoC CPU Temperatur auf eine nicht benutzte OID gelegt haben. Der MRTG CFGmaker ignoriert diese aber, da er sie nicht kennt.
Die Lösung ist aber kinderleicht:
Editiere mit dem nano deine MRTG cfg Datei für den Raspberry und füge einfach unten einen Block mit der OID dazu ala:
# Monitor the Raspberry Pi temperature
Target[router-inet1-CPU]: 1.3.6.1.2.1.25.1.8:public@<ip_adresse_raspi>:
MaxBytes[router-inet1-CPU]: 100
UnScaled[router-inet1-CPU]: dwmy
Options[router-inet1-CPU]: integer gauge noo
Title[router-inet1-CPU]: Temperatur Raspberry Pi
PageTop[router-inet1-CPU]: <H1>Raspberry Pi Server Temperatur</H1> 
...fertisch ! (Voraussetzung du hast die gleiche OID verwendet wie in der o.a. Website !)
Beim Aufruf der cfg Datei mit MRTG bekommst du nun auch eine Grafik der Temperatur.
Genauso machst du das mit Platten (SD) Füllstand, CPU Load und deren entsprechenden OID usw.
Member: Neulinuxer
Neulinuxer Feb 09, 2013 updated at 14:23:34 (UTC)
Goto Top
Hallo,

wegen Karneval war ich anderweitig eingebunden. Nun habe ich deinen Beitrag gelesen und prompt umgesetzt. Ich habe meine mrtg046.cfg genau so editiert wie du geschrieben hast. Die OID hatte ich so aus dem Beitrag übernommen, daher habe ich sie auch beim editieren übernommen.

Screenshot nach dem editieren

b867ae0f7c4bd4b999094f5a9d801455

Leider hakt es aber noch. Auch ein mehrmaliger Aufruf von mrtg /home/pi/mrtg046.cfg brachte keine Besserung. Der Fehler sieht so aus:

2da3a692df4fdbf968a6f2315bd84600

Ich werde daraus nicht schlau. Fehlt da ein Punkt, oder was soll das bedeuten? Erfreulich ist, dass Indexmaker halbwegs erfolgreich war. Es werden zwar keine Daten in das Diagramm geschrieben, aber es erscheint schon mal.

f8ad2c37fecf77c0d0ca23132fb910df

Was wäre jetzt der letzte entscheidende Schritt zum Erfolg? Wenn das endlich läuft, werde ich mich nach Karneval mal an CPU Load heran machen. Wenn das Schema einmal läuft, dann sollte das eigentlich (für mich) zu schaffen sein.

edit Das neu erzeugte Diagramm läuft genau "anders herum" als die anderen. Der aktuellste Wert steht links statt rechts. Was wäre zu ändern, um das Diagramm genau so laufen zu lassen wie die anderen?
Member: aqui
aqui Feb 15, 2013 updated at 18:39:52 (UTC)
Goto Top
Kannst du testweise mal einen Punkt vor der OID eingeben, also:
Target[router-inet1-CPU]: .1.3.6.1.2.1.25.1.8:public@<ip_adresse_raspi>:

Die Richtung des Diagramms kannst du oben mit den Options Options[_]: growright, bits entsprechend bestimmen.
Den Text in den eckigen Klammern Target[router-inet1-CPU] solltest du analog auch so anpassen wie es in der .cfg Datei bei den eth0 Statistiken steht.
Das ist aber erstmal egal. Wichtig ist erstmal die Daten da rauszubekommen und zur Anzeige zu bringen !
Könntest du deinen .cfg Datei ggf. einmal per PM posten ?
Da ist noch etwas Handarbeit erforderlich.
Member: aqui
aqui Feb 16, 2013 updated at 18:22:49 (UTC)
Goto Top
So, mal ein bischen rumgespielt und hier ist die Lösung für dich:
  • apt-get install bc ausführen
  • Folgende Datei erstellen mit nano /etc/snmp/cpu_temp_auslesen.sh
    #!/bin/bash
    
    # Read cpu temperature
    tempread=`cat /sys/class/thermal/thermal_zone0/temp`
    
    temp=`echo "scale=2; $tempread / 1000" | bc`  
    
    # Wert ausgeben
    echo $temp
    echo 0
    echo 0
    echo temperature 
  • Datei mit chmod 774 /etc/snmp/cpu_temp_auslesen.sh ausführtbar machen und testweise mal aufrufen mit ./cpu_temp_auslesen.sh
  • MRTG .cfg Datei für den Raspberry editieren und folgendes ans Ende einführen:
    # CPU Usage
    LoadMIBs: /usr/share/mibs/netsnmp/UCD-SNMP-MIB,/var/lib/mibs/ietf/HOST-RESOURCES-MIB
    Target[localhost.cpu]: ssCpuRawUser.0&ssCpuRawUser.0:public@127.0.0.1+ssCpuRawSystem.0&ssCpuRawSystem.0:public@127.0.0.1+ssCpuRawNice.0&ssCpuRawNice.0:public@127.0.0.1
    RouterUptime[localhost.cpu]: public@127.0.0.1
    MaxBytes[localhost.cpu]: 100
    Title[localhost.cpu]: Raspberry Pi Server CPU Load
    PageTop[localhost.cpu]: <h1>Raspberry Pi Server Active CPU Load %</h1>
    Unscaled[localhost.cpu]: ymwd
    ShortLegend[localhost.cpu]: %
    YLegend[localhost.cpu]: CPU Utilization
    Legend1[localhost.cpu]: Active CPU in % (Load)
    Legend2[localhost.cpu]:
    Legend3[localhost.cpu]:
    Legend4[localhost.cpu]:
    LegendI[localhost.cpu]: Active
    LegendO[localhost.cpu]:
    Options[localhost.cpu]: growright,nopercent
    
    # Memory Usage
    LoadMIBs: /usr/share/mibs/netsnmp/UCD-SNMP-MIB,/var/lib/mibs/ietf/HOST-RESOURCES-MIB
    Target[localhost.mem_used]: 242565120-((memAvailReal.0&memAvailReal.0:public@localhost) * 1024)
    Title[localhost.mem_used]: Raspberry Pi Server Used Memory
    PageTop[localhost.mem_used]: <h1>Raspberry Pi Server Used Memory</h1>
    Options[localhost.mem_used]: growright,gauge,nopercent,transparent,noo,nolegend
    MaxBytes[localhost.mem_used]: 242565120
    Unscaled[localhost.mem_used]: dwmy
    kilo[localhost.mem_used]: 1024
    ShortLegend[localhost.mem_used]: Bytes
    YLegend[localhost.mem_used]: Mem Used
    LegendI[localhost.mem_used]: Used Memory:
    
    # Memory Free
    LoadMIBs: /usr/share/mibs/netsnmp/UCD-SNMP-MIB,/var/lib/mibs/ietf/HOST-RESOURCES-MIB
    Target[localhost.mem_free]: (1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.6.0:public@localhost) * 1024
    PageTop[localhost.mem_free]: <h1>Raspberry Pi Server Free Memory</h1>
    Title[localhost.mem_free]: Raspberry Pi Server Free Memory
    Options[localhost.mem_free]: growright,gauge,nopercent,transparent,noo,nolegend
    MaxBytes[localhost.mem_free]: 242565120
    kilo[localhost.mem_free]: 1024
    Unscaled[localhost.mem_free]: dwmy
    YLegend[localhost.mem_free]: Mem Free
    ShortLegend[localhost.mem_free]: Bytes
    LegendI[localhost.mem_free]: Free Memory:
    LegendO[localhost.mem_free]:
    Legend1[localhost.mem_free]: Free memory, not including swap, in bytes
    
    ### CPU Temperature Raspberry
    TimeStrPos[localhost.cpu_temp]: RU
    Target[localhost.cpu_temp]: `/etc/snmp/cpu_temp_auslesen.sh`
    Options[localhost.cpu_temp]: gauge,growright,nopercent,expscale,transparent
    Title[localhost.cpu_temp]: Raspberry Pi Server CPU Temperatur
    PageTop[localhost.cpu_temp]: <h1>Raspberry Pi Server CPU Temperatur</h1>
    MaxBytes[localhost.cpu_temp]: 125
    Step[localhost.cpu_temp]: 60
    Legend1[localhost.cpu_temp]: CPU Temperatur Raspberry Pi Server
    LegendI[localhost.cpu_temp]: CPU Temperatur
    LegendO[localhost.cpu_temp]:
    YLegend[localhost.cpu_temp]: Grad Celsius
    ShortLegend[localhost.cpu_temp]: Grad °C 
Vorher solltest du noch die alten Dateien in /var/www/mrtg löschen und mit dem Indexmaker einen neue index.html anlegen.
Dann sollte final das dabei rauskommen:
6ec28af6a8a841d1e7a19e40084f707c
Member: Neulinuxer
Neulinuxer Feb 17, 2013 updated at 11:52:27 (UTC)
Goto Top
Ohne Worte!

40f8ca1942b2ddf2cbf353981f922eeb

http://www.smilies.4-user.de/include/Huepfen/smilie_hops_011.gif

Keine Ahnung, ob und wie ich das hier rein bekomme, daher der Link.

face-kiss face-smile Es läuft face-smile face-kiss

Danke Danke Danke!!
Member: aqui
aqui Feb 17, 2013 updated at 14:57:59 (UTC)
Goto Top
Oha....100% CPU Load !!! Was machst du denn da so geheimnisvolles das du den an seine Grenzen zwingst ??
Gut aber das nun alles rennt !
Member: Neulinuxer
Neulinuxer Feb 17, 2013 updated at 15:59:29 (UTC)
Goto Top
Womit er sich so doll beschäftigt, weiß ich auch nicht. Eigentlich macht er nichts anderes, als die Werte von 4 Switchen und sich selbst grafisch darzustellen. Ich habe in der crontab die Abfrage schon von minütlich auf zweiminütlich gestellt, aber gebracht hat es nichts. Auch habe ich eben mal einen reboot durchgeführt. Aber auch das war nicht von Erfolg gekrönt. Anbei mal ein Screenshot von htop. Vielleicht hast du ja noch eine Idee.

35e50f80df83013b2b7c25963ae9e8dd
Member: aqui
aqui Feb 18, 2013 at 15:06:55 (UTC)
Goto Top
Was ist das denn für ein neckisches Tool oben ??
Gib mal "top" ein, da kannst du detailiert sehen welcher Prozess wieviel CPU verbraucht ! (ctrl c stoppt das wieder)
Member: Kasselhoefer
Kasselhoefer May 29, 2013 at 06:56:52 (UTC)
Goto Top
Hallo,
erst einmal super Anleitung. Gerade für mich als Linux Laie face-smile

ich möchte die Anleitung dazu nutzen einen Syslog Server aufzusetzen um die Benutzung des HotSpots über einen Lancom Router zu protokolieren.

Ich habe den Raspberry Pi nach der Anleitung soweit aufgesetzt. Inklusive dem Punkt "Ein Log Server mit grafischer Web Oberfläche".
Hierbei habe ich auch den Punkt " local7.* /var/log/cisco.log" in die rsyslog.config eingefügt, da dieses auch Grundbestandteil der Lancom Logs ist. Wobei ich das Log File lancom.log genannt habe.
Leider werden aber keine Daten in das Log-File eingetragen. Am Router kann es nicht liegen, da ich das Ganze mit Kiwi Syslog Server unter Windows getestet habe und es funktioniert.
Also muss es noch an meinen Einstellungen am Raspberry Pi liegen. Firewall o. ä..?

Gruß
Andreas
Member: aqui
aqui May 29, 2013 at 07:06:46 (UTC)
Goto Top
Hast du mit touch /var/log/lancom.log diese Datei auch erzeugt im Verzeichnis /var/log ??
Prüfe ebenso mit ls -l ob dann Schreibrechte bestehen. Ansonsten mit chmod 766 lancom.log diese setzen.
Dann sollte es klappen.
Stelle aber auch ganz sicher das die Syslog Meldungen vom Lancom auch wirklich local7 Messages sind, sonst landen sie im normalen Log !
Member: Kasselhoefer
Kasselhoefer May 29, 2013 at 19:42:14 (UTC)
Goto Top
Hallo,
das Thema hat sich erledigt. Ich hatte das ganze mit Local7 nicht verstanden. Ich musste natürlich die Facilities des Lancom Routers auch auf Local7 einstellen. Jetzt funktioniert es face-smile

Danke
Member: aqui
Solution aqui May 30, 2013, updated at Jan 23, 2014 at 21:18:24 (UTC)
Goto Top
Alles wird gut... face-smile
Member: Neulinuxer
Neulinuxer Jan 23, 2014, updated at Jan 24, 2014 at 13:53:30 (UTC)
Goto Top
Hallo zusammen,

ich muss diesen alten Faden nochmal hervorkramen. Das Monitoring der Ports lief bei mir einwandfrei. Zumindest so lange, bis die SD-Karte der Himbeere das zeitliche gesegnet hat. Ich hatte natürlich kein Backup-Image gezogen, so dass ich jetzt wieder von vorne anfangen musste. Soweit läuft inzwischen alles wieder. Feintuning werde ich in den nächsten Tagen noch betreiben.

Mein Problem ist nun folgendes: Der Raspberry hat eine neue IP erhalten. Sie ist nun die 192.168.1.110. Ich möchte ihn wieder monitoren. Hierzu habe ich diese Anleitung, die mir auch bei der letzten Einrichtung geholfen hatk benutzt. Ich erhalte im Browserfenster wieder fünf Grafiken (wie im Beitrag vom 17.02.2013 um 12:51 Uhr). Nur leider gibt es keine Graphen zu "Used Memory" und "Free Memory". Die übrigen drei Graphen sind vorhanden.

Hat es da vielleicht eine grundliegende Änderung gegeben, die noch eingepflegt werden muss?

EDIT: Wieso auch immer?! Seit heute Mittag 12 Uhr laufen auch die beiden fehlenden Graphen. Meine Frage hat sich also erledigt.
Member: aqui
aqui Jan 24, 2014 updated at 16:38:19 (UTC)
Goto Top
SD-Karte der Himbeere das zeitliche gesegnet hat.
Sollte nicht wieder passieren wenn du eine Class 4 SD Karte benutzt !!! Keine Class 6 oder 10 Karten verwenden wenn du übertaktest, das kann bekanntermassen zu SD Kartenproblemen führen. Die SD Karten sind aber nicht physisch defekt du kannst sie problemlos wieder neu formatieren. Es führt lediglich zu Filesystem Errors des EXT4 Dateisystems.
Siehe hier: http://elinux.org/index.php?title=RPiconfig&section=14%7CSD
Kapitel "SD Card Usage with Overclocking"
Overclocking also immer nur mit Class 4 Karten oder drunter.

Was dein Memory anbetrifft kannst du die SNMP OIDs direkt ansprechen mit snmpwalk und bekommst du da entsprechende Werte zurück ??
Member: Neulinuxer
Neulinuxer Jan 25, 2014 at 06:57:31 (UTC)
Goto Top
Vielen Dank für den Hinweis mit der SD-Karte. Da mein Raspberry immer am Limit läuft, habe ich tatsächlich überlegt, ihn zu Übertakten. Gemacht habe ich das noch nicht. Auch nicht im letzten Jahr, als sich die SD-Karte verabschiedet hat. Da ich mir erst kürzlich eine SanDisk 8GB 10 Class10 geholt habe, ist es um so interessanter, zu wissen, dass das auf Dauer in die Hose gehen wird. Da werde ich dann wohl auf Class 4 "Downgraden" müssen.

Wie ich im "EDIT" schon geschrieben habe, sind die fehlenden Graphen plötzlich vorhanden, obwohl ich überhaupt nichts verändert habe. Wunder der Technik!?

Ich habe aber noch eine ganz andere Frage: Wenn der RasPi nur einen einzigen Switch überwachen muss, wäre es dann möglich, die Trafficdaten in kürzeren Abständen aufzuzeichnen? Am liebsten natürlich jede Sekunde. Im betreffenden Netzwerk kommt es gelegentlich zu merkwürdigen "Hängern". Ich würde gerne wissen, wo da der Hase im Pfeffer liegt. Ein sekündliches Monitoring würde da sicherlich einiges an Aufschluss geben.
Member: aqui
aqui Jan 25, 2014 at 09:14:14 (UTC)
Goto Top
Solche "Hänger" deuten häufig auf Spanning Tree Loops hin oder auch oft auf defekte oder sterbende Ports bzw. Patchkabel. Da macht es dann eher Sinn das Syslog dieser Switches regelmässig abzufragen als den Traffic am Port zu überwachen. Die Kombnation aus beidem wäre perfekt.
Du musst einfach nur das Zeitintervall der Abfrage ändern. Vermutlich wird das ja mit einem Cron Job gemacht. Ein "crontab -l" zeigt dir sowas an.
Member: Neulinuxer
Neulinuxer Jan 25, 2014 updated at 12:35:11 (UTC)
Goto Top
Hallo,

es ist richtig. Der Job wird über crontab abgearbeitet. Die Zeile für ein Gerät habe ich Deiner Anleitung entnommen und sie sieht dann beispielsweise so aus:

0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59 * * * * /usr/bin/mrtg /home/pi/mrtg003.cfg

Wie müsste ich denn das Intervall schreiben, damit es kürzer ist? 0.1,0.2,0.3,.... oder wie muss das dann aussehen?

Das Protokoll werde ich mir dann die Tage mal zu Gemüte führen. Aber den RasPi möchte ich auf jeden Fall installieren, um auch für die Zukunft ein Log des Traffics pro Port zu haben.
Member: Lochkartenstanzer
Lochkartenstanzer Jan 25, 2014 updated at 12:39:41 (UTC)
Goto Top
Zitat von @Neulinuxer:

>  0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59
> * * * * /usr/bin/mrtg /home/pi/mrtg003.cfg
Wie müsste ich denn das Intervall schreiben, damit es kürzer ist? 0.1,0.2,0.3,.... oder wie muss das dann aussehen?



moin,

Einfach:
 * * * * * /usr/bin/mrtg /home/pi/mrtg003.cfg
lks
Member: Neulinuxer
Neulinuxer Jan 27, 2014 at 14:20:30 (UTC)
Goto Top
Vielen Dank für den Hinweis. Das werde ich noch testen.

Nun habe ich aber noch eine "kosmetische" Frage. Wenn ich in die Temperaturgrafik klicke, erscheint eine Übersicht verschiedener Zeitintervalle, unter denen steht dann zum Beispiel "...52.0 Grad °C" steht. Es sollte aber heissen: "52.0 Grad °C". In der mrtc.cfg ist das korrekt dargestellt, nur leider nicht unterhalb der Grafik.

Ich nehme an, dass das "Â" ausgegeben wird, weil irgend etwas mit dem Zeichensatz nicht stimmt. Aber ich habe keine Ahnung, wie das Problem zu lösen ist. hat dazu jemand eine Idee?
Member: aqui
aqui Jan 27, 2014 at 18:01:03 (UTC)
Goto Top
Das stimmt das ist ein Zeichensatz Problem und zwar ist das das Grad zeichen (kleiner Kreis). Hast du UTF eingestellt ! Wenn du das Gradzeichen wegmachst im MRTG verschwindet sicher auch das Angström A.
Member: Neulinuxer
Neulinuxer Apr 24, 2014 at 18:13:25 (UTC)
Goto Top
Hallo,

noch immer läuft die MRTG-Lösung. Inzwischen auch wieder auf einem zweiten Raspberry Pi in einem anderen Netzwerk. Dieser hat aber auch noch andere Aufgaben. Da er aber 4 Switches, sich selbst und ein NAS überwacht, ist er regelmäßig so stark ausgelastet, dass noch nichteinmal mehr eine Eingabe im Terminal möglich ist.

Über die crontab wird dieser Befehl für jedes der Geräte aufgerufen: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59 * * * * /usr/bin/mrtg /home/pi/mrtgXXX.cfg

Diese Verzögerung durch die hohe Auslastung/Priorität möchte ich ändern. Hierzu habe ich als Lösung "nice" ins Auge gefaßt. Aber es will nicht so recht klappen. Da ist wohl noch etwas falsch in meinem Aufruf. "sudo nice -n 20 /usr/bin/mrtg" Nach der Eingabe habe ich testweise X gestartet und darin dann Anwendungen. Selbst der Mausklick war nicht möglich. Die mrtg-Prozesse haben sich in der htop Liste immer nach oben geschoben und sich die vorhandene Rechenleistung geteilt. Bei zwei Prozessen jeweils zwischen 40 und 50 %, bei drei Prozessen jeweils knapp 30%, usw. usf.

Wie müsste der nice-Befehl richtig lauten, damit alle mrtg-Prozesse mit der geringsten Priorität laufen, so dass alle anderen Befehle Vorrang haben?
Member: aqui
aqui Apr 25, 2014 updated at 18:58:28 (UTC)
Goto Top
Dein Problem ist das du MRTG minütlich ausführst, was eigentlich unsinnig ist.
Wenn du es im 5 Minuten Rhytmus machst
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/bin/mrtg /home/pi/mrtg.cfg
sollte das dein Performanceproblem auf Schlag lösen.
Appropos...wieso machst du eigetlich ab der 44 Minute gar nix mehr und Pause bis zur vollen Stunde ?? Oder ist das ein cut and paste Fehler ?
Außerdem solltest du den Raspi über die config Datei moderat höher takten...bringt auch nochwas.
Member: Lochkartenstanzer
Lochkartenstanzer Apr 25, 2014 at 19:05:06 (UTC)
Goto Top
Zitat von @aqui:

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/bin/mrtg /home/pi/mrtg.cfg

0-59/5 * * * * /usr/bin/mrtg /home/pi/mrtg.cfg

schreibt sich einfacher und das Interval läßt sich einfacher anpassen. face-smile

lsk
Member: aqui
aqui Apr 25, 2014 updated at 19:07:34 (UTC)
Goto Top
Recht hast du...! Danke für den Hinweis...