Monitoring ist essentiell
Um einen reibungslosen Betrieb garantieren zu können, müssen die Systeme ständig überwacht werden. Nebst den grundlegenden Metriken, wie CPU-Auslastung, freiem RAM-Speicher, Festplattenbelegung und Netzwerkverkehr sollten immer auch Metriken zur Verfügbarkeit der Endpoints von Applikationen, sowie Abfragezeiten gemessen werden.
Ein oft unterschätzter Fakt ist, dass mittels Monitoring Fehler oder Bugs in Applikationen entdeckt werden können. Zum Beispiel können ungünstige Datenbankabfragen zu einer enorm hohen CPU-Auslastung führen. Solche Probleme treten unter Umständen jedoch erst in der Produktivumgebung auf und werden ohne Monitoring wahrscheinlich nur selten entdeckt. Das heisst, Monitoring kann nebst äusseren Einflüssen, wie z.B. Security Breaches, auch innere Probleme aufdecken, was natürlich ein zusätzlicher Vorteil bedeutet. Und damit nicht genug: Ein weitergehendes Monitoring von Odoo kann sogar dabei helfen die Prozesse eines ganzen Unternehmens zu überwachen und langfristig zu verbessern.
Im Vergleich zu Cloud-Systemen, wie z.B. Odoo.sh, wo sich die Systeme zu einem grossen Teil selber überwachen, kommt man bei der On-Premise Variante nicht umhin, ein eigenes Monitoring aufzubauen. Hierfür gibt es mittlerweile sehr einfach einzurichtende Tools wie Grafana mit Prometheus. Diese erläutern wir in den nächsten Kapiteln kurz. Mit der Verwendung dieser beiden Tools und unserem Prometheus-Odoo-Plugin kann ein umfassendes technisches und betriebliches Monitoring eingerichtet werden. Dieses wird im Kapitel Monitoring von Odoo noch genauer beschrieben.
Prometheus
Prometheus ist ein Open-Source Toolkit und Teil der CNCF, für die automatische Überwachung von Servern und Applikationen. Dazu gehört nicht nur das kontinuierliche Erfassen und Aufzeichnen von Metriken, sondern auch die Überwachung dieser Daten mittels konfigurierbarer Regeln, sowie die Benachrichtigung bei gegebenen Regelverletzungen.
Prometheus kann die Metriken entweder selber (mittels Polling) bei den Servern abholen, oder diese können ihre eigenen Metriken per Push über ein PushGateway an Prometheus übermitteln.
Grafana
Grafana dient zur Visualisierung der von Prometheus gesammelten Metriken und ermöglicht eine individuelle Übersicht mit unzähligen Graphen und Auswertungen.
Zusätzlich können direkt in Grafana Alarme und Benachrichtigungskanäle, sowie Alarmschwellen definiert werden: Im Bild unten als roter Bereich dargestellt. Bei Überschreitung dieser Schwelle für eine gewisse Zeit, erfolgt beispielsweise eine Alarmierung des DevOps-Teams per Telegram und E-Mail.
Grafana enthält zahlreiche Graphtypen und Darstellungsarten. Mit der einfachen Zusammenstellung von passenden Dashboards behält man die wichtigen Daten immer im Überblick.
Monitoring von Odoo
Bei der Überwachung eines komplexen Systems wie Odoo, reichen die Standardmetriken wie CPU, RAM und Disk-Auslastung nur selten für einen Reibungslosen Betrieb aus, da sie keinen Rückschluss über die Nutzung der Software geben. Dies ist jedoch gerade bei der Verwendung des Odoo eCommerce Addons oder der Webseite von zentraler Bedeutung.
Aus diesem Grund haben wir ein Plugin für Odoo entwickelt, mit welchem Metriken direkt in Odoo definiert werden können, welche dann Prometheus zur Verfügung stehen. So können beispielsweise Metriken wie Logins oder Anzahl Webseiten Besucher geloggt werden.
Die dadurch erhaltene Monitoringfunktionalität ist allerdings nicht nur für das DevOps-Team an sich geeignet, sondern kann auch für statistische Auswertungen im Controlling eines Unternehmens eingesetzt werden. So werden im Beispiel oben auch die Anzahl Verkäufe mit aufgezeichnet. Dank unserem Plugin ist es ganz einfach, jede beliebige Abfrage als Metrik zu konfigurieren und einzusetzen und in einem Grafana Dashboard in Echtzeit darzustellen.
Möchten auch Sie dieses Plugin einsetzen?
Dann kontaktieren Sie uns ganz einfach