Prometheus: a love story

Vor zwei Jahren begannen wir vom System Engineering Team /sys unsere Systeme in die Cloud zu migrieren. Damit diese stets überwacht bleiben, setzten wir in der neuen Cloud-Umgebung auf Prometheus. In diesem Blogpost liest du, wie wir zu Prometheus kamen und warum wir dieses Projekt finanziell unterstützen.

Die Überwachung der Systeme hatte bei Puzzle schon immer einen hohen Stellenwert. Im Rechenzentrum setzten wir auf Icinga, deployed mit Puppet. Als wir uns 2019 daran setzten, in die Cloud :cloud: zu migrieren, stellte sich die Frage einer möglichen Monitoring-Technologie. Dabei scheuten wir uns nicht, über die Teamgrenzen hinauszuschauen und uns bei unseren Container Kollegen inspirieren zu lassen.

Das Middleware Team setzte bereits im Jahr 2017 bei einem Kundenauftrag auf Prometheus. Im Jahr 2018 realisierten wir im VM und Container Umfeld weitere Aufträge mit dieser Technologie. Somit war es ein Leichtes auch für unsere neue Cloud-Umgebung Prometheus einzusetzen. Unser eigenes Deployment auf der Container Plattform konnte durch den kube-prometheus Stack abgelöst werden. Dabei wurde eine VM hochgefahren, eine Ansible Rolle für Prometheus, eine für Grafana, eine für jeden erdenklichen Exporter und eine Rolle für den Alertmanager geschrieben. Zudem hatten wir unseren eigenen Monitoring Stack.
Kurz darauf bemerkten wir, dass wir mehr Metriken wollten und begannen unseren eigenen Exporter für unseren Cloudprovider cloudscale.ch zu entwickeln (wird in Kürze opensourced).

Anfangs 2019 kam der Need nach Longtime Storage und eine Zusammenführung aller Metriken für Prometheus Metrics auf. Tinu Abegglen (/mid) und Reto Kupferschmid (/sys) schlossen sich zusammen und begannen ihr Knowhow im Bereich Thanos und Cortex aufzubauen. Aus dieser Synergie entstand der Puzzle interne Observability Summit. Dieser brachte bereits eine Prometheus Schulung und ein CNCF Workshop in diesem Jahr hervor. Ebenfalls hat der Observability Summit unserem Monitoring/Logging-Team das interne Setup extrem vereinfacht. So wurden aus mehreren Grafanas eines und nun werden Prometheus Datasourcen in einem Thanos gesammelt. Zudem sammelt eine zentrale mandantenfähige Loki Instanz (welche wir seit anfangs 2020 betreiben) alle Logs unserer Umgebungen.

Sobald uns die News zum 0-Day von Grafana erreichten, schloss sich der Observability Summit kurzerhand für ein Meeting zusammen. Innerhalb von Minuten wurden alle Plattformen nach laufenden Grafana Instanzen gescannt und jegliche Zugriffe aus dem Internet gesperrt. Anschliessend überprüften wir alle Datasourcen unserer Hauptinstanz, rotierten alle Secrets und konnten bereits, bevor der Patch released wurde, beruhigt die weitere Entwicklung beobachten.

Puzzle ITC unterstützt seit diesem Geschäftsjahr Julius Volz, Co-Founder von Prometheus und Verantwortlicher für mehrere Core-Komponenten. Monatlich bezahlt Puzzle einen Sponsoring-Beitrag, damit Julius sich auf die stetige Verbesserung von Prometheus konzentrieren kann. In einem kurzen Statement, erzählt er von seinem Vorhaben.

„Mit dem Sponsoring kann ich einige spannende Vorhaben vorantreiben. Einerseits konzentriere ich mich auf fortlaufende Aufgaben wie ongoing Maintenance, PR Reviews, Releases, Community und Team-Meetings. Andererseits will ich das Feature UI von Prometheus weiter vorantreiben, wobei dieses Jahr der neue PromQL-Editor gelaunched wurde. Besonders den PromQL-Bereich werde ich benutzerfreundlicher gestalten wollen. Außerdem möchte ich den PromQL-Teil des Prometheus Conformance Programs weiter ausbauen und spezifizieren. So können Vendors ihre Produkte und Dienstleistungen selbst auf PromQL-Kompatibilität testen und sich selbst als “Prometheus Compatible” zertifizieren. Auf der PromLabs-Seite hab ich auch noch einiges vor: weitere und bessere Trainings für Interessierte zur Verfügung stellen.“Julius Volz

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.