Runtime Supervisor
Was ist der Runtime Supervisor?
Der Runtime Supervisor ist ein Software Bundle mit dem die gesamte Framework Studio Runtime an zentraler Stelle überwacht, analysiert und ausgewertet werden kann.
Die Framework Studio Runtime stellt dabei die mit Framework Studio entwickelte Anwendung und deren zur Ausführung benötigte Zusatzprogramme dar.
Dies sind:
- Framework Studio Broker
- Framework Studio Service Host
- Authentication Service
- Print Service
- Document Service
Diese Programme werden im Normalfall auf unterschiedlichen Servern im Netzwerk ausgeführt. Das folgende Bild zeigt einen typischen Aufbau einer Framework Studio Runtime mit Runtime Supervisor für die Überwachung.
Jedes Programm, welches durch den Runtime Supervisor überwacht wird, wird als “Observable” bezeichnet. Alle Observables stehen immer in direktem Kontakt zum Runtime Supervisor. Dies erlaubt es dem Runtime Supervisor “live” Informationen zu sammeln, auszuwerten und auf Events der Observables zu reagieren.
Features
Echtzeitüberwachung
Am Runtime Supervisor registrierte Observables werden in Echtzeit überwacht. Durch ein sehr leichtgewichtiges Kommunikationsinterface auf Basis von ASP.NET SignalR wird der Online-Status sowie die Netzwerkverbindung zwischen Observable und Runtime Supervisor stetig überwacht.
Es muss nicht immer ein Totalausfall sein. Auch alte Netzwerkinfrastruktur oder Netzwerkkabel können z.B. zu instabiler Kommunikation und Fehlern in verteilten Systemen führen. Der Runtime Supervisor informiert Sie über instabile Netzwerkverbindungen zu den Observables. So kann im besten Fall reagiert werden, noch bevor der erste Mitarbeiter einen Fehler auf dem Bildschirm hat.
Event Logs
Jedes Observable in der Framework Studio Runtime führt bisher sein eigenes Event Log, sei es in der Windows Ereignisanzeige, in einer Datenbank oder in einem Logfile. Gibt es Probleme, muss zuerst einmal die richtige Stelle gefunden werden, wo potenzielle Fehler erfasst wurden. Es heißt erst einmal “finde den Server” anstatt “finde den Fehler”.
Jedes am Runtime Supervisor registrierte Observable leitet jedes Event Log, welches protokolliert werden soll, an den Runtime Supervisor weiter. Somit werden alle Event Logs eines jeden Observables kategorisiert, an zentraler Stelle gesammelt und können mit wenigen Klicks ausgewertet werden.
Alerting
Jedes Event Log, welches an den Runtime Supervisor geschickt wird, ist nutzlos, wenn es nicht beachtet wird. Deswegen gibt es ein Alerting-System, welches in der Lage ist, abhängig vom Loglevel (Information, Warning, Error, Critical) eMails an registrierte Empfänger zu schicken. So lässt sich die gesamte Framework Studio Runtime z.B. überall mit dem Smartphone beobachten, ohne sich manuell am Runtime Supervisor anmelden zu müssen.
Statusinformationen
Nicht alle am Runtime Supervisor registrierten Observables müssen auch zur gleichen Zeit online sein. Um den Überblick zu behalten, werden Statusinformationen zu allen Observables angeboten.
Auszug:
- Onlinestatus
- Wann wurde das Observable gestartet?
- Läuft das Observable als Konsolenprogramm, im IIS oder als Windows Service?
- Wann wurde das Observable beendet?
- Wurde es regulär oder auf Grund eines Fehlers beendet?
- …
Informationen über die Hardware
Die am Runtime Supervisor registrierten Observables laufen im Normalfall auf verschiedenen Servern im Netzwerk. Um einen besseren Überblick über die von der Framework Studio Runtime genutzten Rechner zu bekommen, werden Informationen über die Hardware an den Runtime Supervisor geschickt.
Auszug:
- Prozessor
- Wie viele CPU-Kerne?
- Prozessorgeschwindigkeit
- Arbeitsspeicher
- Speicherbelegung lokaler Laufwerke
- Ist der Prozessor 64 Bit?
- …
Informationen über die Software
Die vom Runtime Supervisor angebotenen Softwareinformationen enthalten nicht nur Daten zum Observable selbst, sondern auch zum Betriebssystem, auf dem es läuft. Oft wird vergessen, ob auf einem Server ein Service Pack installiert ist oder nicht und wenn ja, welches. Diese Informationen werden alle am Runtime Supervisor zusammengefasst.
Auszug:
- Betriebssystem
- Service Pack
- Ist das Betriebssystem 64 Bit?
- Installationsverzeichnis des Observables
- Mit welchem User wird das Observable ausgeführt?
- …
Runtime Supervisor Komponenten
Der Runtime Supervisor besteht insgesamt aus drei Komponenten, einer Datenbank, einem Windows Service und einer Web Application. Diese müssen nicht zwingend auf demselben Server installiert sein (mehr in Kapitel).
Datenbank
Der Runtime Supervisor benötigt für die Datenhaltung eine relationale Datenbank. Hierfür kann entweder Microsoft SQL Server oder Oracle eingesetzt werden. Die Datenbank bleibt bei einem Update oder einer Neuinstallation des Runtime Supervisor erhalten, sodass der Windows Service und die Web Application anschließend nicht neu konfiguriert werden müssen. Alle Einstellungen bis hinauf zur Benutzeroberfläche der Web Application werden in der Datenbank persistiert.
Windows Service
Der Windows Service ist der Mittelpunkt des Runtime Supervisor. Alle automatisierten Prozesse werden hier verwaltet. Er hat direkten Zugriff auf die Datenbank und ist verantwortlich für die Kommunikation mit den zu überwachenden Observables.
Features:
- Kommunikationsschnittstelle zu den Observables
- Überwachung der Observables
- Versenden von eMails
- Periodisches Löschen alter Event Logs
- …
Web Application
Die Web Application ist die Benutzeroberfläche des Runtime Supervisor und wird als Website im IIS (Internet Information Service) gehostet. Sie bereitet alle vom Windows Service gesammelten Informationen über die Observables und deren Systeme grafisch auf und stellt Masken zur Konfiguration des Runtime Supervisor bereit.
Features:
- Benutzeroberfläche in Form einer Website
- Responsive Design
- Übersicht über registrierte Observables (Dashboard)
- Anzeige der Event Logs inkl. Filteroptionen
- Konfiguration des Runtime Supervisor
- …