SLA-Monitoring

Kurzbeschreibung

Deutsch: Kernthema dieser Diplomarbeit ist die Überwachung von verschiedensten Services wie Datenbanken im Internet-Dienstleistungs-Sektor. Nachdem die Anforderungen an die Serverinfrastruktur stetig steigen, ist die Überwachung der Infrastruktur, welche als Monitoring bezeichnet wird, von großer Bedeutung. Aus diesem Grund besteht eine steigende Nachfrage nach standardisierten Softwaresensoren, um dieses Monitoring umzusetzen und wichtige Metriken zu sammeln. Weiters ist es Teil der Diplomarbeit, einen Agent zu entwickeln, welcher die Konfiguration der Netzwerküberwachungssoftware PRTG auf Basis der Daten aus der Anexia Engine, einer Cloud-Management-Plattform, automatisch übernimmt. Um den gesamten Softwarelifecycle zu automatisieren und eine hohe Codequalität bereitstellen zu können, wird eine CI/CD-Pipeline entwickelt, welche die Schritte vom Testen bis zur Auslieferung der Software automatisiert.

English: The core topic of this thesis is the monitoring of various services such as databases. Since the requirements for server infrastructure are constantly increasing, the supervision of the infrastructure, which is called monitoring, is of great importance. For this reason, there is an increasing demand for standardized software sensors to implement this monitoring and to collect important metrics. Furthermore, it is part of the thesis to develop an agent that automatically handles the configuration of the network monitoring software PRTG based on data from the Anexia Engine, a cloud management platform. In order to automate the whole software lifecycle and to provide a high code quality, a CI/CD pipeline is developed, which automates the steps from testing to the delivery of the software.

Unser Projekt wird an der HTL Mössingerstraße bearbeitet und erstellt.

Dieses Projekt wird gemeinsam mit einem Wirtschaftspartner durchgeführt:

Systemstruktur

Das Systemstrukturdiagramm soll die einzelnen Bestandteile und deren Zusammenhang beschreiben. Weiters wird verdeutlich, welches Projektmitglied an welchem Bereich arbeitet.


Systemstruktur

Details

Der folgende Abschnitt soll die im Projekt verwendeten Technologien erläutern und genauere Einblicke in die Einzelthemen liefern.


sensors SENSORIK

Metrikerfassung von Services

PRTG bietet bereits ohne weitere Konfiguration die Möglichkeit manche Netzwerkparameter zu erfassen. Um individuelle Dienste zu überwachen ist es möglich, selbstentwickelte Sensoren bereitzustellen. Die Vorraussetzung für diese Sensoren ist, dass diese unter Windows ausführbar sind und die erfassten Metriken in einem vordefinierten Format ausgeben müssen. Zu diesem Zweck werden Sensoren entwickelt, um beispielsweise den Datenbank-Service MongoDB zu überwachen. PRTG bietet danach beispielsweise die Möglichkeit, die erfassten Daten zu visualisieren oder beim Erreichen von Schwellwerten, wie zu hohen Auslastungen, Nachrichten an System-Administratoren oder Kunden zu versenden.

Symbolfoto Sensorik
Symbolfoto SLA-Agent
sync SLA-Agent

Automatisierte Synchronisierung

Die Anexia Engine, die Cloud-Management-Plattform der Anexia, bietet die Möglichkeit, verschiedenste Ressourcen, wie virtuelle Server, zu verwalten. Um die Konfiguration des Monitorings der Serverinfrastruktur zu vereinfachen, wird ein Agent entwickelt, welcher diese Konfiguration automatisiert, indem dieser die Daten der Anexia Engine abfragt und auf Basis dieser Daten die Konfiguration von PRTG validiert bzw. bei Änderungen updatet.

bug_report TEST-SUITE

CI/CD-Pipeline

Um eine hohe Codequalität zu erreichen werden verschiedene Möglichkeiten aus dem Bereich des Softwaretestings angewandt. Um standardisierten Code bereitzustellen, werden Tools zur statischen Codeanalyse und Formatierung verwendet. Weiters werden Softwaretests aus den Kategorien Unit-, Integration- und System-Tests verwendet. Um diese Schritte, sowie die Software-Verteilung zu automatisieren, wird eine auf Gitlab basierende CI/CD-Pipeline entwickelt.

Symbolfoto Test-Suite
code TECHNOLOGIEN

Go | .NET | Gitlab CI & Docker | PRTG

Für die Entwicklung der Sensorik wird die Programmiersprache Golang verwendet, um eine betriebssystemunahängige, hochperformante Überwachungsmöglichkeit zu bieten. Für den SLA-Agent wird ein .NET Service entwickelt, welcher mit dem PRTG-Netzwerk-Monitor auf einem System ausgeliefert werden kann. Um den Softwarelifecycle zu automatisieren wird eine auf Gitlab CI und Docker basierende CI/CD-Pipeline entwickelt.

Unser Projektteam

Martin Gfrerer-Zahradnik
SLA-Agent
Eric Klatzer
Test-Suite
Melanie Werzi
Sensorik
Alexander Griesser
Betreuer Anexia
Prof. Dipl.-Ing. Harald Grünanger
Betreuer HTL