SNMP Modul

So wie angesprochen hier noch einmal ein neuer Thread rein für das Symcon SNMP Modul von mir.

Funktion:
Das Modul ermöglich es Netzwerkgeräte die SNMP unterstützen auszulesen, oder diese zu Steuern.

Modul-Link:
GitHub - Acer90/SymconModule

Anleitung:
SymconModule/SymconSmnp at master · Acer90/SymconModule · GitHub

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.  

[b]!!!Wichtig, derzeit geht SNMP Version 3 nicht bei IPS-5, da PHP Version 5 kein MyCrypt mehr unterstützt!!!

Bitte bedenkt, dass ich mich seit Montag wieder als Azubi nennen darf, ich werde aber trotzdem versuchen hier soweit wie möglich neue Features einzubauen und Fehler zu beheben. Ich bin schon an einer MyCrypt alternative dran.
[/b]
Bitte Sorgen, Nöte und Problem des Modules ab jetzt hier posten.

Dazu benötige Ich von euch immer die folgende Angaben.

  • IPS Version
  • Betriebssystem des Servers

Swen

Hallo,

habe das SNMP Modul mangels nativer SNMP-Unterstützung in IPS 5.0 respektive Docker-Image gestern ausprobiert und bin im Großen und Ganzen zufrieden damit! Danke für die Mühen!!

Einen Punkt hätte ich noch: im Log erscheinen immer wieder die unten gezeigten Fehlermeldungen. Und zwar von allen möglichen abgefragten OIDs.

Die OIDs werden zyklisch im Minutentakt abgefragt.
Die OIDs, über die ich schalte, sind davon nicht betroffen. Allerdings kommt es hier immer wieder einmal (so bei einem von fünf Schaltversuchen) zu etwas längeren Reaktionszeiten. Gefühlte Ewigkeiten, aber real unter einer Sekunde.

18.04.2018 11:25:03 | ScriptEngine | Ergebnis für Ereignis 11208
<br />
<b>Notice</b>:  Undefined index: .1.3.6.1.4.1.9.6.1.101.108.3.1.6.1 in <b>/var/lib/symcon/scripts/29006.ips.php</b> on line <b>8</b><br />

Gruss aus EU,

Jörg

Das Prüfe ich heute mal.

Später gibt es dazu mehr

Gesendet von meinem CLT-L29 mit Tapatalk

So nun eine mal eine frage nutzt du ein Skript zu abfrage der Daten, oder Verwendest du die Instance (also die Liste in der Instance)?
Wenn du das Skript benutzt, sende mir dieses bitte hier einmal.
Ich empfehle dir aber die Instance zu benutzen, denn diese benutzt Bulk abfragen und ist effizienter.

Gruß Swen

Hallo,

Vieleicht kann mir jemand von euch weiterhelfen ich versuche aus der Diskstation den Wert des Gesammten Speicher von Volume 1 anzuzeigen, danach den belegten Speicher und so weiter…
Habe hier im Forum gelesen den wert würde ich über 1.3.6.1.2.1.25.2.3.1.5.51 bekommen.

ich bekomme den Wert : 1088373854

haben den Wert dann wie in einem Script hier im Forum umrechnen wollen mit $Ergebnis = $_IPS[‚VALUE‘] * 4096 / 1024 / 1024 / 1024 / 100 * 100;
Komme aber auf ein komplett falsches Ergebnis.

Mein System besteht aus 4 Platten Raid 5 with Data Protection.
Gesammt speicher 8.11 TB

Kann mir jemand sagen wie ich den Wert korrekt in TB umrechnen kann?

Danke

zuerst prüfen, ob 1.3.6.1.2.1.25.2.3.1.4.51 (hrStorageAllocationUnits) wirklich 4096 ist

Tommi

Hi,

laut deinem Wert bekommst du die Hälfte von deinem Speicher.

$Ergebnis = $_IPS['VALUE'] * 4096 / 1024 / 1024 / 1024 / 100 * 97.65;

Prüf doch mal die OID was tommi gepostet hat.

print_r(IPSSNMP_WalkSNMP(12345, "1.3.6.1.2.1.25.2.3.1.4"));

Oder :slight_smile:

$Ergebnis = $_IPS['VALUE'] * 4096 / 1024 / 1024 / 1024 / 100 * 97.65 * 2;

Gruß

Hallo,

Klasse!

Ja hrStorageAllocationUnits ist nicht 4096 sondern 8192.

Und jetzt ist der Wert auch korrekt

