Ich hab einen ER707-M2 VPN/Firewall/Router. Der hat auch eine Möglichkeit über SNMP Daten zu empfangen.
Ich würde gerne ein paar Daten in IPS haben.
CPU
Memory
Temperatur
Aktueller Datendurchsatz Up/Down
Datenmenge WAN/LAN Up/Down
Die kommen sicher über den SNMP Walkthrough herein. Das IPS Modul von Symcon hab ich mir installiert und eingerichtet. Daten kommen rein.
Nur kommen halt nur Zahlen (1.3.1.4…. - oder so) und keine Beschreibung. ChatGPT hab ich bis zum äußersten gequält mir da was zu liefern. Eine Dokumentation gibt es nicht. Zumindest wurde keine gefunden.
Gibt es noch eine andere Möglichkeit herauszufinden, welche OID was bedeutet?
Es war mühselig aber ich hab jetzt zumindest die für mich wichtigsten Werte herausbekommen. ChatGPT hat geglüht.
Da die Werte in Bytes ankommen hab ich da kurzerhand ein Skript zum Umrechnen gemacht. Das funktioniert. Weiters möchte ich den ungefähren aktuellen Datendurchsatz haben. Kann ja nicht so schwer sein, sollte man meinen.
Theoretisch funktionert es aber warum auch immer, kommen nur bei jeder zweiten Aktualisierung neue Werte an. Was bei 5 Sekunden zu 100% unmöglich ist. Zuerst dachte ich, dass es an den 5 Sekunden lag und hab es auf 10 Sekunden erweitert. Aber auch da gibt es nur bei jeder zweiten Aktualisierung was an.
Hier mal das Skript
<?php
//LAN Port
$in_eth0_id=10669;
$out_eth0_id=10884;
$in_eth0_mb_id=34687;
$out_eth0_mb_id=14203;
//WAN Port
$in_eth1_id=30504;
$out_eth1_id=20943;
$in_eth1_mb_id=32204;
$out_eth1_mb_id=38832;
//Byte pro Sekunde
$in_byte_sekunde_id=28194;
$out_byte_sekunde_id=37011;
//Alte Werte speichern
$in_eth1_alt=GetValue($in_eth1_id);
$out_eth1_alt=GetValue($out_eth1_id);
SNMP_UpdateValues(22153);
setvalue($in_byte_sekunde_id,(GetValue($in_eth1_id)-$in_eth1_alt)/5/1000000);
setvalue($out_byte_sekunde_id,(GetValue($out_eth1_id)-$out_eth1_alt)/5/1000000);
//Werte auf MB umrechnen
setvalue($in_eth0_mb_id,GetValue($in_eth0_id)/1000000);
setvalue($out_eth0_mb_id,GetValue($out_eth0_id)/1000000);
setvalue($in_eth1_mb_id,GetValue($in_eth1_id)/1000000);
setvalue($out_eth1_mb_id,GetValue($out_eth1_id)/1000000);
Ist da irgendwo ein Denkfehler drinnen? Die alten Werte werden gespeichert, dann kommt die Aktualiserung und dann soll berechnet werden.
Außerdem hat das SNMP Modul von Symcon ein Problem mit Variablen, die man selbst in der Instanz anlegt. Da kommt bei der Aktualsierung eine Warnung.