{"id":81888,"date":"2020-05-17T13:42:23","date_gmt":"2020-05-17T11:42:23","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus"},"modified":"2020-05-17T13:42:23","modified_gmt":"2020-05-17T11:42:23","slug":"thanos-masshtabiruemyj-prometheus","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus","title":{"rendered":"Thanos \u2014 skalierbarer Prometheus","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b><i>Die \u00dcbersetzung des Artikels wurde speziell f\u00fcr die Studierenden des Kurses erstellt. <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/jYQP\/\">\u201eDevOps-Praktiken und Werkzeuge\u201c<\/a><\/noindex>.<\/i><\/b><\/p>\n<p>\n<i><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/fabxc\">Fabian Reinartz<\/a><\/noindex> \u2014 Softwareentwickler, Go-Enthusiast und leidenschaftlicher Probleml\u00f6ser. Er ist auch Maintainer von Prometheus und Mitbegr\u00fcnder von Kubernetes SIG Instrumentation. Zuvor war er Production Engineer bei SoundCloud und leitete die Monitoring-Gruppe bei CoreOS. Aktuell arbeitet er bei Google.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Bplotka\">Bartek Plotka<\/a><\/noindex> \u2014 Infrastruktur-Ingenieur bei Improbable. Begeistert sich f\u00fcr neue Technologien und Herausforderungen in verteilten Systemen. Er hat Erfahrung im Low-Level-Programmieren bei Intel, war Contributor bei Mesos und verf\u00fcgt \u00fcber globale SRE-Praxis bei Improbable. Er verbessert die Welt der Mikrodienste. Seine drei Leidenschaften: Golang, Open Source und Volleyball.<\/i><\/p>\n<p>Wenn Sie unser Flaggschiff-Produkt SpatialOS betrachten, k\u00f6nnen Sie erraten, dass Improbable eine hochdynamische Cloud-Infrastruktur globaler Ma\u00dfst\u00e4be mit Dutzenden von Kubernetes-Clustern ben\u00f6tigt. Wir geh\u00f6rten zu den ersten, die ein \u00dcberwachungssystem einf\u00fchrten <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/\">Prometheus<\/a><\/noindex>. Prometheus kann Millionen von Metriken in Echtzeit \u00fcberwachen und wird mit einer m\u00e4chtigen Abfragesprache geliefert, mit der die ben\u00f6tigten Informationen abgerufen werden k\u00f6nnen.<\/p>\n<p>Die Einfachheit und Zuverl\u00e4ssigkeit von Prometheus ist eines seiner Hauptmerkmale. Sobald jedoch eine bestimmte Skalierung erreicht ist, sind einige Nachteile aufgetreten. Um diese Probleme zu l\u00f6sen, haben wir <noindex><a rel=\"nofollow\" href=\"https:\/\/thanos.io\/\">Thanos<\/a><\/noindex> \u2014 ein Open-Source-Projekt von Improbable, das einen nahtlosen \u00dcbergang bestehender Prometheus-Cluster zu einem einheitlichen Monitoring-System mit unbegrenztem Speicher f\u00fcr historische Daten erm\u00f6glicht. Thanos ist auf Github verf\u00fcgbar. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/improbable-eng\/thanos\">hier<\/a><\/noindex>.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/gdk.improbable.io\/l\/169082\/2020-01-10\/2j9yxq\">Bleiben Sie \u00fcber die neuesten Nachrichten von Improbable informiert.<\/a><\/noindex><\/p>\n<h2>Unsere Ziele mit Thanos<\/h2>\n<p>\nBei einer bestimmten Skalierung treten Probleme auf, die \u00fcber die M\u00f6glichkeiten von Vanilla-Prometheus hinausgehen. Wie kann man Petabytes historischer Daten zuverl\u00e4ssig und kosteneffektiv speichern? Ist das m\u00f6glich, ohne die Antwortzeiten von Abfragen zu beeintr\u00e4chtigen? Kann man auf alle Metriken, die sich auf verschiedenen Prometheus-Servern befinden, mit einer einzigen API-Anfrage zugreifen? Gibt es eine M\u00f6glichkeit, replizierte Daten, die mit Prometheus HA gesammelt wurden, zu konsolidieren?<\/p>\n<p>Um diese Fragen zu beantworten, haben wir Thanos entwickelt. In den folgenden Abschnitten beschreiben wir, wie wir diese Herausforderungen angegangen sind und erl\u00e4utern die Ziele, die wir verfolgt haben.<\/p>\n<h4>Datenanfrage von mehreren Prometheus-Instanzen (globale Abfrage)<\/h4>\n<p>\nPrometheus bietet einen funktionalen Ansatz zum Sharding. Selbst ein einzelner Prometheus-Server gew\u00e4hrleistet ausreichende Skalierbarkeit, um die Benutzer von den Komplikationen des horizontalen Shardings in nahezu allen Nutzungsszenarien zu befreien.<\/p>\n<p>Obwohl dies ein hervorragendes Bereitstellungsmodell ist, wird oft der Zugang zu Daten auf verschiedenen Prometheus-Servern \u00fcber eine einheitliche API oder UI ben\u00f6tigt \u2013 die globale Ansicht. Nat\u00fcrlich k\u00f6nnen mehrere Abfragen in einem Grafana-Panel angezeigt werden, jedoch kann jede Abfrage nur auf einem Prometheus-Server ausgef\u00fchrt werden. Mit Thanos hingegen k\u00f6nnen Sie Daten von mehreren Prometheus-Servern abrufen und aggregieren, da alle \u00fcber einen einzigen Endpunkt zug\u00e4nglich sind.<\/p>\n<p>Fr\u00fcher, um eine globale Ansicht in Improbable zu erhalten, organisierten wir unsere Prometheus-Instanzen in einer mehrstufigen <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/prometheus\/prometheus\/blob\/master\/docs\/federation.md#hierarchical-federation\">Hierarchischen F\u00f6deration<\/a><\/noindex>. Dies bedeutete die Erstellung eines Meta-Servers f\u00fcr Prometheus, der eine Reihe von Metriken von jedem \u201eLeaf\u201c-Server sammelt.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 skalierbarer Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/82590f017734f5dc1038a0e13f772d2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDieser Ansatz hat sich als problematisch erwiesen. Er f\u00fchrte zu einer komplizierten Konfiguration, einer zus\u00e4tzlichen potenziellen Fehlerquelle und zur Anwendung komplexer Regeln, um der federierten Endpunkt nur die ben\u00f6tigten Daten zur Verf\u00fcgung zu stellen. Au\u00dferdem erm\u00f6glicht eine solche Federation keine echte globale Ansicht, da nicht alle Daten aus einer einzigen API-Anfrage verf\u00fcgbar sind.<\/p>\n<p>Dies steht in engem Zusammenhang mit der einheitlichen Darstellung von Daten, die auf hochverf\u00fcgbaren (High-Availability, HA) Prometheus-Servern gesammelt werden. Das HA-Modell von Prometheus sammelt die Daten unabh\u00e4ngig zweimal, was so einfach ist, dass es nicht einfacher sein k\u00f6nnte. Es w\u00e4re jedoch viel praktischer, eine kombinierte und deduplizierte Darstellung beider Datenstr\u00f6me zu verwenden.<\/p>\n<p>Ein hochverf\u00fcgbares Server-Setup f\u00fcr Prometheus ist von entscheidender Bedeutung. Bei Improbable nehmen wir das dauerhafte Monitoring der Daten sehr ernst, jedoch stellt ein einzelner Prometheus-Instanz in einem Cluster einen Ausfallpunkt dar. Jeder Konfigurationsfehler oder Hardwareausfall kann potenziell zum Verlust wichtiger Daten f\u00fchren. Selbst ein einfaches Deployment kann zu kleinen Unterbrechungen im Metriksammeln f\u00fchren, da ein Neustart deutlich l\u00e4nger als der Scraping-Intervall dauern kann.<\/p>\n<h4>Zuverl\u00e4ssige Speicherung historischer Daten<\/h4>\n<p>\nEine kosteng\u00fcnstige, schnelle und langfristige Speicherung von Metriken ist unser Traum (und der vieler Prometheus-Anwender). Bei Improbable waren wir gezwungen, den Metrikspeicherzeitraum auf neun Tage (f\u00fcr Prometheus 1.8) einzustellen. Dies setzt uns offensichtliche Grenzen, wie weit wir in die Vergangenheit blicken k\u00f6nnen.<\/p>\n<p>Prometheus 2.0 ist in dieser Hinsicht besser geworden, da die Anzahl der Zeitserien nicht mehr die Gesamtleistung des Servers beeintr\u00e4chtigt (siehe <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=nDalewt4BOw\">die KubeCon-Hauptrede \u00fcber Prometheus 2)<\/a><\/noindex>). Dennoch speichert Prometheus Daten auf der lokalen Festplatte. Obwohl eine hochgradig effiziente Datenkompression die Nutzung des lokalen SSD erheblich reduzieren kann, gibt es letztendlich dennoch eine Begrenzung f\u00fcr die Menge der speicherbaren historischen Daten.<\/p>\n<p>Dar\u00fcber hinaus k\u00fcmmern wir uns bei Improbable um Zuverl\u00e4ssigkeit, Einfachheit und Kosten. Gro\u00dfe lokale Festplatten sind schwieriger zu handhaben und zu sichern. Sie sind teurer und erfordern mehr Werkzeuge f\u00fcr Backups, was zu \u00fcberm\u00e4\u00dfiger Komplexit\u00e4t f\u00fchrt.<\/p>\n<h4>Downsampling<\/h4>\n<p>\nSobald wir begannen, mit historischen Daten zu arbeiten, wurde uns bewusst, dass es grundlegende Herausforderungen im Zusammenhang mit O-Notation gibt, die Anfragen immer langsamer machen, wenn wir mit Daten \u00fcber Wochen, Monate und Jahre arbeiten.<\/p>\n<p>Eine Standardl\u00f6sung f\u00fcr dieses Problem w\u00e4re <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Decimation_(signal_processing)\">Downsampling<\/a><\/noindex> (Downsampling) \u2013 die Reduktion der Abtastrate eines Signals. Durch die Absenkung der Abtastrate k\u00f6nnen wir den \u201eMa\u00dfstab\u201c auf einen gr\u00f6\u00dferen Zeitbereich reduzieren und die Anzahl der Proben beibehalten, was die Reaktionsf\u00e4higkeit der Anfragen bewahrt.<\/p>\n<p>Das Herunterrechnen alter Daten ist eine unvermeidliche Anforderung jeder langfristigen Speichl\u00f6sung und geht \u00fcber die Standardfunktionen von Prometheus hinaus.<\/p>\n<h4>Zus\u00e4tzliche Ziele<\/h4>\n<p>\nEines der urspr\u00fcnglichen Ziele des Thanos-Projekts war die nahtlose Integration mit bestehenden Prometheus-Installationen. Ein weiteres Ziel war die erleichterte Nutzung mit minimalem Zugangshindernis. Alle Abh\u00e4ngigkeiten sollten sowohl f\u00fcr kleine als auch f\u00fcr gro\u00dfe Benutzer leicht erf\u00fcllbar sein, was auch eine geringe Grundkosteneinbeziehung bedeutet.<\/p>\n<h2>Thanos-Architektur<\/h2>\n<p>\nNachdem wir die Ziele im vorherigen Abschnitt aufgelistet haben, wollen wir uns diesen widmen und sehen, wie Thanos diese Herausforderungen bew\u00e4ltigt.<\/p>\n<h4>Globale Ansicht<\/h4>\n<p>\nUm eine globale Ansicht \u00fcber bestehende Prometheus-Instanzen zu erhalten, m\u00fcssen wir einen einheitlichen Einstiegspunkt f\u00fcr Anfragen mit allen Servern verkn\u00fcpfen. Genau das \u00fcbernimmt die Thanos-Komponente. <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/blog\/2015\/06\/the-distributed-system-toolkit-patterns#example-1-sidecar-containers\">Sidecar<\/a><\/noindex>. Es wird neben jedem Prometheus-Server bereitgestellt und fungiert als Proxy, der lokale Prometheus-Daten \u00fcber die gRPC-Schnittstelle des Store API bereitstellt, wodurch das Abfragen von Zeitreihendaten nach Labels und Zeitbereichen erm\u00f6glicht wird.<\/p>\n<p>Auf der anderen Seite steht die horizontal skalierbare Querier-Komponente ohne Zustandsspeicherung, die etwas mehr tut, als nur auf PromQL-Anfragen \u00fcber die standardm\u00e4\u00dfige Prometheus HTTP API zu antworten. Die Komponenten Querier, Sidecar und andere Thanos interagieren \u00fcber <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Gossip_protocol\">das Gossip-Protokoll.<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 skalierbarer Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/fbcf1e756f5da4e8529f17abd4cedd00.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<ol>\n<li>Wenn der Querier eine Anfrage erh\u00e4lt, verbindet er sich mit dem entsprechenden Store API-Server, also unseren Sidecar-Komponenten, und erh\u00e4lt Zeitreihendaten von den entsprechenden Prometheus-Servern.<\/li>\n<li>Anschlie\u00dfend kombiniert er die Antworten und f\u00fchrt die PromQL-Anfrage aus. Der Querier kann sowohl nicht \u00fcberlappende Daten als auch duplizierte Daten von HA-Prometheus-Servern zusammenf\u00fchren.<\/li>\n<\/ol>\n<p>\nDadurch l\u00f6sen wir den Hauptteil unseres Puzzles \u2013 das Zusammenf\u00fchren von Daten von isolierten Prometheus-Servern in eine einheitliche Ansicht. Tats\u00e4chlich kann Thanos nur f\u00fcr diese Funktionalit\u00e4t verwendet werden. Es sind keine \u00c4nderungen an bestehenden Prometheus-Servern erforderlich!<\/p>\n<h4>Unbegrenzte Speicherfrist!<\/h4>\n<p>\nFr\u00fcher oder sp\u00e4ter m\u00f6chten wir jedoch Daten speichern, die \u00fcber die \u00fcbliche Aufbewahrungszeit von Prometheus hinausgehen. F\u00fcr die Speicherung historischer Daten haben wir ein Objektspeicher gew\u00e4hlt. Dieser ist in jeder Cloud sowie in lokalen Rechenzentren weit verbreitet und sehr kosteng\u00fcnstig. Dar\u00fcber hinaus ist praktisch jeder Objektspeicher \u00fcber das bekannte S3-API zug\u00e4nglich.<\/p>\n<p>Prometheus schreibt Daten etwa alle zwei Stunden aus dem Arbeitsspeicher auf die Festplatte. Der Block gespeicherter Daten enth\u00e4lt alle Daten f\u00fcr einen festen Zeitraum und ist unver\u00e4nderlich. Das ist sehr praktisch, da der Thanos Sidecar einfach das Prometheus-Datenverzeichnis \u00fcberwachen und bei Erscheinen neuer Bl\u00f6cke diese in die Objektspeicher-Buckets hochladen kann.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 skalierbarer Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/2be803d8d7e0ce9a5ffa441b7778a40b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDie Speicherung im Objektspeicher sofort nach der Aufzeichnung auf die Festplatte erm\u00f6glicht auch eine Vereinfachung des Scrapers (Prometheus und Thanos Sidecar). Das erleichtert die Wartung, die Kosten und das Design des Systems.<\/p>\n<p>Wie Sie sehen, ist die Datensicherung sehr einfach zu realisieren. Aber wie sieht es mit der Abfrage von Daten im Objektspeicher aus?<\/p>\n<p>Die Thanos Store-Komponente fungiert als Proxy f\u00fcr den Zugriff auf Daten aus dem Objektspeicher. \u00c4hnlich wie der Thanos Sidecar ist sie Teil des Gossip-Clusters und implementiert die Store API. So k\u00f6nnen bestehende Querier sie als Sidecar betrachten, als eine weitere Quelle f\u00fcr Zeitreihendaten \u2013 es sind keine speziellen Konfigurationen erforderlich.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 skalierbarer Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/5a437ae1bf8a6f79b8d24aeb9dde2d17.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDie Bl\u00f6cke der Zeitreihendaten bestehen aus mehreren gro\u00dfen Dateien. Eine bedarfsorientierte Bereitstellung w\u00e4re ziemlich ineffizient, und lokale Caches w\u00fcrden enorme Mengen an Speicher und Festplattenspeicher erfordern.<\/p>\n<p>Stattdessen wei\u00df das Store Gateway, wie es mit dem Speicherformat von Prometheus umgeht. Dank eines intelligenten Anfrageplaners und der Caching-Mechanismen, die nur die ben\u00f6tigten Indexpunkte der Bl\u00f6cke speichern, konnten komplexe Anfragen auf ein Minimum an HTTP-Anfragen an die Objektspeicherdateien reduziert werden. Dadurch l\u00e4sst sich die Anzahl der Anfragen um vier bis sechs Gr\u00f6\u00dfenordnungen verringern, und es wird eine Reaktionszeit erreicht, die insgesamt schwer von der Abfrage von Daten auf einem lokalen SSD zu unterscheiden ist.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 skalierbarer Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/ebcbe1ee16dbac18daa474e7cb4b12b2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWie in der oben stehenden Grafik dargestellt, reduziert Thanos Querier die Kosten f\u00fcr eine Abfrage an Speicherdaten erheblich, indem es das Prometheus-Speicherformat verwendet und verwandte Daten nahe beieinander platziert. Durch diesen Ansatz k\u00f6nnen wir zahlreiche Einzelabfragen in eine minimalistische Anzahl von Bulk-Operationen b\u00fcndeln.<\/p>\n<h4>Verdichtung und Downsampling<\/h4>\n<p>\nSobald ein neuer Block von Zeitreihendaten erfolgreich in den Objektspeicher geladen wurde, betrachten wir ihn als \"historische\" Daten, die sofort \u00fcber das Store Gateway verf\u00fcgbar sind.<\/p>\n<p>Nach einiger Zeit sammeln sich jedoch Bl\u00f6cke aus einer Quelle (Prometheus mit Sidecar) an und nutzen das volle Potenzial der Indizierung nicht mehr aus. Um dieses Problem zu l\u00f6sen, haben wir eine weitere Komponente namens Compactor eingef\u00fchrt. Diese wendet einfach den lokalen Verdichtungsmechanismus von Prometheus auf die historischen Daten im Objektspeicher an und kann als einfaches, periodisches Batch-Job ausgef\u00fchrt werden.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 skalierbarer Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/c7dd83dab074a4c5f93069a4bc152342.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDank effizienter Kompression stellt eine langanhaltende Abfrage im Speicher hinsichtlich der Datengr\u00f6\u00dfe kein Problem dar. Allerdings wird die potenzielle Kosten f\u00fcr das Entpacken von Milliarden von Werten und das Durchlaufen dieser durch den Abfrage-Handler unweigerlich zu einem drastischen Anstieg der Ausf\u00fchrungszeit f\u00fchren. Andererseits, da jedem Pixel auf dem Bildschirm Hunderte von Datenpunkten zugeordnet sind, wird es unm\u00f6glich, die Daten in voller Aufl\u00f6sung zu visualisieren. Daher ist das Downsampling nicht nur m\u00f6glich, sondern f\u00fchrt auch nicht zu einem merklichen Verlust an Genauigkeit. <\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 skalierbarer Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/5f36a05aba3fbffa905b6a8da482ab3d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nF\u00fcr das Downsampling aggregiert Compactor kontinuierlich Daten mit einer Aufl\u00f6sung von f\u00fcnf Minuten und einer Stunde. F\u00fcr jedes unbearbeitete Fragment, das mit TSDB XOR-Kompression kodiert wurde, werden verschiedene Typen aggregierter Daten gespeichert, wie zum Beispiel min, max oder sum f\u00fcr einen Block. Dies erm\u00f6glicht es dem Querier, automatisch das Aggregat auszuw\u00e4hlen, das f\u00fcr die jeweilige PromQL-Abfrage geeignet ist. <\/p>\n<p>Um Daten mit geringerer Genauigkeit zu verwenden, ben\u00f6tigt der Benutzer keine spezielle Konfiguration. Querier wechselt automatisch zwischen verschiedenen Aufl\u00f6sungen und unbearbeiteten Daten, w\u00e4hrend der Benutzer hinein- und herauszoomt. Auf Wunsch kann der Benutzer dies direkt \u00fcber den Parameter \u201estep\u201c in der Anfrage steuern. <\/p>\n<p>Da die Kosten f\u00fcr die Speicherung von einem GB gering sind, speichert Thanos standardm\u00e4\u00dfig die Originaldaten sowie Daten mit einer Aufl\u00f6sung von f\u00fcnf Minuten und einer Stunde. Es ist nicht erforderlich, die Originaldaten zu l\u00f6schen.<\/p>\n<h2>Recording-Regeln<\/h2>\n<p>\nSelbst mit Thanos sind Recording-Regeln ein wesentlicher Bestandteil des Monitoring-Stacks. Sie reduzieren die Komplexit\u00e4t, die Latenz und die Kosten von Abfragen. Zudem sind sie n\u00fctzlich f\u00fcr Benutzer, um aggregierte Daten zu Metriken zu erhalten. Thanos basiert auf Vanilla-Instanzen von Prometheus, daher ist es durchaus zul\u00e4ssig, Recording- und Alerting-Regeln auf einem bestehenden Prometheus-Server zu speichern. In einigen F\u00e4llen kann dies jedoch unzureichend sein:<\/p>\n<ul>\n<li>Globale Alerts und Regeln (z. B. Benachrichtigung, wenn der Dienst auf mehr als zwei von drei Clustern nicht funktioniert).<\/li>\n<li>Regel f\u00fcr Daten au\u00dferhalb des lokalen Speichers.<\/li>\n<li>Das Bestreben, alle Regeln und Warnungen an einem Ort zu speichern.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Thanos \u2014 skalierbarer Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/ab48e044b952bd891932b99e248120fa.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nF\u00fcr all diese F\u00e4lle umfasst Thanos ein separates Modul namens Ruler, das Regeln und Warnungen \u00fcber Thanos Queries berechnet. Durch die weit bekannte StoreAPI kann der Query-Knoten auf frisch berechnete Metriken zugreifen. Diese werden sp\u00e4ter auch im Objektspeicher gespeichert und sind \u00fcber den Store Gateway verf\u00fcgbar.<\/p>\n<h2>Die Leistung von Thanos<\/h2>\n<p>\nThanos ist flexibel genug, um an Ihre Anforderungen angepasst zu werden. Dies ist besonders hilfreich bei der Migration von einem einfachen Prometheus. Lassen Sie uns an einem kleinen Beispiel schnell wiederholen, was wir \u00fcber die Komponenten von Thanos gelernt haben. So \u00fcbertragen Sie Ihr einfaches Prometheus in die Welt der \u201eunbegrenzten Metrikspeicherung\u201c:<\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 skalierbarer Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/f6ee4185af57d2a1869890014e6a0062.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<ol>\n<li>F\u00fcgen Sie Thanos Sidecar zu Ihren Prometheus-Servern hinzu \u2013 beispielsweise als benachbarten Container im Kubernetes-Pod.<\/li>\n<li>Bereitstellen mehrerer Replikate von Thanos Querier, um auf Daten zugreifen zu k\u00f6nnen. An diesem Punkt ist es einfach, das Gossip zwischen Scraper und Querier einzurichten. Verwenden Sie zur \u00dcberpr\u00fcfung der Interaktion der Komponenten die Metrik 'thanos_cluster_members'.<\/li>\n<\/ol>\n<p>\nNur diese beiden Schritte sind erforderlich, um eine globale Sicht und nahtlose Daten-Reduzierung von potenziellen HA-Replikaten in Prometheus sicherzustellen! Verbinden Sie einfach Ihre Dashboards mit dem HTTP-Querier-Endpunkt oder verwenden Sie die Thanos UI direkt.<\/p>\n<p>Wenn Sie jedoch eine Sicherung der Metriken und eine langfristige Speicherung ben\u00f6tigen, m\u00fcssen Sie drei weitere Schritte ausf\u00fchren:<\/p>\n<ol>\n<li>Erstellen Sie einen Bucket in AWS S3 oder GCS. Richten Sie den Sidecar ein, um Daten in diese Buckets zu kopieren. Damit k\u00f6nnen Sie die lokale Datenspeicherung minimieren.<\/li>\n<li>Implementieren Sie das Store Gateway und verbinden Sie es mit dem bestehenden Gossip-Cluster. Jetzt k\u00f6nnen Sie Anfragen an die Daten in den Backups senden!<\/li>\n<li>Setzen Sie den Compactor ein, um die Effizienz der Abfragen \u00fcber l\u00e4ngere Zeitr\u00e4ume hinweg durch Verdichtung und Downsampling zu steigern.<\/li>\n<\/ol>\n<p>\nWenn Sie mehr erfahren m\u00f6chten, schauen Sie sich gerne unsere <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/improbable-eng\/thanos\/tree\/master\/kube\">Kubernetes-Manifestbeispiele<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/improbable-eng\/thanos\/blob\/master\/docs\/getting-started.md\">Erste Schritte<\/a><\/noindex>!<\/p>\n<p>In nur f\u00fcnf Schritten haben wir Prometheus in ein zuverl\u00e4ssiges \u00dcberwachungssystem mit globaler Sicht, unbegrenzter Speicherdauer und potenzieller hoher Verf\u00fcgbarkeit der Metriken verwandelt.<\/p>\n<h3>Pull-Request: Wir brauchen Sie!<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/improbable-eng\/thanos\">Thanos<\/a><\/noindex> Von Anfang an war es ein Open-Source-Projekt. Die nahtlose Integration mit Prometheus und die M\u00f6glichkeit, nur einen Teil von Thanos zu verwenden, machen es zu einer hervorragenden Wahl f\u00fcr die skalierbare System\u00fcberwachung ohne unn\u00f6tige Komplikationen.<\/p>\n<p>Wir freuen uns immer \u00fcber GitHub Pull Requests und Issues. Z\u00f6gern Sie nicht, uns \u00fcber GitHub Issues oder Slack zu kontaktieren, wenn Sie Fragen oder Feedback haben oder Ihre Erfahrungen teilen m\u00f6chten.<noindex><a rel=\"nofollow\" href=\"https:\/\/join.slack.com\/t\/improbable-eng\/shared_invite\/enQtMzQ1ODcyMzQ5MjM4LWY5ZWZmNGM2ODc5MmViNmQ3ZTA3ZTY3NzQwOTBlMTkzZmIxZTIxODk0OWU3YjZhNWVlNDU3MDlkZGViZjhkMjc\"> Improbable-eng #thanos<\/a><\/noindex>, falls Sie Fragen oder Anregungen haben oder Ihre Erfahrungen mit uns teilen m\u00f6chten! Wenn Ihnen gef\u00e4llt, was wir bei Improbable tun, z\u00f6gern Sie nicht, uns zu kontaktieren \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/improbable.io\/careers\/\">wir haben immer offene Stellen<\/a><\/noindex>!<\/p>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/jYQP\/\">Weitere Informationen zum Kurs erhalten.<br \/>\n<\/a><\/noindex><\/p>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/502122\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00abDevOps \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b\u00bb. \u0424\u0430\u0431\u0438\u0430\u043d \u0420\u0435\u0439\u043d\u0430\u0440\u0446 (Fabian Reinartz) \u2014 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f, \u0444\u0430\u043d\u0430\u0442 Go \u0438 \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u044c \u0440\u0435\u0448\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438. \u0422\u0430\u043a\u0436\u0435 \u043e\u043d \u043c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 Prometheus \u0438 \u0441\u043e\u0443\u0447\u0440\u0435\u0434\u0438\u0442\u0435\u043b\u044c Kubernetes SIG instrumentation. \u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u043e\u043d \u0431\u044b\u043b production-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u043c \u0432 SoundCloud \u0438 \u0432\u043e\u0437\u0433\u043b\u0430\u0432\u043b\u044f\u043b \u0433\u0440\u0443\u043f\u043f\u0443 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0432 CoreOS. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 Google. \u0411\u0430\u0440\u0442\u0435\u043a [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81889,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81888","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00abDevOps \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b\u00bb. \u0424\u0430\u0431\u0438\u0430\u043d \u0420\u0435\u0439\u043d\u0430\u0440\u0446 (Fabian Reinartz) \u2014 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f, \u0444\u0430\u043d\u0430\u0442 Go \u0438 \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u044c \u0440\u0435\u0448\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438. \u0422\u0430\u043a\u0436\u0435 \u043e\u043d \u043c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 Prometheus \u0438 \u0441\u043e\u0443\u0447\u0440\u0435\u0434\u0438\u0442\u0435\u043b\u044c Kubernetes SIG instrumentation. \u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u043e\u043d \u0431\u044b\u043b production-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u043c \u0432 SoundCloud \u0438 \u0432\u043e\u0437\u0433\u043b\u0430\u0432\u043b\u044f\u043b \u0433\u0440\u0443\u043f\u043f\u0443 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0432 CoreOS. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 Google. \u0411\u0430\u0440\u0442\u0435\u043a\" \/>\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\/thanos-masshtabiruemyj-prometheus\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\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\udd47Thanos \u2014 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0439 Prometheus | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00abDevOps \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b\u00bb. \u0424\u0430\u0431\u0438\u0430\u043d \u0420\u0435\u0439\u043d\u0430\u0440\u0446 (Fabian Reinartz) \u2014 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f, \u0444\u0430\u043d\u0430\u0442 Go \u0438 \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u044c \u0440\u0435\u0448\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438. \u0422\u0430\u043a\u0436\u0435 \u043e\u043d \u043c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 Prometheus \u0438 \u0441\u043e\u0443\u0447\u0440\u0435\u0434\u0438\u0442\u0435\u043b\u044c Kubernetes SIG instrumentation. \u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u043e\u043d \u0431\u044b\u043b production-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u043c \u0432 SoundCloud \u0438 \u0432\u043e\u0437\u0433\u043b\u0430\u0432\u043b\u044f\u043b \u0433\u0440\u0443\u043f\u043f\u0443 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0432 CoreOS. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 Google. \u0411\u0430\u0440\u0442\u0435\u043a\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus\" \/>\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=\"2020-05-17T11:42:23+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-17T11:42:23+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\udd47Thanos \u2013 skalierbares Prometheus | ProHoster","description":"Die \u00dcbersetzung des Artikels wurde speziell f\u00fcr die Studierenden des Kurses \u201eDevOps-Praktiken und -Tools\u201c angefertigt. Fabian Reinartz ist Softwareentwickler, Go-Enthusiast und liebt es, komplexe Probleme zu l\u00f6sen. Au\u00dferdem ist er Maintainer von Prometheus und Mitbegr\u00fcnder des Kubernetes SIG Instrumentation. Zuvor war er Produktionsingenieur bei SoundCloud und leitete das \u00dcberwachungsteam bei CoreOS. Momentan arbeitet er bei Google.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus","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\udd47Thanos \u2014 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0439 Prometheus | ProHoster","og:description":"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00abDevOps \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b\u00bb. \u0424\u0430\u0431\u0438\u0430\u043d \u0420\u0435\u0439\u043d\u0430\u0440\u0446 (Fabian Reinartz) \u2014 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f, \u0444\u0430\u043d\u0430\u0442 Go \u0438 \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u044c \u0440\u0435\u0448\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438. \u0422\u0430\u043a\u0436\u0435 \u043e\u043d \u043c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 Prometheus \u0438 \u0441\u043e\u0443\u0447\u0440\u0435\u0434\u0438\u0442\u0435\u043b\u044c Kubernetes SIG instrumentation. \u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u043e\u043d \u0431\u044b\u043b production-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u043c \u0432 SoundCloud \u0438 \u0432\u043e\u0437\u0433\u043b\u0430\u0432\u043b\u044f\u043b \u0433\u0440\u0443\u043f\u043f\u0443 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0432 CoreOS. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 Google. \u0411\u0430\u0440\u0442\u0435\u043a","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus","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":"2020-05-17T11:42:23+00:00","article:modified_time":"2020-05-17T11:42:23+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81888","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:48:24","updated":"2022-09-30 01:06:17"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/81888","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=81888"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/81888\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/81889"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=81888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=81888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=81888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}