Hi,
mit dem Netzwerkplugin kann man sich ein recht einfaches Monitoring von Linux Rechnern aufbauen.
systemload.JPG
Das geht so. Man aktiviert das Netzwerkplugin, der Hacken beim UDP muss gesetzt sein. Am besten beläst man den Port bei 2727
Unbenannt.JPG
Als nächstes Legt man sich Items an.
Ein Item vom Type String das das Attibut "loadavg" mit dem Wert X hat.
und unter diesem noch 6 Kinderitems vom Type num. / Werte Aufzeichen würde ich für diese kinderitems auf unendlich stellen.
Am einfachsten importiert ihr diese csv file.
Jetzt legt ihr noch eine Logik an. Es ist wichtg das "*:loadavg" bei den Abhängigkeiten eingetragen ist, das diese Logik auf alle Items hört die das Attribut loadavg haben.
loadavg.JPG
im codeblock der Logik steht dann folgends.
Die Logik wird jetzt immer ausgeführt wenn sich etwas an dem Item ändert welches das Attribut loadavg hat. Nachdem die Logik angelegt wurde müsst ihr den core restarten.
Die Logik geht davon aus das in dem Item (im Beispielfall ist das Monitoring.wiregate) der Inhalt steht wie man im sieht wenn man cat /proc/loadavg auf einem Linuxrechner ausführt.
Diesen String bekommt man in das Item über das Netzwerkplugin. Dazu wird auf dem entfernten Rechner folgendes Kommando ausgeführt.
Den Item namen und eure IP müsst ihr natürlich für euch passend machen.
Für das Wiregate habe ich das mit einem Plugin gelöst. Achtung Marcus weggucken Perl code!
Das Plugin läuft dann jede Minute.
Alternative kann man das auch in die crontab, des zu überwachenden Linuxrechners, reinhängen.
Wenn es Minütlich laufen soll schaut das so aus.Item und IP müsst ihr natürlich anpassen.
Viele Grüsse
Jürgen
mit dem Netzwerkplugin kann man sich ein recht einfaches Monitoring von Linux Rechnern aufbauen.
systemload.JPG
Das geht so. Man aktiviert das Netzwerkplugin, der Hacken beim UDP muss gesetzt sein. Am besten beläst man den Port bei 2727
Unbenannt.JPG
Als nächstes Legt man sich Items an.
Ein Item vom Type String das das Attibut "loadavg" mit dem Wert X hat.
und unter diesem noch 6 Kinderitems vom Type num. / Werte Aufzeichen würde ich für diese kinderitems auf unendlich stellen.
Am einfachsten importiert ihr diese csv file.
Code:
"path";"type";"cache";"loadavg";"name";"nw";"trace";"value" "#Date";"2017-03-28 22:49:28+02:00";"";"";"";"";"";"" "#Type";"Nodes";"";"";"";"";"";"" "#Version";"3";"";"";"";"";"";"" "Monitoring.wiregate";"str";"1";"X";"System Load";"1";"";"0 0 0 0/0 0" "Monitoring.wiregate.LastRunning";"num";"";"";"Last Running Process";"";"1";"" "Monitoring.wiregate.Load15min";"num";"";"";"";"";"0";"" "Monitoring.wiregate.Load1min";"num";"";"";"";"";"0";"" "Monitoring.wiregate.Load5min";"num";"";"";"";"";"0";"" "Monitoring.wiregate.Processes";"num";"";"";"Total Number of Processes";"";"0";"" "Monitoring.wiregate.Runnable";"num";"";"";"Number of runnable Threads";"";"0";""
loadavg.JPG
im codeblock der Logik steht dann folgends.
Code:
#logger.debug(trigger) if( trigger.by == "Item"): # trigger.value = '0.82 0.35 0.13 4/123 3079' # logger.debug( trigger.value ) list = trigger.value.split() trigger.node.Load1min = list[0] trigger.node.Load5min = list[1] trigger.node.Load15min = list[2] trigger.node.LastRunning = list[4] list2 = list[3].split("/") trigger.node.Runnable = list2[0] trigger.node.Processes = list2[1]
Die Logik geht davon aus das in dem Item (im Beispielfall ist das Monitoring.wiregate) der Inhalt steht wie man im sieht wenn man cat /proc/loadavg auf einem Linuxrechner ausführt.
Diesen String bekommt man in das Item über das Netzwerkplugin. Dazu wird auf dem entfernten Rechner folgendes Kommando ausgeführt.
Code:
echo \"item|[COLOR=#FF0000]Monitoring.wiregate[/COLOR]|`cat /proc/loadavg`\" | nc -uw 1 -q 9 [COLOR=#FF0000]192.168.XXX.XXX[/COLOR] 2727
Für das Wiregate habe ich das mit einem Plugin gelöst. Achtung Marcus weggucken Perl code!
Code:
# Eigenen Aufruf-Zyklus setzen (Zyklisches prüfen) $plugin_info{$plugname.'_cycle'} = 60; system("echo \"item|Monitoring.wiregate|`cat /proc/loadavg`\" | nc -uw 1 -q 9 192.168.102.51 2727");
Alternative kann man das auch in die crontab, des zu überwachenden Linuxrechners, reinhängen.
Wenn es Minütlich laufen soll schaut das so aus.Item und IP müsst ihr natürlich anpassen.
Code:
* * * * * echo "item|[COLOR=#FF0000]Monitoring.max2play[/COLOR]|`cat /proc/loadavg`" | nc -uw 1 -q 9 [COLOR=#FF0000]192.168.xxx.xxx [/COLOR]2727
Jürgen
Kommentar