Container-Monitoring: Prometheus 2.0 überwacht effizienter
Die vor allem beim Cloud- und Containereinsatz verwendete Monitoring-Lösung Prometheus steht in Version 2.0 bereit. Prometheus sammelt Daten als Zeitreihen. Die in Version 2.0 enthaltene neue, leistungsfähigere Zeitreihen-Datenbank startete Anfang 2017 als Experiment, die in praktischen Benchmarks gewonnenen Ergebnisse können sich aber sehen lassen: Die Latenzzeiten für Abfragen sind konsistenter und skalieren besser, zugleich geht der Ressourcenverbrauch in realen Produktionsszenarien deutlich zurück.
Zahlen dazu liefert unter anderem das Projekt selbst in einem Blogpost(öffnet im neuen Fenster) von Entwickler Fabian Reinartz, der sie bereit auf dem Open Source Summit in Prag vorstellte. Demnach reduziert sich die CPU-Auslastung gegenüber Version 1.8 um 20 bis 40 Prozent. Prometheus 2.0 braucht 33 bis 50 Prozent weniger Plattenplatz als die Vorgängerversion, und Disk-I/O liegt ohne große Last normalerweise bei weniger als einem Prozent.
Auch das auf Containereinsatz spezialisierte Unternehmen CoreOS beteiligt sich an der Entwicklung von Prometheus(öffnet im neuen Fenster) und sieht die "dramatischste Verbesserung in Prometheus 2.0" in der geringeren Menge an Daten, die die Monitoring-Software pro Sekunde auf die Festplatte schreibt, es seien bis zu zwei Größenordnungen weniger Daten als bisher. Dies erhöhe die Lebensdauer von SSDs und senke die Kosten.
Abgestanden nach fünf Minuten
Nutzer dürfte auch freuen, dass die neue Version das seit Jahren bestehende und recht komplex zu behebende Problem mit der Fünf-Minuten-Staleness löst. Denn erhält Prometheus etwa beim Auswerten eines Instant Vectors fünf Minuten lang keine aktualisierten Datenpunkte, betrachtet es die dazugehörige Zeitreihe als "schal" oder "abgestanden" (englisch: stale). Der Admin weiß dann nicht genau, ob ein Wert tatsächlich konstant ist oder er auf einen veralteten Datenpunkt schaut.
Das führt unter anderem dazu, dass die Warnungen auch dann noch abgehen, wenn ein Problem bereits behoben ist. Prometheus 2.0 verfolgt daher nun auch verschwindende Ziele oder deren Zeitreihen, was nicht nur Abfrage-Artefakte verhindert, sondern auch die Reaktionsfähigkeit der Warnungen verbessert.
Schnappschüsse per API machen
Neu ist außerdem der integrierte Support für Snapshot-Backups der gesamten Datenbank. Dazu muss das Flag "--web.enable-admin-api" gesetzt werden und natürlich anschließend der entsprechende API-Aufruf durchgeführt werden. Der Snapshot landet in einem Verzeichnis mit dem zurückgelieferten Namen und lässt sich dann in einen Archivspeicher hochladen, wobei er kaum zusätzlichen Speicherplatz belegt. Auf Basis der gesicherten Daten lässt sich dann einfach ein neuer Prometheus-Server starten, indem der Admin den letzten Schnappschuss in das Datenverzeichnis des neuen Servers schiebt.
Neue Storage Engine für Milliarden Daten
Überwacht Prometheus in großen Setups Hunderte bis Tausende von Containern, kommen Millionen von Zeitreihen über einen Cluster zusammen, was das kontinuierliche Schreiben zu einer technischen Herausforderung macht. Dank der Container-Orchestrierung Kubernetes entstehen und verschwinden die Container zu allem Ärger auch noch permanent. Das ist gewollt und wird in Zukunft eher zunehmen. Da Prometheus Zeitreihen für jeden einzelnen Container anlegt, fallen über die Zeit Milliarden von Zeitreihen an, auch wenn die Monitoring-Software sie nicht alle verfolgt.
Eine neue Storage Engine von Prometheus verwendet invertierte Indizes und orientiert sich am Vorbild einer Volltextsuche. Sie erlaubt es, Zeitreihen schneller zu durchforsten. Zugleich hilft es, dass ein neues Festplattenformat verwendete Zeitreihendaten besser beieinanderhält und ein Write-ahead-Log für eine bessere Crash-Resistenz sorgt. Neu ist auch, dass die Aufzeichnungs- und Alarmierungsregeln nun im YAML-Format vorliegen, was es erleichtert, die Daten im Konfigurationsmanagement und in Templates zu verwenden.
Admins, die eine Migration erwägen, sollten einen Blick in das Migrationshandbuch werfen. Ausprobieren lässt sich die neue Version über die offiziellen Binaries(öffnet im neuen Fenster) und Container-Images(öffnet im neuen Fenster) .
- Anzeige Hier geht es zum Handbuch Skalierbare Container-Infrastrukturen bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



