Original-URL des Artikels: https://www.golem.de/news/container-monitoring-prometheus-2-0-ueberwacht-effizienter-1711-131091.html    Veröffentlicht: 10.11.2017 17:15    Kurz-URL: https://glm.io/131091

Container-Monitoring

Prometheus 2.0 überwacht effizienter

Ursprünglich von Soundcloud stammt die verteilte Monitoring-Lösung Prometheus, die mittlerweile vor allem für Container genutzt wird. Die aktuelle Version 2.0 reduziert den Fußabdruck der Software, erlaubt Snapshot-Backups der Datenbank und durchforstet riesige Mengen an Zeitreihen 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 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 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 und Container-Images.  (kki)


Verwandte Artikel:
Aliens Colonial Marines: Auch weibliche Soldaten auf LV-426   
(04.09.2012, https://glm.io/94321 )
Linux: Entwickler diskutieren neue Protokollierung   
(02.03.2012, https://glm.io/90220 )
Virtualisierung: Microsoft will einfach nutzbare Ubuntu-Gäste für Hyper-V   
(01.03.2018, https://glm.io/133082 )
IaaS: Openstack Queens unterstützt vGPUs und Container   
(01.03.2018, https://glm.io/133080 )
Coreboot: Purism integriert Heads-Firmware für Laptop-TPMs   
(28.02.2018, https://glm.io/133058 )

© 1997–2020 Golem.de, https://www.golem.de/