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)
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)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 197687
Url: https://administrator.de/contentid/197687
Ausgedruckt am: 21.11.2024 um 09:11 Uhr
52 Kommentare
Neuester Kommentar
Syslog: Ja, da hast du Recht mit dem "d" und danke für den Hinweis ! Sorry, das ist ein Dreckfuhler der gerade korrigiert ist
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 !!
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 !!
Keine Hilfe mehr bei externen Bilderlinks (Wie war das noch mit dem LESEN ? Wer lesen kann und will... ?? )
Lies dir bitte deine PM durch !!
Nur so viel:
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 ?
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...
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 ?
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
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:
Die switchx.html Links setzt du dann auf deine Switch index Dateien...Fertig. Hilfe bei HTML findest du bei "selfhtml.de"
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
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ü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>
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
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.
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
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.
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 !
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 !
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
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
Wenn du ein snmpwalk localhost -c public -v1 eingibst, was bekommst du auf die Konsole ?
Testweise solltest du mal folgendes machen:
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.
Testweise solltest du mal folgendes machen:
- Listen for connections on all interfaces entkommentieren und localhost only wieder einkommentieren.
- rocommunity public default -V systemonly einkommentieren
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.
OK gehen wir mal strategisch vor obwohl es so aussieht als ob SNMP sauber rennt auf deinem Raspi:
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 !
- 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 !
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 !
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...
...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...
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 !
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 !
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 !
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 !
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:
...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.
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>
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.
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.
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.
So, mal ein bischen rumgespielt und hier ist die Lösung für dich:
Dann sollte final das dabei rauskommen:
- 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
Dann sollte final das dabei rauskommen:
Hallo,
erst einmal super Anleitung. Gerade für mich als Linux Laie
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
erst einmal super Anleitung. Gerade für mich als Linux Laie
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
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 !
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 !
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§ion=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 ??
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.
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.
> 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
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.
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.
0-59/5 * * * * /usr/bin/mrtg /home/pi/mrtg.cfg
schreibt sich einfacher und das Interval läßt sich einfacher anpassen.
lsk