System zur Zustandsüberwachung

System zur Zustandsüberwachung

Hier geht es um ein verteiltes System zur Live-Zustandsüberwachung von Maschinen, um deren Wartungsbedarf oder gar Ausfälle rechtzeitig zu erkennen. Erstellt wurden Agenten, die die Maschinendaten einsammeln und aufbereiten, sowie die Web-Anwendung zur Darstellung und Auswertung derselben. Mit dabei ist ein Konfigurationstool, um die einzelnen Komponenten entsprechend zu konfigurieren.

Das Konfigurationstool wurde in WPF entwickelt. Es erkennt automatisch, welche der vielen Komponenten auf dem jeweiligen Computer installiert sind und wird dementsprechend dynamisch aufgebaut. Durch diverse Überprüfungen wird eine gewisse Validität der endgültigen Konfiguration über die jeweils installierten Systeme gewährleistet.

Die Agenten und die Webanwendung können entweder als Windows Dienst oder als „Self-Host“-Anwendung laufen. Im zweiten Fall werden sie also über eine kleine Konsolenanwendung als eigenständige Programme gestartet. Die Agenten selbst laufen vollständig im Hintergrund, die Hauptanwendung stellt über NancyFX einen kleinen Webserver bereit, über den die Web-App aufgerufen werden kann. Diese dient nicht nur der Auswertung sondern bietet auch eine umfangreiche Benutzerverwaltung auf Basis des ASP.Net-Identity Frameworks, so dass jeder Benutzer nur die Bereiche und Maschinen sehen kann, die ihm zugewiesen wurden. Dank SignalR kommuniziert der Hauptserver mit allen beteiligten Komponenten bidirektional, asynchron und quasi in Echtzeit.

Alle Komponenten können in beliebiger Kombination auf demselben oder auf dedizierten Rechnern installiert werden.


(.Net, C#, ASP.Net-Identity, EntityFramework, NancyFX, SignalR, WindowsService, SQLite)