MonitoringPro
Kurzinfo
Themenbereich
Monitoring
Lernende/r
Samuel Sigrist
Lehrbetrieb
KomaxAG
Betreuer
Roger Hügi
Urs Nussbaumer
Projekt-Website
https://github.com/samuelsigrist/MonitoringPro
Aufgabenstellung
Die einzige Vorschrift für das Projekt war, dass es einen systemtechnischen Bezug haben soll.
Da bis anhin mehr Programmieren als systemtechnisches Fachwissen vermittelt wurde, entschied ich mich für ein Projekt in der Powershell-Umgebung.
Dies war von Vorteil, da ich so mein bereits gewonnenes Wissen nutzen konnte. Mit der Idee ein Monitoring zu entwickeln, definierte ich folgende Anforderungen:
• Nutzer können sich die Netzwerk-Geschwindigkeit anzeigen lassen.
• Nutzer können sich ihre IPv4 Adresse anzeigen lassen.
• Nutzer können die CPU Auslastung in % anzeigen lassen.
• Nutzer können sich die CPU Temperatur in Grad C° anzeigen lassen.
• Als Nutzer möchte ich die Ausgaben grafisch dargestellt haben.
• Als Nutzer möchte ich, dass die Ausgaben in einer Datenbank gespeichert werden, damit diese zur späteren Analysierung genutz werden können.
• Als Nutzer möchte ich, dass für jeden überwachten Wert eines Rechners der Mittelwert er letzten n Wochen errechnet wird, um zu erkennen, ob ein Rechner am Anschlag läuft und für diesen evtl. ein Upgrade nötig ist.
Ergebnisse
Von den genannten Anforderungen konnten alle ausschliseslich den Anforderungen mit der Datenbank nach Zeitplan erfüllt werden.
Die Anforderungen mit den CPU Angaben sind systemabhänig, da die abgefragte Funktion nicht von jedem BIOS unterstütz wird.
Meinen Recherchen zufolge war es troz dieses Mankos die beste Art, diese Anforderungen zu realisieren.
Während des Entwickelns sind mir weitere nützliche Features in den Sinn gekommen.
Folgende Funktionen sind zustätzlich hinzugefügt worden:
• Der Nutzer kann diverse weitere Konsolenbefehle in eine Input-Box eingeben und erhält die Ausgabe in der Output-Box.
• Für Nutzer ist auch die IPv6 ersichtlich
• Für Nutzer ist auch die Subnetzmaske ersichtlich
• Für Nutzer ist auch das Standardgateway ersichtlich
• Nutzer können sich die Laufenden Prozesse anzeigen lasse
• Für Nutzer ist die Grösse das Ram ersichtlich
• Für Nutzer ist die Menge des freien Ram in % ersichtlich.
Lösungskonzept
Ich habe 3 verschiedene Lösungskonzepte ausgearbeitet, schliesslich entschied ich mich für das für meine Anforderungen best geeignte Konzept. Dieses macht die Abfragen, wie Berechnungen und Ausgaben im GUI alles mittels PowerShell. Ich entschied mich für diese lösungen da der Komplexitätsgrad von meine Berechnungen noch gut mit PowerShell reallisierbar ist und es die überschauarste Variante ist.
Aufgetretene Probleme
Die CPU- und Netzwerkausgabeskripts haben mir anfangs einige Schwierigkeiten bereitet. Schliesslich habe ich eine Lösung dafür gefunden. Diese ist aber systemabhängig, da nicht jedes BIOS die verwendeten Funktionen unterstützt. Durch die genannten Probleme bin ich zwischenzeitig 2 Tage in Verzug gekommen.
Ausblick
Bei einem nächsten Projekt werde ich bereits am Anfang das responsive disigne einbeziehen, da dies im Nachhinein viel aufwändiger zu realisieren ist.