So erstmal ein langes Bild:)
Soweit bin jetzt fertig mit dem Module und es kann begonnen werden es zu testen.
Ein paar Sachen vorweg.
In den Nächsten Tagen folgt eine ausgiebige Beschreibung, da das Thema SNMP etwas komplexer ist.
So nun die Kurzfassung für alle die Ahnung von SNMP haben, oder mein kleines Button Tool(„Load Ports“)benutzen wollen.
In der Liste können sowohl OID, oder spezielle Platzhalter eingetragen werden. Es Funktionieren nur OID die aus Zahlen funktionieren, sofern gewünscht bau ich die Textversion ein. Das Format der OID kann mit, oder ohne „.“ starten.
So Können OID´s z.B. aussehen: .[u]1.3.6.1.2.1.1.5.0[/u] , oder 1.3.6.1.2.1.1.5.0.
Die OID 1.3.6.1.2.1.1.5.0 gibt den sysName aus. In meinen Fall HP-2620-24-PoEP.
Hier eine Kleine Liste der Platzhalter.(Nach den „|“ folgt immer die zweistellige Portnummer)
[ul]
[li]PortStatus100|Portnummer -> z.B. PortStatus100|01 Ausgabe: -1, 0, 10, 100[/li][li]PortStatus1000|Portnummer -> z.B. PortStatus1000|01 Ausgabe: -1, 0, 10, 100,1000[/li][li]PortUtilizationRX|Portnummer -> z.B. PortUtilizationRX|01 Ausgabe: Auslastung Recive in 100%[/li][li]PortUtilizationTX|Portnummer -> z.B. PortUtilizationTX|01 Auslastung Transmit in 100%[/li][li]PortUtilizationTRX|Portnummer -> z.B. PortUtilizationTRX|01 Auslastung Transmit u. Recive in 100%[/li][li]PortMbitRX|Portnummer -> z.B. PortMbitRX||01 Auslastung Recive in MBit[/li][li]PortMbitTX|Portnummer -> z.B. PortMbitTX|01 Auslastung Transmit in MBit[/li][/ul]
In der Spalte Convert, kann ein Converter eingetragen werden.
Und die Spalte Speed dient zur Berechnung der Auslastung in %(Angaben in Mbit).
Es ist auch möglich variablen zu setzten, oder einzeln abzurufen.
Hier die Funktionen:
$intanceID = 54321;
$oid = "1.3.6.1.2.1.1.5.0";
$value = "neuer Hostname";
$varid = 12345;
//$type 'i' = integer; 't' = time ticks; 'x' = hex string; 's' = string; 'a' = IP address; 'o' = object ID; 'n' = null value
$type = "s";
IPSSNMP_WriteSNMPbyOID($intanceID, $oid, $value, $type);
IPSSNMP_WriteSNMPbyVarID($intanceID, $varid, $value, $type);
print_r(IPSSNMP_WalkSNMP($intanceID, $oid)); //ausgabe als Array wobei der Key die OID ist.
print_r(IPSSNMP_WalkSNMP($intanceID, $oid)); //ausgabe als Array wobei der Key die OID ist.
//entweder als einzel Abruf
$oid_singel = "1.3.6.1.2.1.1.5.0";
print_r(IPSSNMP_ReadSNMP($intanceID, $oid_singel)); //ausgabe als Array wobei der Key die OID ist.
//oder als Bulk abruf
$oid_array = ["1.3.6.1.2.1.1.5.0", "1.3.6.1.2.1.1.6.0"];
print_r(IPSSNMP_ReadSNMP($intanceID, $oid_array)); //ausgabe als Array wobei der Key jeweils die OID ist.
Gerne baue ich noch Extras ein.
Bitte soweit Testen.
Achso Speed Modify dient zur richtigen Berechnung des Portspeeds.
der Sollte erstmal grundsätzlich bei 1 bleiben
Swen
P.s. Erhaltbar ist das Module über GitHub - Acer90/SymconModule und in Symcon heißt es IPS SNMP Client.