Vielen Dank für eure Hilfe

Gruss,

Hallo Zusammen,

habt ihr auch mit dem aktuellen IPS 5 (RPI) Probleme mit diesem Modul?

31.08.2018, 13:29:26 | TimerPool | IPS SNMP Client (SyncData): <br />
<b>Fatal error</b>: Uncaught Error: Call to undefined function IPSSNMP_SyncData() in /-:1
Stack trace:
#0 {main}
thrown in <b>/-</b> on line <b>1</b><br />

Bis zum kürzlich veröffentlichten Symcon-Update lief es bei mir hervorragend - hierüber konnte ich endlich meine APC-USV mit Network Management Card anbinden & in Symcon auswerten…

Viele Grüße,
Markus

Bitte mal Prüfen ob es jetzt geht lag soweit ich weiß an einer neuen Version von PHP 7
Dadurch funktioniert der befehl continue jetzt etwas anders.

Hier ein Beispiel:


foreach ($Devices as $Device) {
  switch($Device["oid"])
    case 1:
      …
      break;
    case 2:
      continue;  //<-- Alt
      continue 2;  //<-- Neu
  } 
}

Update ist verfügbar und kann getestet werden.

Gruß Swen

Kann mir jemand sagen ob und wenn wie ich mit dem Modul Daten von einem Raspberry abrufen kann wie CPU Last und Temperatur? Was muss ich dazu einstellen? Werde leider noch nicht ganz schlau aus der Doku des Moduls.

Hi Fonzo,

ich rufe die Daten von den Pi’s mittels RPi-Monitor ab.

RPi-Monitor

Gruß

Danke für den Link, kannte ich noch nicht, das werde ich auf dem normalen Raspberry nutzen. ich würde aber gerne zusätzlich auch noch Daten der CCU3 auslesen, diese ist zwar auch ein Raspberry, aber hier kann man nicht einfach was installieren, daher müsste ich da wohl über SNMP gehen. Hat da einer einen Hinweise was in dem Fall anzugeben ist bzw. wie das Modul zu konfigurieren ist?

Stellt die CCU3 überhaupt Daten per SNMP bereit?
Michael

Ja das tut sie mit community public. Allerdings weis ich eben nicht so genau wie ich das Einrichten soll bzw. was dann im Modul auszuwählen ist, da die Dokumentation für jemand der bisher nicht viel mit SNMP zu tun hatte nicht selbsterklärend ist.

Version ist dann 2c oder 2 zu wählen? Welche OIDs muss ich dann eintragen und was muss als Utilization type ausgewählt werden?

Ohne Doku der CCU3 wird das wohl schwer.
Oder gibt es wenigstens ein MIB File?
Wenn du die Doku vom Modul meinst; da SNMP Grundlagen zu vermitteln sehe ich nicht als Aufgabe :wink:
Michael

Tja, das ist das Problem mit ausführlicher Doku. Ich habe nun gefunden das es prinzipiell überhaupt geht
Erlaubt mittels SNMP Requests Statusinformationen über das Linux-System.

Ich bekomme mit dem Modul auch Werte aus der CCU3 zurückgeliefert. Allerdings weis ich halt nicht wie ich bestimmte Werte aus der CCU3 auslese bzw. was überhaupt geht bzw. unterstützt wird. Wahrscheinlich verhält sich die CCU3 ja wie ein normaler Raspberry. Wenn also jemand weis wie man z.B. CCU Last oder Temperatur bei einem Raspberry mit dem Modul ausliest, könnte ich das ja zumindest mal ausprobieren ob das analog bei einer CCU3 auch funktioniert.

keine Ahnung, ist ja wie gesagt eine CCU3, da kommt man ja nicht so einfach auf das Dateisystem. Wenn ja, wo müsste ich so was finden?

Es ist sicher nicht die Aufgabe des Moduls Grundlagen von SNMP zu vermitteln. Aber ein simples Beispiel und ein Link zu weiterführenden Information kann ja dennoch nicht schaden.

Hi Fonzo,

kannst du die OID mal testen?

print_r(IPSSNMP_WalkSNMP(12345, "1.3.6.1.2.1.25.1.8")); //12345 SNMP Instanz  

Gruß

Ausgabe


Array
(
)


Moin Swen,

habe dein Modul unter Docker auf der Syno installieren wollen, kommt jedoch diese Fehlermeldung beim Öffnen der angelegten Instanz. Ist sicherlich dafür nicht gemacht / getestet, aber woran könnte das liegen?

snmp.JPG