Hallo!
ich möchte gerne den Throughput der Firewall anzeigen.
Dazu lese ich mit SNMP alle 60 Sekunden die Interfaces aus (value_before). Ich bekomme dann die absolute Menge zurück.
60 Sekunden (value_now) später habe ich dann sozusagen eine größere Menge als 60 Sekunden davor.
Ich stelle mir das so vor:
value_now - value_old = current.
Wie kann ich mir das merken? Ich experimentiere mit userreadings rum, aber so richtig verstehe ich es nicht...
Danke!
userReadings typ differential sollte machen was du willst.
was hast du denn schon probiert.
gruss
andre
Ich hatte es erst mit UserAttr versucht und gemerkt, dass ich auf dem Holzweg gewesen bin.
Danach mit
userReadings dl_before { ReadingsVal("FirewallSNMP","em0_out",0);; }
und wollte es dann als label ausgeben, wo ich das Delta berechne.
Jetzt bin ich mit Deinem Tipp schonmal etwas weiter:
download_current differential { ReadingsVal("FirewallSNMP","em0_out",0) /8/1024 ;;;; }
schaut doch gut aus. die vielen ; sind aber unnötig.
Danke.
So sieht es jetzt aus:
download_current differential { ReadingsVal("FirewallSNMP","pppoe_in",0) /1000/60 } ,
upload_current differential { ReadingsVal("FirewallSNMP","pppoe_out",0) /1000/60 }
da ist noch ein Fehler drin. Und zwar sollte das /1000/60 erst NACH der differential Ermittlung erfolgen.
Wie bekommt man das denn hin...?
ob du vorher oder nachher dividierst ist doch egal: (X/1000)-(Y/1000) = (X-Y)/1000
schau dir noch mal an ob du die /60 wirklich brauchst. differential berücksichtig die zeit zwischen readings automatisch. difference wäre die reine differenz.
gruss
andre
Stimmt. Das /60 brauche ich nicht.
Ich hatte es zwischenzeitlich mit einem 2. Reading gelöst, welches sich die Daten aus dem ersten zieht und mir fiel dann auf, dass es keinen Unterschied macht.
Hier meine Lösung zum Monitoren des Firewall Throughputs:
defmod FirewallSNMP SYSSTAT 60 600 firewall
attr FirewallSNMP mibs 1.3.6.1.2.1.2.2.1.10.9:pppoe_in , 1.3.6.1.2.1.2.2.1.16.9:pppoe_out , 1.3.6.1.2.1.1.3.0:Connection_Duration
attr FirewallSNMP room UtilityRoom
attr FirewallSNMP snmp 1
attr FirewallSNMP snmpCommunity derIsGeheim!!
attr FirewallSNMP snmpVersion 2
attr FirewallSNMP stateFormat {sprintf("Down: %0.0f kb/sec Up: %0.0f kb/sec", ReadingsVal("FirewallSNMP","download_current_byte",0), ReadingsVal("FirewallSNMP","upload_current_byte",0))}
attr FirewallSNMP userReadings download_current_byte differential { ReadingsVal("FirewallSNMP","pppoe_in",0) /1024} ,\
upload_current_byte differential { ReadingsVal("FirewallSNMP","pppoe_out",0) /1024}\
Vielleicht braucht es ja mal jemand..
Danke für die Unterstützung :)