{"id":54601,"date":"2019-12-30T00:00:00","date_gmt":"2019-12-29T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics"},"modified":"2020-02-18T14:02:38","modified_gmt":"2020-02-18T11:02:38","slug":"vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics","title":{"rendered":"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hallo zusammen. Nachfolgend finden Sie die Transkription <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=HyOXAdQE0Pk\">des Vortrags vom Big Monitoring Meetup 4<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><strong><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/prometheus\">Prometheus<\/a><\/noindex><\/strong> \u2013 ein \u00dcberwachungssystem f\u00fcr verschiedene Systeme und Dienste, mit dem Systemadministratoren Informationen \u00fcber aktuelle Parameter der Systeme sammeln und Benachrichtigungen f\u00fcr Abweichungen im Betrieb der Systeme einstellen k\u00f6nnen.<\/p>\n<p><\/p>\n<p>Im Vortrag wird ein Vergleich <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex> \u2014 von Projekten zur langfristigen Speicherung von Prometheus-Metriken.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/b65866353c1f816a8cb2a90af1ceac23.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\n<center><div class=\"youtube-placeholder\" data-id=\"HyOXAdQE0Pk\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/HyOXAdQE0Pk\/hqdefault.jpg\" alt=\"Video abspielen\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/dc3c90711a8102d3e70b972ca47ec152.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Zuerst m\u00f6chte ich \u00fcber Prometheus sprechen. Es handelt sich um ein \u00dcberwachungssystem, das Metriken von festgelegten Targets sammelt und in einem lokalen Speicher ablegt. Prometheus kann Metriken in einen entfernten Speicher aufzeichnen, Alerts generieren und Recording Rules anwenden. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/e9852597e74c675d2216d971f19857c2.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h3 id=\"ogranicheniya-prometheus\">Einschr\u00e4nkungen von Prometheus:<\/h3>\n<p><\/p>\n<ul>\n<li>Es gibt keine globale Abfrageansicht. Das ist, wenn Sie mehrere unabh\u00e4ngige Instanzen von Prometheus haben. Sie sammeln Metriken. Und Sie m\u00f6chten eine Abfrage \u00fcber all diese Metriken, die von verschiedenen Instanzen von Prometheus gesammelt wurden, durchf\u00fchren. Das erlaubt Prometheus nicht.<\/li>\n<li>Die Leistung von Prometheus ist nur durch einen einzigen Server begrenzt. Prometheus kann sich nicht automatisch auf mehrere Server skalieren. Sie k\u00f6nnen lediglich manuell Ihre Targets auf mehrere Prometheus-Instanzen aufteilen.<\/li>\n<li>Das Volumen der Metriken in Prometheus ist nur auf einen Server beschr\u00e4nkt, aus demselben Grund, warum es nicht automatisch auf mehrere Server skalieren kann.<\/li>\n<li>Es ist nicht so einfach, in Prometheus die Datenspeicherung zu organisieren.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/c140d41f1fe39d33e1fc84f5cc111481.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h3 id=\"resheniya-etih-problemzadach\">L\u00f6sungen f\u00fcr diese Probleme\/Aufgaben?<\/h3>\n<p><\/p>\n<p>Die L\u00f6sungen sind:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/m3db\">Uber M3<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/cortexproject\/cortex\">Cortex<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>All diese L\u00f6sungen sind f\u00fcr die entfernte Speicherung von Daten, die von Prometheus gesammelt wurden. Sie l\u00f6sen das Problem des entfernten Speichers aus der vorherigen Folie unterschiedlich. In dieser Pr\u00e4sentation werde ich nur die ersten beiden L\u00f6sungen vorstellen: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Erstmals wurden Informationen \u00fcber <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> ver\u00f6ffentlicht am <noindex><a rel=\"nofollow\" href=\"https:\/\/improbable.io\/blog\/thanos-prometheus-at-scale\">diesem Link<\/a><\/noindex>. Dort wird die Architektur beschrieben <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> und wie es funktioniert.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/317db6bb4c3cd69d8742addb2bae16a4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos nimmt die Daten, die Prometheus auf der lokalen Festplatte gespeichert hat, und kopiert sie in S3, in <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/storage\/\">GCS<\/a><\/noindex> oder in einen anderen Objektspeicher.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7cf5f99dc5ce78f22c5956373812c0aa.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>So bietet Thanos eine globale Abfrageansicht. Sie k\u00f6nnen Daten anfragen, die in Objektspeichern von mehreren Prometheus-Instanzen gespeichert sind.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/286cf441fe18fb756c2708086872d8d8.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos unterst\u00fctzt PromQL und <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/docs\/prometheus\/latest\/querying\/api\/\">die Abfrage-API von Prometheus.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6a750070d76414370501a8153cd48007.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos verwendet den Code von Prometheus zur Datenspeicherung.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/ba0ca17154f9407900efc336f213ba07.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos wird von denselben Entwicklern entwickelt, die auch Prometheus entwickelt haben.<\/p>\n<p><\/p>\n<p>\u00dcber <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex>. Hier <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/faun\/victoriametrics-creating-the-best-remote-storage-for-prometheus-5d92d66787ac\">Link<\/a><\/noindex>gesprochen. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a901d016e6e58c40c6c7c96b1cd5a8c9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics erh\u00e4lt Daten von mehreren Prometheus \u00fcber <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/docs\/practices\/remote_write\/\">die Remote-Write-API<\/a><\/noindex> einem von Prometheus unterst\u00fctzten Protokoll.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/24798414102cc63a1a1062c5ae327f4c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics bietet eine globale Abfrageansicht, da mehrere Instanzen von Prometheus Daten in eine VictoriaMetrics schreiben k\u00f6nnen. Dementsprechend k\u00f6nnen Sie Abfragen \u00fcber all diese Daten stellen.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a717855dbdf1df859927a75557ee2573.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics unterst\u00fctzt ebenfalls, wie Thanos \u2014 PromQL und die Prometheus-Abfrage-API.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/84daf1b7e160e6f9d8a53a83329f2436.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Im Gegensatz zu Thanos wurde der Quellcode von VictoriaMetrics von Grund auf neu geschrieben und hinsichtlich Geschwindigkeit und Ressourcenverbrauch optimiert. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/371dee8d4705438f560245c4e5e7444f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics, im Gegensatz zu Thanos, skaliert sowohl vertikal als auch horizontal. Es gibt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\/blob\/master\/README.md\">eine Einzelknoten-Version<\/a><\/noindex>, die vertikal skaliert. Sie k\u00f6nnen mit einem Prozessor und 1 GB RAM beginnen und schrittweise auf mehrere Dutzend Prozessoren und 1 TB RAM wachsen. VictoriaMetrics kann all diese Ressourcen nutzen. Ihre Leistung wird im Vergleich zu einem Ein-Kern-System etwa hundertmal steigen. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/697e77546cda492f8512e7e761c0300f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Die Geschichte von Thanos begann im November 2017, als der erste \u00f6ffentliche Commit erschien. Vorher wurde Thanos intern bei <noindex><a rel=\"nofollow\" href=\"https:\/\/improbable.io\">improbable.io<\/a><\/noindex>. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/610a81cfb98082bb61b7ae28b00d2c78.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>entwickelt. Im Juni 2019 gab es das markante Release 0.5.0, in dem <noindex><a rel=\"nofollow\" href=\"https:\/\/thanos.io\/proposals\/201809_gossip-removal.md\/\">das<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Gossip_protocol\">das<\/a><\/noindex> Protokoll entfernt wurde. Es wurde aus Thanos entfernt, weil es sich nicht bew\u00e4hrt hatte. Oft funktionierte der Thanos-Cluster nicht richtig, und die Knoten wurden aufgrund des Gossip-Protokolls falsch verbunden. Daher wurde beschlossen, es zu entfernen. Ich halte dies f\u00fcr eine richtige Entscheidung. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/d7ecf0105d46464aadc4c46147edf9dc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Im selben Juni 2019 reichten sie die Anfrage Nummer <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/cncf\/toc\/pull\/256\">256<\/a><\/noindex> in <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cncf.io\/\">Cloud Native Computing Foundation<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a8685a616bbdc619009c570e28c9f15b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>ein und nach ein paar Monaten wurde Thanos in die <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cncf.io\/\">Cloud Native Computing Foundation<\/a><\/noindex>, die auch Prometheus, Kubernetes und andere beliebte Projekte umfasst, aufgenommen.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/90c64c519aa283b13ce64b96da5ac945.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Die Entwicklung von VictoriaMetrics begann im Januar 2018.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/c2243e3e0a8d00715644d7c84627c5cb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Im September 2018 erw\u00e4hnte ich VictoriaMetrics erstmals \u00f6ffentlich.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/66feecad1783c36651cdf2a19e6d0d70.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Im Dezember 2018 wurde die Einzelknoten-Version ver\u00f6ffentlicht.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/aacf5d683c7d639df7a9f05e297f08c4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Im Mai 2019 <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.usejournal.com\/open-sourcing-victoriametrics-f31e34485c2b\">wurden die Quellcodes sowohl f\u00fcr die Einzelknoten- als auch f\u00fcr die Cluster-Version ver\u00f6ffentlicht.<\/a><\/noindex> Im Juni 2019 reichten wir, wie Thanos, unsere Anfrage bei der CNCF-Stiftung unter der Nummer <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6da160c13c87133b1994ef32f86db077.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>ein. Wir reichten die Anfrage einen Tag fr\u00fcher ein als Thanos. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/cncf\/toc\/pull\/255\">255<\/a><\/noindex>Aber leider wurden wir bisher noch nicht aufgenommen. Die Community ben\u00f6tigt Unterst\u00fctzung. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/12c281eae67b3cec5a66fab41aee1fdb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Lassen Sie uns die wichtigsten Folien betrachten, die die Architektur von Thanos und VictoriaMetrics zeigen.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/ab7b20661c3cfa01209cd742eb71a898.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Beginnen wir mit Thanos. Die gelben Komponenten sind die Komponenten von Prometheus. Alles andere sind die Komponenten von Thanos. Beginnen wir mit der wichtigsten Komponente. Thanos Sidecar ist eine Komponente, die neben jedem Prometheus installiert wird. Sie k\u00fcmmert sich darum, die Prometheus-Daten aus dem lokalen Speicher in S3 oder in einen anderen Object Storage zu laden.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a268b600bcd0cebfd9c5069d2d911a9d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Lassen Sie uns mit Thanos beginnen. Die gelben Komponenten sind die Komponenten von Prometheus. Alles andere sind die Komponenten von Thanos. Beginnen wir mit der wichtigsten Komponente. Thanos Sidecar ist die Komponente, die neben jedem Prometheus installiert wird. Sie k\u00fcmmert sich darum, dass die Daten von Prometheus aus dem lokalen Speicher in S3 oder einen anderen Object Storage geladen werden. <\/p>\n<p><\/p>\n<p>Es gibt auch eine Komponente namens Thanos Store Gateway, die in der Lage ist, diese Daten aus dem Object Storage bei eingehenden Anfragen von Thanos Query zu lesen. Thanos Query implementiert PromQL und das Prometheus API. Das hei\u00dft, nach au\u00dfen hin sieht er aus wie Prometheus. Er nimmt PromQL-Anfragen entgegen, sendet sie an Thanos Store Gateway, das die ben\u00f6tigten Daten aus dem Object Storage abruft und sie zur\u00fcckschickt.<\/p>\n<p><\/p>\n<p>Aber in unserem Object Storage werden die Daten der letzten zwei Stunden aufgrund der Besonderheit der Implementierung von Thanos Sidecar gespeichert, der die letzten zwei Stunden nicht in den Object Storage S3 hochladen kann, da f\u00fcr diese beiden Stunden Prometheus noch keine Dateien im lokalen Speicher erstellt hat.<\/p>\n<p><\/p>\n<p>Wie wurde das umgangen? Thanos Query sendet neben den Anfragen an Thanos Store Gateway parallel Anfragen an jeden Thanos Sidecar, der sich in der N\u00e4he von Prometheus befindet. <\/p>\n<p><\/p>\n<p>Der Thanos Sidecar leitet die Anfragen seinerseits an Prometheus weiter und holt die Daten der letzten zwei Stunden ab.<\/p>\n<p><\/p>\n<p>Neben diesen Komponenten gibt es noch ein optionales Element, ohne das Thanos ineffizient arbeiten w\u00fcrde. Das ist Thanos Compact, das sich um das Zusammenf\u00fchren kleiner Dateien im Object Storage in gr\u00f6\u00dfere Dateien k\u00fcmmert, die von Thanos Sidecars hierher hochgeladen wurden. Thanos Sidecar l\u00e4dt Dateien mit Daten f\u00fcr einen Zeitraum von zwei Stunden hoch. Wenn diese Dateien nicht in gr\u00f6\u00dfere zusammengef\u00fchrt werden, kann deren Anzahl erheblich ansteigen. Je mehr solcher Dateien vorhanden sind, desto mehr Speicher ben\u00f6tigt Thanos Store Gateway und desto mehr Ressourcen sind f\u00fcr die Daten\u00fcbertragung und Metadaten erforderlich. Die Arbeit des Thanos Store Gateway wird dadurch ineffizient. Daher ist es unbedingt erforderlich, Thanos Compact einzusetzen, um kleine Dateien in gr\u00f6\u00dfere zusammenzuf\u00fchren, wodurch die Anzahl dieser Dateien verringert und der Overhead f\u00fcr Thanos Store Gateway reduziert wird.<\/p>\n<p><\/p>\n<p>Es gibt auch eine Komponente namens Thanos Ruler. Sie f\u00fchrt die Alerting-Regeln von Prometheus aus und kann die Recording-Regeln von Prometheus berechnen, um die Daten wieder in den Object Storage zu speichern. Aber es wird nicht empfohlen, diese Komponente zu verwenden, da sie <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/blob\/master\/docs\/components\/rule.md#risk\">tendenziell unvollst\u00e4ndige Daten zur\u00fcckgibt.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Das ist das einfache Schema von Thanos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/3f7cd77a1c056bf7ac245c774d05ea34.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Jetzt vergleichen wir es mit dem Schema von VictoriaMetrics.<\/p>\n<p><\/p>\n<p>VictoriaMetrics gibt es in 2 Versionen: Single-Node und Cluster-Version. Single-Node l\u00e4uft auf einem Computer. In der Single-Node gibt es diese Komponenten nicht, nur ein Bin\u00e4rprogramm. Dieses Bin\u00e4rprogramm sieht auf der Folie wie dieses Quadrat aus. Alles, was sich innerhalb des Quadrats befindet, ist der Inhalt der Bin\u00e4rdatei f\u00fcr die Single-Node-Version. Sie m\u00fcssen es nicht unbedingt wissen. Sie starten einfach das Bin\u00e4rprogramm und schon funktioniert alles. <\/p>\n<p><\/p>\n<p>Die Cluster-Version ist komplexer. Sie besteht aus drei verschiedenen Komponenten: vmselect, vminsert und vmstorage. Aus ihren Namen sollte ersichtlich sein, was jede von ihnen macht. Die Insert-Komponente nimmt Daten in verschiedenen Formaten entgegen: \u00fcber die Prometheus Remote Write API, das Influx Line Protokoll, das Graphite Protokoll und das OpenTSDB Protokoll. Die Insert-Komponente empf\u00e4ngt, parst und verteilt sie an die vorhandenen Storage-Komponenten, wo die Daten dann gespeichert werden. <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@valyala\/promql-tutorial-for-beginners-9ab455142085\">PromQL<\/a><\/noindex>, sowie die Prometheus Querying API, und sie kann als Ersatz f\u00fcr Prometheus in Grafana oder anderen Prometheus API-Clients verwendet werden. Select empf\u00e4ngt PromQL-Anfragen, analysiert sie, liest die notwendigen Daten zur Ausf\u00fchrung dieser Anfragen aus den Storage-Knoten, verarbeitet diese Daten und gibt die Antwort zur\u00fcck.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/5b4f1ec2504c1bea423e58ced26570bd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Lassen Sie uns die Installationskomplexit\u00e4t von Thanos und VictoriaMetrics vergleichen.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/39b293fc911b2987a191cc5d98b1c9f7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Beginnen wir mit Thanos. Bevor Sie mit Thanos arbeiten k\u00f6nnen, m\u00fcssen Sie einen Bucket im Object Storage erstellen, wie S3 oder GCS, damit der Thanos Sidecar dort Daten speichern kann. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7a59c36c4453f1747067c79d9a9b8e2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dann muss f\u00fcr jeden Prometheus der Thanos Sidecar installiert werden. Vergessen Sie nicht, die Datenkompression in Prometheus zu deaktivieren. Die Datenkompression komprimiert periodisch die Daten im lokalen Storage von Prometheus, um den Ressourcenverbrauch zu verringern.<\/p>\n<p><\/p>\n<p>Wenn Sie Thanos Sidecar mit Ihren Prometheus-Instanzen verbinden, m\u00fcssen Sie diese Datenkompression deaktivieren, da Thanos Sidecar nicht richtig mit aktivierter Datenkompression arbeiten kann. Dies bedeutet, dass Ihr Prometheus die Daten in Bl\u00f6cken \u00fcber zwei Stunden speichert und aufh\u00f6rt, diese Bl\u00f6cke in gr\u00f6\u00dfere zusammenzuf\u00fchren. Folglich werden Anfragen, die die Dauer der letzten zwei Stunden \u00fcberschreiten, nicht so effizient verarbeitet, im Vergleich dazu, wie sie verarbeitet werden k\u00f6nnten, wenn die Datenkompression aktiviert w\u00e4re.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/825b70ede9edd1de6658576e2b824cd1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Daher empfiehlt Thanos, die Aufbewahrungszeit der Daten im lokalen Storage auf 6-8 Stunden zu reduzieren, um den Overhead einer gro\u00dfen Anzahl kleiner Bl\u00f6cke zu verringern.<\/p>\n<p><\/p>\n<p>Nachdem Sie den Thanos Sidecar installiert haben, m\u00fcssen Sie f\u00fcr jeden Object Storage Bucket zwei Komponenten installieren. Dies sind Thanos Compactor und Thanos Store Gateway. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/77575d65a75bfd9af8d7dedf0cc5c922.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Anschlie\u00dfend m\u00fcssen Sie Thanos Query installieren und konfigurieren, damit es sich mit allen Thanos Store Gateways verbindet, die Sie haben, sowie mit allen Thanos Sidecar.<\/p>\n<p><\/p>\n<p>Es k\u00f6nnte hier ein kleines Problem geben. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6eddee956c58991ccee52891b368f10f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sie m\u00fcssen eine zuverl\u00e4ssige und sichere Verbindung von Thanos Query zu diesen Komponenten einrichten. Und wenn sich Ihre Prometheus-Instanzen in verschiedenen Rechenzentren oder in unterschiedlichen VPCs befinden, sind Verbindungen von au\u00dfen zu ihnen verboten. F\u00fcr die Funktion von Thanos Query m\u00fcssen Sie jedoch irgendwie eine Verbindung dorthin einrichten, und Sie m\u00fcssen einen Weg finden.<\/p>\n<p><\/p>\n<p>Wenn Sie viele solcher Rechenzentren haben, sinkt entsprechend die Zuverl\u00e4ssigkeit des gesamten Systems. Der Thanos Query muss st\u00e4ndig Verbindungen zu allen Thanos Sidecars aufrechterhalten, die sich in verschiedenen Rechenzentren befinden. Bei jeder eingehenden Anfrage wird er die Anfragen an alle Thanos Sidecars leiten. Wenn die Verbindung unterbrochen wird, erhalten Sie entweder einen unvollst\u00e4ndigen Datensatz oder die Antwort \u201eCluster funktioniert nicht\u201c. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/13c3765871568ac0db4014964cb5d752.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Bei VictoriaMetrics ist alles etwas einfacher. F\u00fcr die Single-Node-Version reicht es aus, ein einziges Binary zu starten und schon funktioniert alles. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/1edf992a6404f5dea1ae2bd4f4d2d8fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>F\u00fcr die Cluster-Version reicht es aus, alle oben genannten drei Typen von Komponenten in jeder ben\u00f6tigten Anzahl zu starten oder <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/helm-charts\/\">helm-Chart<\/a><\/noindex> ein Komponentenautomatisierungstool in Kubernetes zu verwenden. Wir planen auch, einen Kubernetes-Operator zu erstellen. Das Helm-Chart deckt einige Anwendungsf\u00e4lle nicht ab und kann Ihnen in die Quere kommen. Zum Beispiel erlaubt es Ihnen, die Anzahl der Storage-Nodes zu reduzieren, was zu Datenverlust f\u00fchren kann.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/ad4249222cb5e591d7e7bd0b7f1708c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nachdem Sie ein Binary oder die Cluster-Version gestartet haben, m\u00fcssen Sie lediglich die Konfiguration von Prometheus hinzuf\u00fcgen. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\/blob\/master\/README.md#prometheus-setup\">eine Einstellung f\u00fcr die Remote Write-URL<\/a><\/noindex>, damit er beginnt, Daten parallel im lokalen Speicher und im Remote-Speicher zu speichern. Wie Sie bemerkt haben, sollte diese Konfiguration viel zuverl\u00e4ssiger funktionieren als die Thanos-Konfiguration. Wir m\u00fcssen keine Verbindung zwischen VictoriaMetrics und allen Prometheus-Instanzen aufrechterhalten, da sich die Prometheus-Instanzen selbst mit VictoriaMetrics verbinden und Daten \u00fcbermitteln. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/465ffc6cd77b2ca022b2541851a7ddbc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Betrachten wir die Unterst\u00fctzung von Thanos und VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6043f0d3d99cb3e49837f03d3e6bbb9b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos muss den Sidecar \u00fcberwachen, damit dieser nicht aufh\u00f6rt, Daten in den Object Storage hochzuladen. Er kann diesen Upload aufgrund von Fehlermeldungen unterbrechen, beispielsweise wenn Sie vor\u00fcbergehend die Netzwerkverbindung zum Object Storage verloren haben oder der Object Storage vor\u00fcbergehend nicht verf\u00fcgbar ist. Thanos Sidecar wird dies zu diesem Zeitpunkt bemerken, eine Fehlermeldung ausgeben, m\u00f6glicherweise abst\u00fcrzen und danach aufh\u00f6ren zu arbeiten. Wenn Sie ihn nicht \u00fcberwachen, werden keine Daten mehr an den Object Storage \u00fcbertragen. Wenn die Retentionszeit verstrichen ist (empfohlen 6-8 Stunden), verlieren Sie Daten, die nicht in den Object Storage gelangt sind.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7c6556fecdee4ca4986931c2eebf9895.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos-Compactor k\u00f6nnen aufgrund von <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/issues\/1919\">Rennbedingungen mit Sidecar<\/a><\/noindex>. Compactors nehmen Daten aus Object Storage und f\u00fcgen sie in gr\u00f6\u00dfere Datenst\u00fccke zusammen. Da die Compactors nicht mit den Sidecars synchronisiert sind, kann Folgendes passieren: Der Sidecar hat den Block noch nicht vollst\u00e4ndig geschrieben, der Compactor entscheidet, dass dieser Block vollst\u00e4ndig geschrieben ist. Der Compactor beginnt, ihn zu lesen. Er liest den Block nicht vollst\u00e4ndig und h\u00f6rt auf zu arbeiten. Siehe Details. <noindex><a rel=\"nofollow\" href=\"https:\/\/thanos.io\/proposals\/201901-read-write-operations-bucket.md\/\">hier<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7fd00e243009763781b54043dec1e94b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Der Store Gateway kann inkonsistente Daten aufgrund von Rennbedingungen zwischen dem Compactor und den Sidecars zur\u00fcckgeben. Hier ist es dasselbe, da der Store Gateway nicht mit den Compactors und Sidecars synchronisiert ist. Entsprechend k\u00f6nnen Rennzust\u00e4nde auftreten, bei denen der Store Gateway einen Teil der Daten nicht sieht oder zus\u00e4tzliche Daten sieht.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/85fcc811173dda1a42ac8d4e3b212f5e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Die Abfrage-Komponente in Thanos gibt standardm\u00e4\u00dfig ein teilweise Ergebnis zur\u00fcck, wenn einige Sidecar oder der Store Gateway derzeit nicht verf\u00fcgbar sind. Sie erhalten einen Teil der Daten und werden sogar nicht wissen, dass Sie nicht alle Daten erhalten haben. So funktioniert es standardm\u00e4\u00dfig. In einer \u00e4hnlichen Situation gibt VictoriaMetrics markierte Daten als teilweise zur\u00fcck. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a9e5a70bdcafae9b98545514ca7a7ff3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Im Gegensatz zu Thanos verliert VictoriaMetrics selten Daten. Selbst wenn die Verbindung von Prometheus zu VictoriaMetrics unterbrochen wird, ist das kein Problem, da Prometheus weiterhin neue eingehende Daten im Write Ahead Log speichert, dessen Umfang zwei Stunden betr\u00e4gt. Wenn Sie die Verbindung zu VictoriaMetrics innerhalb von zwei Stunden wiederherstellen, gehen keine Daten verloren. Prometheus <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/blog\/2019\/03\/25\/whats-new-in-prometheus-2.8-wal-based-remote-write\/\">kann Daten nach der Wiederherstellung der Verbindung zu VictoriaMetrics nachtr\u00e4glich schreiben.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/fa4be02056f7338416029bfd8f9d0214.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Im Gegensatz zu Thanos, das Daten erst nach zwei Stunden im Object Storage speichert, repliziert Prometheus Daten automatisch \u00fcber das Remote Write-Protokoll im Remote Storage, wie VictoriaMetrics. Der Verlust des lokalen Speichers in Prometheus bereitet Ihnen keine Sorgen. Sollte der lokale Speicher pl\u00f6tzlich verloren gehen, verlieren Sie im schlimmsten Fall nur die letzten Sekunden an Daten, die nicht rechtzeitig im Remote Storage gespeichert wurden.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a6e9b2322eb9b3e145603a6b9db1002d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kubernetes verwaltet den Cluster automatisch, im Gegensatz zu Thanos. Es ist schwierig, alle Komponenten von Thanos in einem einzigen Kubernetes-Cluster unterzubringen, im Gegensatz zu den Clusterkomponenten von VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/5b3d1586fe461a0c6f34de09fdd12845.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics bietet ein sehr einfaches Upgrade auf die neue Version. Sie stoppen einfach VictoriaMetrics, aktualisieren die Bin\u00e4rdateien und starten es neu. Bei einem Stopp durch das SIGINT-Signal f\u00fchren alle Bin\u00e4rdateien von VictoriaMetrics einen Graceful Shutdown durch. Sie speichern die erforderlichen Daten korrekt, schlie\u00dfen die eingehenden Verbindungen ordnungsgem\u00e4\u00df, um nichts zu verlieren. Daher verlieren Sie bei einem Upgrade nichts. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/96a52e2f0696172159919536efb68ad3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Bei VictoriaMetrics ist es sehr einfach, den Cluster zu erweitern. Sie f\u00fcgen einfach die erforderlichen Komponenten hinzu und arbeiten weiter. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/5f5e6ef78b322bb278e618a526f05e26.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Zu den Fallstricken in Thanos und VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/17808bc76a16e571b7e4fa1655964201.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos hat folgende Fallstricke. Prometheus muss Daten f\u00fcr die letzten zwei Stunden speichern. Wenn sie verloren gehen, verlieren Sie sie vollst\u00e4ndig, da sie noch nicht im Object Storage, wie S3, gespeichert wurden. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/81ca9135d2d97b95e9731dd1f5501859.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Das Store Gateway und der Compactor ben\u00f6tigen m\u00f6glicherweise viel Speicher, um mit gro\u00dfem Object Storage zu arbeiten, wenn viele kleine Dateien darin gespeichert sind. Je mehr Dateien und je gr\u00f6\u00dfer ihr Volumen sind, desto mehr Arbeitsspeicher ben\u00f6tigt das Store Gateway und der Compactor zur Speicherung von Metainformationen. Thanos hat viele Probleme in Bezug auf die <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/issues\/448\">Store Gateway und Compactor fallen bei mittleren Volumina an gespeicherten Daten.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/cf75315535439843c9bb32cf1175391b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos wird mit dem Versprechen beworben, dass er unendlich skalieren kann, basierend auf der Anzahl Ihrer Prometheus. In Wirklichkeit ist das nicht wahr. Da alle Anfragen \u00fcber die Query-Komponente laufen, die alle Store Gateway-Komponenten und alle Sidecar-Komponenten parallel abfragen muss, um Daten abzurufen und sie dann vorzuverarbeiten. Offensichtlich ist die Geschwindigkeit von Anfragen durch das langsamste Glied, sei es das langsamste Store Gateway oder das langsamste Sidecar, begrenzt. <\/p>\n<p><\/p>\n<p>Diese Komponenten k\u00f6nnen ungleichm\u00e4\u00dfig belastet sein. Zum Beispiel haben Sie ein Prometheus, das Millionen von Metriken pro Sekunde sammelt. Und es gibt Prometheus, das Tausende von Metriken pro Sekunde sammelt. Das Prometheus, das Millionen von Metriken pro Sekunde sammelt, belastet den Server, auf dem es l\u00e4uft, viel st\u00e4rker. Dementsprechend arbeitet der Sidecar dort langsamer. Und im Allgemeinen funktioniert alles dort langsam. Und die Abfrage-Komponente wird sehr langsam Daten daraus abrufen. Somit wird die Leistung Ihres gesamten Clusters durch diesen langsamen Sidecar limitiert.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/68070f629821a54bfd8ed934d67344fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Standardm\u00e4\u00dfig gibt Thanos teilweise Daten zur\u00fcck, wenn einige Sidecars und\/oder der Store Gateway nicht verf\u00fcgbar sind. Wenn Ihre Sidecars beispielsweise \u00fcber die ganze Welt verteilt in verschiedenen Rechenzentren sind, steigt die Wahrscheinlichkeit einer Verbindungsunterbrechung und der Nichterreichbarkeit von Komponenten erheblich. Entsprechend erhalten Sie in den meisten F\u00e4llen teilweise Daten, ohne es zu wissen.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6a1dea50e739314c23b4370c569b44a4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Auch VictoriaMetrics hat seine T\u00fccken. Die erste T\u00fccke ist die Option, die den Speicherverbrauch f\u00fcr den Cache von VictoriaMetrics begrenzt. Standardm\u00e4\u00dfig betr\u00e4gt dieser 60 % des Arbeitsspeichers auf der Maschine, auf der VictoriaMetrics ausgef\u00fchrt wird, oder 60 % des RAM des VictoriaMetrics-Pods in Kubernetes.<\/p>\n<p><\/p>\n<p>Wenn Sie diesen Wert falsch \u00e4ndern, k\u00f6nnen Sie die Leistung von VictoriaMetrics ruinieren. Wenn Sie beispielsweise einen zu niedrigen Wert setzen, k\u00f6nnen die Daten im Cache von VictoriaMetrics nicht mehr gespeichert werden. Das zwingt ihn dazu, zus\u00e4tzliche Arbeiten zu verrichten und die CPU zusammen mit der Festplatte zu belasten. Wenn Sie diesen Wert zu hoch setzen, erh\u00f6ht sich erstens die Wahrscheinlichkeit, dass VictoriaMetrics mit einem \"Out of Memory\"-Fehler abst\u00fcrzt, und zweitens bleibt dem Betriebssystem sehr wenig Arbeitsspeicher f\u00fcr den Dateicache. VictoriaMetrics ist auf den Dateicache f\u00fcr die Leistung angewiesen. Wenn nicht gen\u00fcgend vorhanden ist, kann die Festplattenlast erheblich steigen. Daher der Rat: \u00c4ndern Sie die Einstellung nur im \u00e4u\u00dfersten Notfall.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/f145833dcbe42c2b62545358cfb204e5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Die zweite Option ist der retentionPeriod \u2014 der Zeitraum, der standardm\u00e4\u00dfig auf 1 Monat eingestellt ist. Dies ist der Zeitraum, w\u00e4hrend dem VictoriaMetrics Daten speichert. Nach Ablauf dieser Zeit l\u00f6scht VictoriaMetrics die Daten.<\/p>\n<p><\/p>\n<p>Viele starten VictoriaMetrics ohne diesen Parameter und schreiben einen Monat lang Daten. Und dann fragen sie: Warum sind die Daten vom letzten Monat verschwunden? Weil der retentionPeriod standardm\u00e4\u00dfig 1 Monat betr\u00e4gt. Daher ist es wichtig, den richtigen retentionPeriod zu kennen und einzustellen. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/377e4e19b7dc5648dd16bff39f4f1651.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Lassen Sie uns die einzigartigen M\u00f6glichkeiten durchgehen.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/bca5529a95e94ada650e67dba063ada6.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos hat eine Funktion namens Downsampling: 5-Minuten- und Stundenintervalle, die oft <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/issues?utf8=%E2%9C%93&amp;q=is%3Aissue+is%3Aopen+downsampling\">nicht richtig funktionieren<\/a><\/noindex>. Wenn man danach googelt und die Issues auf GitHub ansieht, gibt es viele Probleme im Zusammenhang mit diesem Downsampling, dass es manchmal nicht richtig funktioniert oder nicht so, wie die Benutzer es erwarten.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/84f116767826d1174286b45ccf60dfe7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos hat eine Deduplication von Daten f\u00fcr Prometheus HA-Partnerschaften. Wenn zwei Prometheus-Instanzen dieselben Metriken von denselben Targets sammeln, f\u00fcgt Thanos diese in Object Storage ein. Thanos kann diese Daten korrekt deduplizieren, im Gegensatz zu VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/efd797cafcb339a4900f4d2cddd04638.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos hat eine Alert-Komponente, die auf dem Thanos-Schema basiert. Aber es wird <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/blob\/master\/docs\/components\/rule.md\">nicht empfohlen, sie in der Produktion zu verwenden.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/87d12ff7b3c33dae9a8eda7a2a95bce1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ein Vorteil von Thanos ist, dass der Code von Thanos und Prometheus identisch ist. Thanos und Prometheus wurden von denselben Entwicklern erstellt. Bei Verbesserungen in Thanos profitiert auch Prometheus.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/92435f15d58e83eb4d548a8bf5256c30.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Das Hauptmerkmal von VictoriaMetrics ist MetricsQL. Dies ist eine Erweiterung von VictoriaMetrics f\u00fcr PromQL, \u00fcber die ich beim letzten gro\u00dfen Monitoring-Meeting gesprochen habe.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/43a1618a397badc3df9d4eded19be1ec.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics unterst\u00fctzt das Einf\u00fcllen von Daten \u00fcber viele verschiedene Protokolle. VictoriaMetrics kann nicht nur Daten von Prometheus empfangen, sondern auch \u00fcber die Protokolle Influx, OpenTSDB und Graphite.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/b4bca4b255990f1af11a6ceaf42f46ef.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Daten von VictoriaMetrics ben\u00f6tigen normalerweise viel weniger Speicherplatz im Vergleich zu Thanos und Prometheus. <\/p>\n<p><\/p>\n<p>Wenn reale Daten aufgezeichnet werden, berichten die Benutzer von einer 2- bis 5-fachen Reduzierung der Datenmenge auf der Festplatte im Vergleich zu Prometheus und Thanos.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6aeab3c42b45dbd620d328fc43ce4bec.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ein weiterer Vorteil von VictoriaMetrics ist, dass sie auf Geschwindigkeit optimiert ist. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/89010a913f0d7b1388b6c62007c7835b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Lassen Sie uns \u00fcber die Kosten der Infrastruktur sprechen. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/65bd322bb2a64ac4188e29b79e54763a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ein Vorteil von Thanos ist, dass er Daten im Object Storage speichert, der vergleichsweise g\u00fcnstig ist.<\/p>\n<p><\/p>\n<p>Beim Speichern von Daten im Object Storage m\u00fcssen Sie die Schreib- und Lesevorg\u00e4nge bezahlen (10 USD pro Million Vorg\u00e4nge). Wenn Sie Daten in den Object Storage schreiben, zahlen Sie die Kosten Ihres Hostings f\u00fcr das Hochladen von Daten ins Internet, es sei denn, Ihr Cluster befindet sich in AWS \u2013 dort ist es kostenlos. Wenn Sie Daten abrufen, bezahlen Sie zwischen 10 und 230 USD pro 1 TB. Das kann erheblich sein, wenn Sie h\u00e4ufig historische Daten aus dem Thanos-Cluster anfordern.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7f1b32c75d49efa082201fa55b43f6bb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>F\u00fcr den Thanos-Cluster m\u00fcssen Server f\u00fcr die Komponenten Compact, Store Gateway und Query bezahlt werden, die viel Speicher und CPU f\u00fcr gro\u00dfe Datenmengen ben\u00f6tigen.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/19c90f30760e77f57a658e67507f4f98.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Die Kosten f\u00fcr VictoriaMetrics sind wie folgt. Wenn Daten auf GCE HDD-Laufwerken gespeichert werden, belaufen sich die Kosten auf 40 $ pro 1 TB. F\u00fcr VictoriaMetrics sind gew\u00f6hnliche HDDs ausreichend, es sind keine SSDs erforderlich, die f\u00fcnfmal teurer sind. VictoriaMetrics ist f\u00fcr HDDs optimiert.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/c7e922b4d97f353218d6edad7cdea584.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>F\u00fcr VictoriaMetrics werden Server f\u00fcr die Komponenten ben\u00f6tigt: entweder Single-Node oder f\u00fcr clusterf\u00e4hige Komponenten, die im Gegensatz zu Thanos-Komponenten viel weniger CPU und RAM ben\u00f6tigen \u2013 was entsprechend g\u00fcnstiger ist. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/aaf63cad75238ba19efb825376cf356c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Beispiele f\u00fcr Implementierungen. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/53ce0a68724c339d88ad769c18a2e5f9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ein Beispiel f\u00fcr die Implementierung von Thanos ist Gitlab. Gitlab l\u00e4uft vollst\u00e4ndig auf Thanos. Doch alles ist nicht so reibungslos. Wenn man sich ihre <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-com\/gl-infra\/infrastructure\/issues\/8647\">issues<\/a><\/noindex>, ansieht, kann man feststellen, dass sie st\u00e4ndig auf irgendwelche <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-com\/gl-infra\/infrastructure\/issues\/8413\">Betriebsprobleme mit Thanos<\/a><\/noindex>sto\u00dfen: Es fehlt an Speicher f\u00fcr die Store Gateway- oder Query-Komponenten. Sie m\u00fcssen st\u00e4ndig den Speicher erh\u00f6hen. <\/p>\n<p><\/p>\n<p>Deshalb steigen die Kosten zur L\u00f6sung dieser Probleme. <\/p>\n<p><\/p>\n<p>Die zweite Implementierung, die erfolgreicher sein k\u00f6nnte, ist das Unternehmen Improbable, das mit der Entwicklung von Thanos begonnen hat. Sie haben den Quellcode von Thanos ver\u00f6ffentlicht. Improbable ist ein Unternehmen, das sich mit der Entwicklung von Spiel-Engines besch\u00e4ftigt.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/3a1279cae3cfc7e94c2eccfc0972f06e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00d6ffentliche Beispiele f\u00fcr die Implementierung von VictoriaMetrics sind:<\/p>\n<p><\/p>\n<ul>\n<li>wix.com, ein Website-Builder<\/li>\n<li>Adidas implementiert VictoriaMetrics und hielt sogar einen Vortrag auf der letzten PromCon 2019<\/li>\n<li>TrafficStars \u2013 Ad-Netzwerk<\/li>\n<li>Seznam.cz \u2013 eine beliebte tschechische Suchmaschine.<\/li>\n<\/ul>\n<p><\/p>\n<p>Und dann gab es einige No-Name-Unternehmen, die ich jetzt nicht nennen kann. Sie haben nicht zugestimmt. <\/p>\n<p><\/p>\n<ul>\n<li>Ein gro\u00dfer Spieleentwickler. Gr\u00f6\u00dfer als Improbable.<\/li>\n<li>Ein gro\u00dfer Anbieter von Grafiksoftware.<\/li>\n<li>Eine gro\u00dfe russische Bank.<\/li>\n<li>Ein europ\u00e4ischer Hersteller von Windkraftanlagen, der VictoriaMetrics erfolgreich getestet hat. Dieser Hersteller implementiert VictoriaMetrics zur \u00dcberwachung von Daten, die von Windkraftanlagen mit einer Geschwindigkeit von 50 Proben pro Sekunde pro Sensor erhalten werden. Jede Windkraftanlage hat mehrere Hundert Sensoren. Sie haben mehrere Hundert Windkraftanlagen.<\/li>\n<li>Die russischen Fluggesellschaften, die VictoriaMetrics einf\u00fchren m\u00f6chten, es aber einfach nicht schaffen. Wir befinden uns in der Vertragsphase mit ihnen.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/040affc4d56712783db61ee3b0ec509e.jpg\" style=\"display:block;margin: 0 auto;\" \/>Fazit.<\/p>\n<p><\/p>\n<p>VictoriaMetrics und Thanos l\u00f6sen \u00e4hnliche Aufgaben, aber auf unterschiedliche Weise:<\/p>\n<p><\/p>\n<ul>\n<li>Globale Abfrageansicht<\/li>\n<li>Horizontale Skalierung <\/li>\n<li>Willk\u00fcrliche Aufbewahrung<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/af6285e8f6f68f373da1ebc552104f51.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Danke.<\/p>\n<p><\/p>\n<p>Wir freuen uns auf Ihr Kommen auf unserem <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/VictoriaMetrics_ru1\">Telegram-Kanal<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/c45b2a3b6e541e7e6cd580629e418c35.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p class=\"for_users_only_msg\">Nur registrierte Benutzer k\u00f6nnen an der Umfrage teilnehmen. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Bitte einloggen<\/a><\/noindex>.<\/p>\n<h2 class=\"default-block__polling-title\">Was verwenden Sie als langfristigen Speicher f\u00fcr Prometheus?<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">35,3%<\/strong>Thanos6<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">0,0%<\/strong>Cortex0<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">0,0%<\/strong>M3DB0<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent  poll-result__data-percent_winner\">41,2%<\/strong>VictoriaMetrics7<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">23,5%<\/strong>anderes4<\/p>\n<\/li>\n<\/ul>\n<p>    17 Benutzer haben abgestimmt. 16 Benutzer haben sich enthalten.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/482272\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041d\u0438\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u0441 Big Monitoring Meetup 4. Prometheus \u2013 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439 \u043e\u0431 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044f\u0445 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441\u0438\u0441\u0442\u0435\u043c. \u0412 \u0434\u043e\u043a\u043b\u0430\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 Thanos \u0438 VictoriaMetrics \u2014 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0434\u043b\u044f \u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-54601","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f Prometheus: Thanos vs VictoriaMetrics | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-29T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:02:38+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Wir w\u00e4hlen ein Datenspeicher f\u00fcr Prometheus: Thanos vs VictoriaMetrics | ProHoster","description":"Hallo zusammen.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f Prometheus: Thanos vs VictoriaMetrics | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442.","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-29T21:00:00+00:00","article:modified_time":"2020-02-18T11:02:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54601","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 12:01:24","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:02:45","updated":"2026-01-24 12:01:24","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/54601","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=54601"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/54601\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=54601"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=54601"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=54601"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}