{"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\/fr\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics","title":{"rendered":"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Bonjour \u00e0 tous. Voici la transcription <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=HyOXAdQE0Pk\">de la pr\u00e9sentation du 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 un syst\u00e8me de surveillance de divers syst\u00e8mes et services, qui permet aux administrateurs syst\u00e8me de collecter des informations sur les param\u00e8tres actuels des syst\u00e8mes et de configurer des alertes pour recevoir des notifications en cas d'anomalies dans le fonctionnement des syst\u00e8mes.<\/p>\n<p><\/p>\n<p>La pr\u00e9sentation comparera <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex> \u2014 des projets pour le stockage \u00e0 long terme des m\u00e9triques Prometheus.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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=\"Lire la vid\u00e9o\" 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=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/dc3c90711a8102d3e70b972ca47ec152.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Je vais d'abord parler de Prometheus. C'est un syst\u00e8me de surveillance qui collecte des m\u00e9triques \u00e0 partir de cibles d\u00e9finies et les stocke dans un stockage local. Prometheus peut \u00e9galement enregistrer des m\u00e9triques dans un stockage distant, g\u00e9n\u00e9rer des alertes et des r\u00e8gles d'enregistrement. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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\">Limitations de Prometheus :<\/h3>\n<p><\/p>\n<ul>\n<li>Il n'a pas de vue de requ\u00eate globale. C'est quand vous avez plusieurs instances ind\u00e9pendantes de Prometheus. Elles collectent des m\u00e9triques. Et vous souhaitez interroger toutes ces m\u00e9triques collect\u00e9es \u00e0 partir des diff\u00e9rentes instances de Prometheus. Prometheus ne le permet pas.<\/li>\n<li>Avec Prometheus, la performance est limit\u00e9e \u00e0 un seul serveur. Prometheus ne peut pas automatiquement \u00e9voluer sur plusieurs serveurs. Vous pouvez seulement r\u00e9partir manuellement vos cibles entre plusieurs instances de Prometheus.<\/li>\n<li>Le volume de m\u00e9triques dans Prometheus est limit\u00e9 \u00e0 un seul serveur pour la m\u00eame raison qu'il ne peut pas se mettre \u00e0 l'\u00e9chelle automatiquement sur plusieurs serveurs.<\/li>\n<li>Il n'est pas si facile d'organiser la sauvegarde des donn\u00e9es dans Prometheus.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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\">Quelles sont les solutions \u00e0 ces probl\u00e8mes \/ t\u00e2ches ?<\/h3>\n<p><\/p>\n<p>Les solutions sont les suivantes :<\/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>Toutes ces solutions visent le stockage distant des donn\u00e9es collect\u00e9es par Prometheus. Elles abordent le probl\u00e8me de stockage distant de la diapositive pr\u00e9c\u00e9dente de diff\u00e9rentes mani\u00e8res. Dans cette pr\u00e9sentation, je ne parlerai que des deux premi\u00e8res solutions : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Pour la premi\u00e8re fois, des informations sur <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> sont apparues dans <noindex><a rel=\"nofollow\" href=\"https:\/\/improbable.io\/blog\/thanos-prometheus-at-scale\">ce lien<\/a><\/noindex>. L'architecture y est d\u00e9crite <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> et comment cela fonctionne.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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 prend les donn\u00e9es que Prometheus a sauvegard\u00e9es sur le disque local et les copie dans S3, dans <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/storage\/\">GCS<\/a><\/noindex> ou dans un autre stockage d'objets.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7cf5f99dc5ce78f22c5956373812c0aa.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ainsi, Thanos fournit une vue de requ\u00eate globale. Vous pouvez interroger les donn\u00e9es sauvegard\u00e9es dans le stockage d'objets depuis plusieurs instances de Prometheus.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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 prend en charge PromQL et <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/docs\/prometheus\/latest\/querying\/api\/\">l'API de requ\u00eate de Prometheus.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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 utilise le code de Prometheus pour le stockage des donn\u00e9es.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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 est d\u00e9velopp\u00e9 par les m\u00eames d\u00e9veloppeurs que Prometheus.<\/p>\n<p><\/p>\n<p>\u00c0 propos de <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex>. Voici <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/faun\/victoriametrics-creating-the-best-remote-storage-for-prometheus-5d92d66787ac\">lien<\/a><\/noindex>, o\u00f9 nous avons parl\u00e9 pour la premi\u00e8re fois de <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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 obtient des donn\u00e9es de plusieurs Prometheus via <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/docs\/practices\/remote_write\/\">l'API write \u00e0 distance<\/a><\/noindex> un protocole pris en charge par Prometheus.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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 fournit une vue de requ\u00eate globale, car plusieurs instances de Prometheus peuvent \u00e9crire des donn\u00e9es dans une seule instance de VictoriaMetrics. Par cons\u00e9quent, vous pouvez interroger toutes ces donn\u00e9es.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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 prend \u00e9galement en charge, tout comme Thanos, le PromQL et l'API de requ\u00eate de Prometheus.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/84daf1b7e160e6f9d8a53a83329f2436.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Contrairement \u00e0 Thanos, le code source de VictoriaMetrics a \u00e9t\u00e9 \u00e9crit de z\u00e9ro et optimis\u00e9 pour la vitesse et l'utilisation des ressources. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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, contrairement \u00e0 Thanos, peut \u00e9voluer \u00e0 la fois verticalement et horizontalement. Il y a <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\/blob\/master\/README.md\">une version \u00e0 n\u0153ud unique<\/a><\/noindex>, qui se d\u00e9veloppe verticalement. Vous pouvez commencer avec un processeur et 1 Go de RAM et progressivement augmenter jusqu'\u00e0 une centaine de processeurs et 1 To de RAM. VictoriaMetrics peut utiliser toutes ces ressources. Sa performance augmentera d'environ 100 fois par rapport \u00e0 un syst\u00e8me \u00e0 un c\u0153ur. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/697e77546cda492f8512e7e761c0300f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>L'histoire de Thanos a commenc\u00e9 en novembre 2017, avec le premier commit public. Avant cela, Thanos a \u00e9t\u00e9 d\u00e9velopp\u00e9 en interne par la soci\u00e9t\u00e9 <noindex><a rel=\"nofollow\" href=\"https:\/\/improbable.io\">improbable.io<\/a><\/noindex>. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/610a81cfb98082bb61b7ae28b00d2c78.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>En juin 2019, un lancement embl\u00e9matique 0.5.0 a eu lieu, o\u00f9 <noindex><a rel=\"nofollow\" href=\"https:\/\/thanos.io\/proposals\/201809_gossip-removal.md\/\">le protocole<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Gossip_protocol\">gossip<\/a><\/noindex> a \u00e9t\u00e9 supprim\u00e9. Il a \u00e9t\u00e9 retir\u00e9 de Thanos car il a montr\u00e9 des performances peu satisfaisantes. Souvent, le cluster Thanos ne fonctionnait pas correctement, les n\u0153uds ne se connectant pas correctement en raison du protocole gossip. C'est pourquoi il a \u00e9t\u00e9 d\u00e9cid\u00e9 de l'enlever. Je pense que c'\u00e9tait la bonne d\u00e9cision. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/d7ecf0105d46464aadc4c46147edf9dc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dans le m\u00eame mois de juin 2019, ils ont soumis la demande num\u00e9ro <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/cncf\/toc\/pull\/256\">256<\/a><\/noindex> dans <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cncf.io\/\">Fondation Cloud Native Computing<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a8685a616bbdc619009c570e28c9f15b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Et apr\u00e8s quelques mois, Thanos a \u00e9t\u00e9 accept\u00e9 dans <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cncf.io\/\">Fondation Cloud Native Computing<\/a><\/noindex>, qui comprend Prometheus, Kubernetes et d'autres projets populaires.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/90c64c519aa283b13ce64b96da5ac945.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>En janvier 2018, le d\u00e9veloppement de VictoriaMetrics a commenc\u00e9.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/c2243e3e0a8d00715644d7c84627c5cb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>En septembre 2018, j'ai mentionn\u00e9 VictoriaMetrics publiquement pour la premi\u00e8re fois.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/66feecad1783c36651cdf2a19e6d0d70.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>En d\u00e9cembre 2018, la version \u00e0 n\u0153ud unique a \u00e9t\u00e9 publi\u00e9e.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/aacf5d683c7d639df7a9f05e297f08c4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>En mai 2019 <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.usejournal.com\/open-sourcing-victoriametrics-f31e34485c2b\">les sources ont \u00e9t\u00e9 publi\u00e9es en version \u00e0 n\u0153ud unique et en version cluster.<\/a><\/noindex> En juin 2019, tout comme Thanos, nous avons soumis une demande \u00e0 la fondation CNCF sous le num\u00e9ro <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6da160c13c87133b1994ef32f86db077.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>. Nous avons soumis notre demande un jour avant que Thanos ne soumette la sienne. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/cncf\/toc\/pull\/255\">255<\/a><\/noindex>Mais, malheureusement, nous n'avons toujours pas \u00e9t\u00e9 accept\u00e9s. Nous avons besoin de l'aide de la communaut\u00e9. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/12c281eae67b3cec5a66fab41aee1fdb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Examinons les diapositives les plus importantes montrant l'architecture de Thanos et VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/ab7b20661c3cfa01209cd742eb71a898.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Commen\u00e7ons par Thanos. Les composants jaunes sont des composants de Prometheus. Tout le reste est des composants de Thanos. Commen\u00e7ons par le composant le plus important. Thanos Sidecar est le composant qui s'installe \u00e0 c\u00f4t\u00e9 de chaque Prometheus. Il s'occupe de charger les donn\u00e9es de Prometheus du stockage local vers S3 ou un autre stockage d'objets.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a268b600bcd0cebfd9c5069d2d911a9d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics fournit une vue de requ\u00eate globale, car plusieurs instances de Prometheus peuvent \u00e9crire des donn\u00e9es dans une seule instance de VictoriaMetrics. Par cons\u00e9quent, vous pouvez interroger toutes ces donn\u00e9es. <\/p>\n<p><\/p>\n<p>Il existe \u00e9galement un composant appel\u00e9 Thanos Store Gateway, capable de lire ces donn\u00e9es \u00e0 partir de l'Object Storage lors des requ\u00eates entrantes de Thanos Query. Thanos Query impl\u00e9mente PromQL et l'API Prometheus. Autrement dit, il se pr\u00e9sente \u00e0 l'ext\u00e9rieur comme Prometheus. Il accepte les requ\u00eates PromQL, les envoie au Thanos Store Gateway, qui extrait les donn\u00e9es n\u00e9cessaires de l'Object Storage et les renvoie.<\/p>\n<p><\/p>\n<p>Cependant, dans notre Object Storage, nous stockons des donn\u00e9es sans les deux derni\u00e8res heures en raison des particularit\u00e9s de l'impl\u00e9mentation de Thanos Sidecar, qui ne peut pas charger les deux derni\u00e8res heures dans l'Object Storage S3, car pour ces deux derni\u00e8res heures, Prometheus n'a pas encore cr\u00e9\u00e9 de fichiers dans le stockage local.<\/p>\n<p><\/p>\n<p>Comment contourner ce probl\u00e8me ? Thanos Query, en plus d'envoyer des requ\u00eates au Thanos Store Gateway, envoie parall\u00e8lement des requ\u00eates \u00e0 chaque Thanos Sidecar situ\u00e9 \u00e0 proximit\u00e9 de Prometheus. <\/p>\n<p><\/p>\n<p>Et Thanos Sidecar, \u00e0 son tour, relaye les requ\u00eates vers Prometheus et extrait les donn\u00e9es des deux derni\u00e8res heures.<\/p>\n<p><\/p>\n<p>En plus de ces composants, il y a un composant optionnel sans lequel Thanos fonctionnera mal. C'est Thanos Compact, qui fusionne de petits fichiers sur l'Object Storage en fichiers plus volumineux, qui ont \u00e9t\u00e9 upload\u00e9s par les Thanos Sidecars. Les Thanos Sidecars y chargent des fichiers contenant des donn\u00e9es pour une p\u00e9riode de deux heures. Si ces fichiers ne sont pas fusionn\u00e9s en plus gros fichiers, leur nombre peut augmenter de mani\u00e8re significative. Plus il y a de ces fichiers, plus il faut de m\u00e9moire pour Thanos Store Gateway, et plus les ressources n\u00e9cessaires pour transf\u00e9rer les donn\u00e9es et les m\u00e9tadonn\u00e9es augmentent. Le fonctionnement de Thanos Store Gateway devient inefficace. Il est donc essentiel d'ex\u00e9cuter Thanos Compact, qui fusionne ces petits fichiers en plus gros, afin de r\u00e9duire leur nombre et de diminuer la surcharge sur Thanos Store Gateway.<\/p>\n<p><\/p>\n<p>Il y a \u00e9galement un composant appel\u00e9 Thanos Ruler. Il ex\u00e9cute les r\u00e8gles d'alerte de Prometheus et peut calculer les r\u00e8gles d'enregistrement de Prometheus pour enregistrer \u00e0 nouveau des donn\u00e9es dans l'Object Storage. Cependant, il n'est pas recommand\u00e9 d'utiliser ce composant, car il <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/blob\/master\/docs\/components\/rule.md#risk\">tend \u00e0 renvoyer des donn\u00e9es incompl\u00e8tes.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Voil\u00e0 \u00e0 quoi ressemble le sch\u00e9ma simple de Thanos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/3f7cd77a1c056bf7ac245c774d05ea34.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Comparons maintenant avec le sch\u00e9ma de VictoriaMetrics.<\/p>\n<p><\/p>\n<p>VictoriaMetrics propose 2 versions : une version Single-node et une version cluster. La version Single-node fonctionne sur un seul ordinateur. Dans la version Single-node, il n'y a pas ces composants, juste un binaire unique. Ce binaire appara\u00eet dans la diapositive sous la forme de ce carr\u00e9. Tout ce qui se trouve \u00e0 l'int\u00e9rieur du carr\u00e9 repr\u00e9sente le contenu du fichier binaire de la version Single-node. Vous n'avez pas besoin de vous en soucier. Il vous suffit de lancer le binaire \u2014 et tout fonctionne. <\/p>\n<p><\/p>\n<p>La version cluster est plus complexe. Elle comprend trois composants diff\u00e9rents : vmselect, vminsert et vmstorage. Leurs noms indiquent clairement leurs fonctions respectives. Le composant Insert re\u00e7oit des donn\u00e9es dans diff\u00e9rents formats : via l'API remote write de Prometheus, le protocole line d'Influx, le protocole Graphite et celui d'OpenTSDB. Le composant Insert les re\u00e7oit, les analyse et les r\u00e9partit entre les composants de stockage existants o\u00f9 les donn\u00e9es sont ensuite conserv\u00e9es. Le composant Select, quant \u00e0 lui, prend des requ\u00eates en PromQL. Il impl\u00e9mente <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@valyala\/promql-tutorial-for-beginners-9ab455142085\">PromQL<\/a><\/noindex>, ainsi que l'API de requ\u00eates de Prometheus, et peut \u00eatre utilis\u00e9 comme une alternative \u00e0 Prometheus dans Grafana ou d'autres clients API de Prometheus. Select prend une requ\u00eate promql, l'analyse, lit les donn\u00e9es n\u00e9cessaires pour effectuer cette requ\u00eate \u00e0 partir des n\u0153uds de stockage, les traite et renvoie la r\u00e9ponse.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/5b4f1ec2504c1bea423e58ced26570bd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Comparons la complexit\u00e9 d'installation de Thanos et de VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/39b293fc911b2987a191cc5d98b1c9f7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Commen\u00e7ons par Thanos. Avant de commencer \u00e0 utiliser Thanos, il faut cr\u00e9er un bucket dans un stockage d'objets, tel que S3 ou GCS, afin que le Thanos Sidecar puisse y enregistrer des donn\u00e9es. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7a59c36c4453f1747067c79d9a9b8e2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ensuite, pour chaque instance de Prometheus, il est n\u00e9cessaire d'installer le Thanos Sidecar. Il ne faut pas oublier de d\u00e9sactiver la compression des donn\u00e9es dans Prometheus. La compression des donn\u00e9es compresse p\u00e9riodiquement les donn\u00e9es dans le stockage local de Prometheus pour r\u00e9duire la consommation de ressources.<\/p>\n<p><\/p>\n<p>Lorsque vous installez Thanos Sidecar \u00e0 vos instances de Prometheus, vous devez d\u00e9sactiver cette compression de donn\u00e9es, car Thanos Sidecar ne fonctionne pas correctement avec la compression de donn\u00e9es activ\u00e9e. Cela signifie que votre Prometheus commence \u00e0 stocker les donn\u00e9es par blocs de deux heures et arr\u00eate de fusionner ces blocs en plus gros. Ainsi, si vous effectuez des requ\u00eates qui d\u00e9passent la dur\u00e9e des deux derni\u00e8res heures, elles fonctionneront moins efficacement par rapport \u00e0 ce qu'elles pourraient \u00eatre si la compression de donn\u00e9es \u00e9tait activ\u00e9e.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/825b70ede9edd1de6658576e2b824cd1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>C'est pourquoi Thanos recommande de r\u00e9duire la dur\u00e9e de conservation des donn\u00e9es dans le stockage local \u00e0 6-8 heures afin de diminuer cette surcharge de nombreux petits blocs.<\/p>\n<p><\/p>\n<p>Apr\u00e8s avoir install\u00e9 le Thanos Sidecar, vous devez installer deux composants pour chaque bucket de stockage d'objets. Ce sont Thanos Compactor et Thanos Store Gateway. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/77575d65a75bfd9af8d7dedf0cc5c922.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Apr\u00e8s cela, il est n\u00e9cessaire d'installer Thanos Query et de le configurer pour qu'il puisse se connecter \u00e0 tous les Thanos Store Gateway disponibles, ainsi qu'\u00e0 tous les Thanos Sidecar.<\/p>\n<p><\/p>\n<p>Il peut y avoir un petit probl\u00e8me ici. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6eddee956c58991ccee52891b368f10f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Vous devez \u00e9tablir une connexion fiable et s\u00e9curis\u00e9e de Thanos Query \u00e0 ces composants. Si vos instances de Prometheus se trouvent dans diff\u00e9rents centres de donn\u00e9es ou dans diff\u00e9rentes VPC, les connexions externes leur sont interdites. Mais pour que Thanos Query fonctionne, vous devez trouver un moyen d'\u00e9tablir cette connexion.<\/p>\n<p><\/p>\n<p>Si vous avez de nombreux centres de donn\u00e9es, la fiabilit\u00e9 de l'ensemble du syst\u00e8me en souffre. En effet, Thanos Query doit maintenir en permanence des connexions avec tous les Thanos Sidecar situ\u00e9s dans diff\u00e9rents centres de donn\u00e9es. \u00c0 chaque requ\u00eate entrante, il enverra des demandes \u00e0 tous les Thanos Sidecar. Si la connexion est interrompue, vous obtiendrez un ensemble de donn\u00e9es incomplet ou une r\u00e9ponse \u00ab le cluster ne fonctionne pas \u00bb. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/13c3765871568ac0db4014964cb5d752.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Avec VictoriaMetrics, c'est un peu plus simple. Pour la version \u00e0 n\u0153ud unique, il suffit de lancer un binaire et tout fonctionne. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/1edf992a6404f5dea1ae2bd4f4d2d8fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pour la version en cluster, il suffit de lancer les trois types de composants mentionn\u00e9s ci-dessus en quantit\u00e9s n\u00e9cessaires ou d'utiliser <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/helm-charts\/\">helm chart<\/a><\/noindex> pour automatiser le lancement des composants dans Kubernetes. Nous pr\u00e9voyons \u00e9galement de cr\u00e9er un op\u00e9rateur Kubernetes. Le helm chart ne couvre pas certains cas et peut vous causer des probl\u00e8mes. Par exemple, il permet de r\u00e9duire le nombre de n\u0153uds de stockage, ce qui entra\u00eene une perte de donn\u00e9es.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/ad4249222cb5e591d7e7bd0b7f1708c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Apr\u00e8s avoir lanc\u00e9 un binaire ou la version en cluster, il vous suffit d'ajouter \u00e0 la configuration de Prometheus <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\/blob\/master\/README.md#prometheus-setup\">la configuration pour l'URL de remote write<\/a><\/noindex>, afin qu'il commence \u00e0 enregistrer des donn\u00e9es en parall\u00e8le dans le stockage local et dans le stockage distant. Comme vous l'avez remarqu\u00e9, cette configuration doit fonctionner de mani\u00e8re beaucoup plus fiable par rapport \u00e0 la configuration Thanos. Nous n'avons pas besoin de maintenir la connexion entre VictoriaMetrics et tous les Prometheus, car les Prometheus se connectent eux-m\u00eames \u00e0 VictoriaMetrics et transmettent les donn\u00e9es. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/465ffc6cd77b2ca022b2541851a7ddbc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Examinons la prise en charge de Thanos et de VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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 doit surveiller Sidecar pour s'assurer qu'il continue de charger les donn\u00e9es dans l'Object Storage. Il peut arr\u00eater ce chargement en raison d'erreurs de t\u00e9l\u00e9chargement, par exemple si votre connexion r\u00e9seau \u00e0 l'Object Storage est temporairement interrompue ou si l'Object Storage devient temporairement indisponible. \u00c0 ce moment-l\u00e0, Thanos Sidecar le remarquera, signalera l'erreur, peut se fermer et ensuite cesser de fonctionner. Si vous ne le surveillez pas, les donn\u00e9es cesseront d'\u00eatre transmises \u00e0 l'Object Storage. Si le temps de r\u00e9tention (6 \u00e0 8 heures recommand\u00e9) s'\u00e9coule, vous perdrez les donn\u00e9es qui n'ont pas \u00e9t\u00e9 transf\u00e9r\u00e9es dans l'Object Storage.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7c6556fecdee4ca4986931c2eebf9895.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Les compresseurs Thanos peuvent cesser de fonctionner en raison de <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/issues\/1919\">des courses avec Sidecar<\/a><\/noindex>. Les Compactors prennent des donn\u00e9es de l'Object Storage et les fusionnent en morceaux de donn\u00e9es plus importants. \u00c9tant donn\u00e9 que les Compactors ne sont pas synchronis\u00e9s avec les Sidecars, il peut se passer ceci : le Sidecar n'a pas encore \u00e9crit le bloc, et le Compactor d\u00e9cide que ce bloc est compl\u00e8tement enregistr\u00e9. Le Compactor commence \u00e0 le lire. Il lit le bloc de mani\u00e8re incompl\u00e8te et cesse de fonctionner. Voir les d\u00e9tails <noindex><a rel=\"nofollow\" href=\"https:\/\/thanos.io\/proposals\/201901-read-write-operations-bucket.md\/\">ici<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7fd00e243009763781b54043dec1e94b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Le Store Gateway peut renvoyer des donn\u00e9es incoh\u00e9rentes en raison de courses entre le Compactor et les Sidecars. Il en va de m\u00eame ici, car le Store Gateway n'est en aucune mani\u00e8re synchronis\u00e9 avec les Compactors et les Sidecars. Par cons\u00e9quent, peuvent survenir des \u00e9tats de concurrence o\u00f9 le Store Gateway ne voit qu'une partie des donn\u00e9es, ou voit des donn\u00e9es suppl\u00e9mentaires.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/85fcc811173dda1a42ac8d4e3b212f5e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Le composant Query dans Thanos renvoie par d\u00e9faut un r\u00e9sultat partiel si certains Sidecars ou le Store Gateway ne sont pas disponibles \u00e0 ce moment-l\u00e0. Vous obtiendrez une partie des donn\u00e9es et ne saurez m\u00eame pas que vous n'avez pas re\u00e7u toutes les donn\u00e9es. C'est ainsi qu'il fonctionne par d\u00e9faut. Dans une situation similaire, VictoriaMetrics retourne les donn\u00e9es marqu\u00e9es comme partielles. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a9e5a70bdcafae9b98545514ca7a7ff3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Contrairement \u00e0 Thanos, VictoriaMetrics perd rarement des donn\u00e9es. M\u00eame si la connexion de Prometheus \u00e0 VictoriaMetrics est interrompue, ce n'est pas un probl\u00e8me, car Prometheus continue d'\u00e9crire les nouvelles donn\u00e9es entrantes dans le Write Ahead Log, dont la taille est de 2 heures. Si vous restaurez la connexion \u00e0 VictoriaMetrics dans les deux heures, les donn\u00e9es ne seront pas perdues. Prometheus <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/blog\/2019\/03\/25\/whats-new-in-prometheus-2.8-wal-based-remote-write\/\">peut continuer \u00e0 \u00e9crire des donn\u00e9es apr\u00e8s la restauration de la connexion \u00e0 VictoriaMetrics.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/fa4be02056f7338416029bfd8f9d0214.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Contrairement \u00e0 Thanos, qui enregistre les donn\u00e9es dans un stockage d'objets seulement apr\u00e8s deux heures, Prometheus r\u00e9plique automatiquement les donn\u00e9es via le protocole remote write dans un stockage distant, tel que VictoriaMetrics. Vous n'avez pas \u00e0 craindre la perte de stockage local dans Prometheus. Si jamais il perd le stockage local, vous ne perdrez au pire que les derni\u00e8res secondes de donn\u00e9es qui n'ont pas eu le temps d'\u00eatre enregistr\u00e9es dans le stockage distant.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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 g\u00e8re automatiquement le cluster contrairement \u00e0 Thanos. Tous les composants de Thanos sont difficiles \u00e0 placer dans un seul cluster Kubernetes, \u00e0 la diff\u00e9rence des composants cluster de VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/5b3d1586fe461a0c6f34de09fdd12845.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La mise \u00e0 jour vers une nouvelle version de VictoriaMetrics est tr\u00e8s simple. Il suffit d'arr\u00eater VictoriaMetrics, de mettre \u00e0 jour les binaires et de relancer. Lors de l'arr\u00eat via le signal SIGINT, tous les binaires de VictoriaMetrics effectuent un arr\u00eat en douceur. Ils sauvegardent correctement les donn\u00e9es n\u00e9cessaires et ferment correctement les connexions entrantes pour ne rien perdre. Vous ne perdrez donc rien lors de la mise \u00e0 jour. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/96a52e2f0696172159919536efb68ad3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Il est tr\u00e8s simple d'\u00e9tendre le cluster de VictoriaMetrics. Il suffit d'ajouter les composants n\u00e9cessaires et de continuer \u00e0 travailler. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/5f5e6ef78b322bb278e618a526f05e26.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00c0 propos des \u00e9cueils dans Thanos et VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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 a plusieurs \u00e9cueils. Prometheus doit conserver les donn\u00e9es des deux derni\u00e8res heures. Si elles sont perdues, vous les perdez compl\u00e8tement, car elles n'ont pas encore eu le temps d'\u00eatre enregistr\u00e9es dans un stockage d'objets tel que S3. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/81ca9135d2d97b95e9731dd1f5501859.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Le composant Store Gateway et le composant compactor peuvent n\u00e9cessiter beaucoup de m\u00e9moire pour travailler avec un grand stockage d'objets s'il y a de nombreux petits fichiers. Plus le nombre et le volume de fichiers sont \u00e9lev\u00e9s, plus la m\u00e9moire vive requise par Store Gateway et compactor pour stocker les m\u00e9ta-informations est importante. Thanos a de nombreux probl\u00e8mes concernant cela. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/issues\/448\">Le Store Gateway et le compactor tombent en panne avec des volumes de donn\u00e9es enregistr\u00e9es moyens.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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 se vantent qu'il peut se d\u00e9velopper ind\u00e9finiment en fonction de vos Prometheus. En r\u00e9alit\u00e9, c'est faux. Toutes les requ\u00eates passent par le composant Query, qui doit interroger en parall\u00e8le tous les composants Store Gateway et tous les composants Sidecar, extraire les donn\u00e9es et ensuite les pr\u00e9traiter. \u00c9videmment, la vitesse des requ\u00eates est limit\u00e9e par le maillon le plus faible, que ce soit le Store Gateway le plus lent ou le Sidecar le plus lent. <\/p>\n<p><\/p>\n<p>Ces composants peuvent \u00eatre soutenus de mani\u00e8re in\u00e9gale. Par exemple, vous avez un Prometheus qui collecte des millions de m\u00e9triques par seconde. Et il y a un Prometheus qui en collecte des milliers par seconde. Prometheus, qui collecte des millions de m\u00e9triques par seconde, sollicite beaucoup plus le serveur sur lequel il fonctionne. Par cons\u00e9quent, le Sidecar fonctionne plus lentement. Et en g\u00e9n\u00e9ral, tout fonctionne plus lentement l\u00e0-bas. Le composant de requ\u00eate extraira les donn\u00e9es tr\u00e8s lentement. Par cons\u00e9quent, les performances de l'ensemble de votre cluster seront limit\u00e9es par ce Sidecar lent.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/68070f629821a54bfd8ed934d67344fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Par d\u00e9faut, Thanos renvoie des donn\u00e9es partielles si certains Sidecars ou le Store Gateway ne sont pas disponibles. Par exemple, si vos Sidecars sont dispers\u00e9s dans le monde entier dans diff\u00e9rents centres de donn\u00e9es, la probabilit\u00e9 d'une interruption de connexion et de l'indisponibilit\u00e9 des composants augmente consid\u00e9rablement. Par cons\u00e9quent, dans la plupart des cas, vous recevrez des donn\u00e9es partielles sans m\u00eame le savoir.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6a1dea50e739314c23b4370c569b44a4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics a aussi ses pi\u00e8ges. Le premier pi\u00e8ge est une option qui limite la quantit\u00e9 de m\u00e9moire vive utilis\u00e9e par le cache de VictoriaMetrics. Par d\u00e9faut, elle est fix\u00e9e \u00e0 60 % de la m\u00e9moire vive de la machine sur laquelle VictoriaMetrics est ex\u00e9cut\u00e9 ou 60 % de la RAM du pod VictoriaMetrics dans Kubernetes.<\/p>\n<p><\/p>\n<p>Si vous modifiez incorrectement cette valeur, vous pouvez nuire aux performances de VictoriaMetrics. Par exemple, si vous d\u00e9finissez une valeur trop basse, les donn\u00e9es peuvent ne plus entrer dans le cache de VictoriaMetrics. Cela entra\u00eenera un travail suppl\u00e9mentaire pour le processeur et le disque. Si vous rendez cette option trop grande, cela augmente, d'une part, la probabilit\u00e9 que VictoriaMetrics rencontre une erreur de m\u00e9moire insuffisante, et, d'autre part, cela laissera tr\u00e8s peu de m\u00e9moire vive pour le cache de fichiers dans le syst\u00e8me d'exploitation. Or, VictoriaMetrics d\u00e9pend de ce cache de fichiers pour ses performances. S'il est insuffisant, cela peut consid\u00e9rablement augmenter la charge sur le disque. Donc, conseil : ne modifiez pas ce param\u00e8tre sans n\u00e9cessit\u00e9 absolue.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/f145833dcbe42c2b62545358cfb204e5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La deuxi\u00e8me option. C'est le retentionPeriod \u2013 p\u00e9riode, qui est par d\u00e9faut fix\u00e9e \u00e0 1 mois. C'est le temps pendant lequel VictoriaMetrics conserve les donn\u00e9es. \u00c0 l'expiration de ce d\u00e9lai, VictoriaMetrics supprime les donn\u00e9es.<\/p>\n<p><\/p>\n<p>Beaucoup lancent VictoriaMetrics sans ce param\u00e8tre et enregistrent des donn\u00e9es pendant un mois. Puis ils se demandent : pourquoi les donn\u00e9es ont-elles disparu le mois pr\u00e9c\u00e9dent ? Parce que le retentionPeriod par d\u00e9faut est de 1 mois. Il est donc crucial de conna\u00eetre et d'\u00e9tablir un bon retentionPeriod. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/377e4e19b7dc5648dd16bff39f4f1651.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Passons en revue les possibilit\u00e9s uniques.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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 poss\u00e8de une fonctionnalit\u00e9 appel\u00e9e downsampling : des intervalles de 5 minutes et horaires, qui souvent <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/issues?utf8=%E2%9C%93&amp;q=is%3Aissue+is%3Aopen+downsampling\">ne fonctionnent pas correctement<\/a><\/noindex>. Si on recherche sur Google et qu'on regarde leurs probl\u00e8mes sur GitHub, il y a beaucoup d'issues li\u00e9es \u00e0 ce downsampling, qui ne fonctionne parfois pas comme pr\u00e9vu ou ne fonctionne pas comme les utilisateurs s'y attendent.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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 dispose d'une d\u00e9-duplication des donn\u00e9es pour les paires HA de Prometheus. Lorsque deux Prometheus collectent les m\u00eames m\u00e9triques des m\u00eames cibles et que Thanos les stocke dans l'Object Storage. Thanos sait d\u00e9dupliquer correctement ces donn\u00e9es, contrairement \u00e0 VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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 a un composant d'alerte, qui \u00e9tait sur le sch\u00e9ma de Thanos. Mais il <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/blob\/master\/docs\/components\/rule.md\">n'est pas recommand\u00e9 pour une utilisation en production<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/87d12ff7b3c33dae9a8eda7a2a95bce1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>L'avantage de Thanos est que le code de Thanos et de Prometheus est commun. Thanos et Prometheus ont \u00e9t\u00e9 d\u00e9velopp\u00e9s par les m\u00eames d\u00e9veloppeurs. Lors des am\u00e9liorations dans Thanos ou Prometheus, l'autre partie en b\u00e9n\u00e9ficie \u00e9galement.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/92435f15d58e83eb4d548a8bf5256c30.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La principale fonctionnalit\u00e9 de VictoriaMetrics est MetricsQL. C'est une extension de VictoriaMetrics pour PromQL, dont j'ai parl\u00e9 lors du dernier grand meetup sur le monitoring.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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 supporte l'injection de donn\u00e9es via de nombreux protocoles diff\u00e9rents. VictoriaMetrics peut non seulement recevoir des donn\u00e9es de Prometheus, mais aussi via les protocoles Influx, OpenTSDB et Graphite.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/b4bca4b255990f1af11a6ceaf42f46ef.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Les donn\u00e9es de VictoriaMetrics occupent g\u00e9n\u00e9ralement beaucoup moins d'espace par rapport \u00e0 Thanos et Prometheus. <\/p>\n<p><\/p>\n<p>Lorsque vous enregistrez des donn\u00e9es r\u00e9elles, les utilisateurs parlent d'une r\u00e9duction de 2 \u00e0 5 fois de la taille des donn\u00e9es sur disque par rapport \u00e0 Prometheus et Thanos.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6aeab3c42b45dbd620d328fc43ce4bec.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Un autre avantage de VictoriaMetrics est qu'elle est optimis\u00e9e pour la vitesse. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/89010a913f0d7b1388b6c62007c7835b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Passons en revue le co\u00fbt de l'infrastructure. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/65bd322bb2a64ac4188e29b79e54763a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Un des avantages de Thanos est qu'il stocke les donn\u00e9es dans des object storages, qui sont relativement bon march\u00e9.<\/p>\n<p><\/p>\n<p>Lorsqu'il s'agit de stocker des donn\u00e9es dans un object storage, vous devez payer pour les op\u00e9rations d'\u00e9criture et de lecture des donn\u00e9es (10 $ par million d'op\u00e9rations). Lorsque vous \u00e9crivez des donn\u00e9es dans un object storage, vous en payez les frais d'h\u00e9bergement pour le t\u00e9l\u00e9chargement des donn\u00e9es sur Internet, si votre cluster n'est pas dans AWS \u2014 l\u00e0-bas, c'est gratuit. Lorsque vous lisez des donn\u00e9es, vous payez entre 10 et 230 $ pour 1 To. Cela peut \u00eatre significatif si vous demandez souvent des donn\u00e9es historiques \u00e0 partir du cluster Thanos.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7f1b32c75d49efa082201fa55b43f6bb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pour le cluster Thanos, il est n\u00e9cessaire de payer pour des serveurs pour les composants Compact, Store Gateway et Query, qui n\u00e9cessitent beaucoup de m\u00e9moire et de CPU pour de grands volumes de donn\u00e9es.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/19c90f30760e77f57a658e67507f4f98.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pour VictoriaMetrics, les co\u00fbts sont les suivants. Si les donn\u00e9es sont stock\u00e9es sur des disques GCE HDD, cela revient \u00e0 40 $ par To. Pour VictoriaMetrics, des disques HDD ordinaires suffisent, il n'est pas n\u00e9cessaire d'utiliser des SSD, qui co\u00fbtent cinq fois plus cher. VictoriaMetrics est optimis\u00e9e pour les HDD.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/c7e922b4d97f353218d6edad7cdea584.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pour VictoriaMetrics, des serveurs sont n\u00e9cessaires pour les composants : soit Single-node, soit pour des composants en cluster, qui, contrairement aux composants Thanos, n\u00e9cessitent beaucoup moins de CPU et de RAM, ce qui sera donc moins cher. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/aaf63cad75238ba19efb825376cf356c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Exemples d'impl\u00e9mentation. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/53ce0a68724c339d88ad769c18a2e5f9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Un exemple d'impl\u00e9mentation de Thanos est Gitlab. Gitlab fonctionne enti\u00e8rement sur Thanos. Mais tout n'est pas si simple. Si l'on regarde leurs <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-com\/gl-infra\/infrastructure\/issues\/8647\">issues<\/a><\/noindex>, on peut voir qu'ils rencontrent constamment des <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-com\/gl-infra\/infrastructure\/issues\/8413\">probl\u00e8mes op\u00e9rationnels avec Thanos<\/a><\/noindex>: ils manquent de m\u00e9moire pour les composants Store Gateway ou Query. Ils doivent constamment augmenter la m\u00e9moire. <\/p>\n<p><\/p>\n<p>Cela augmente les co\u00fbts pour r\u00e9soudre ces probl\u00e8mes. <\/p>\n<p><\/p>\n<p>Une deuxi\u00e8me impl\u00e9mentation, qui pourrait \u00eatre plus r\u00e9ussie, est l'entreprise Improbable, qui a commenc\u00e9 le d\u00e9veloppement de Thanos. Ils ont publi\u00e9 le code source de Thanos. Improbable est une entreprise sp\u00e9cialis\u00e9e dans le d\u00e9veloppement de moteurs de jeu.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/3a1279cae3cfc7e94c2eccfc0972f06e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Les exemples publics d'impl\u00e9mentation de VictoriaMetrics sont :<\/p>\n<p><\/p>\n<ul>\n<li>wix.com, un constructeur de sites web<\/li>\n<li>Adidas impl\u00e9mente VictoriaMetrics et a m\u00eame fait une pr\u00e9sentation lors du dernier PromCon 2019<\/li>\n<li>TrafficStars \u2014 r\u00e9seau publicitaire<\/li>\n<li>Seznam.cz \u2014 un moteur de recherche tch\u00e8que populaire.<\/li>\n<\/ul>\n<p><\/p>\n<p>Et ensuite, il y a des entreprises inconnues que je ne peux pas nommer pour le moment. Elles n'ont pas donn\u00e9 leur accord. <\/p>\n<p><\/p>\n<ul>\n<li>Un grand d\u00e9veloppeur de jeux. Plus grand qu'Improbable.<\/li>\n<li>Un important d\u00e9veloppeur de logiciels graphiques.<\/li>\n<li>Une grande banque russe.<\/li>\n<li>Un fabricant europ\u00e9en d'\u00e9oliennes qui a r\u00e9ussi \u00e0 tester VictoriaMetrics. Ce fabricant impl\u00e9mente VictoriaMetrics pour le suivi des donn\u00e9es re\u00e7ues des \u00e9oliennes avec une vitesse de 50 \u00e9chantillons par seconde pour chaque capteur. Chaque \u00e9olienne a plusieurs centaines de capteurs. Ils ont plusieurs centaines d'\u00e9oliennes.<\/li>\n<li>Les lignes a\u00e9riennes russes qui souhaitent impl\u00e9menter VictoriaMetrics, mais n'y parviennent pas. Nous sommes en phase de contrat avec eux.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/040affc4d56712783db61ee3b0ec509e.jpg\" style=\"display:block;margin: 0 auto;\" \/>Conclusions.<\/p>\n<p><\/p>\n<p>VictoriaMetrics et Thanos r\u00e9solvent des probl\u00e8mes similaires, mais de mani\u00e8res diff\u00e9rentes :<\/p>\n<p><\/p>\n<ul>\n<li>Vue de requ\u00eate globale<\/li>\n<li>mise \u00e0 l'\u00e9chelle horizontale <\/li>\n<li>r\u00e9tention arbitraire<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/af6285e8f6f68f373da1ebc552104f51.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Merci.<\/p>\n<p><\/p>\n<p>Nous vous attendons sur notre <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/VictoriaMetrics_ru1\">canal telegram<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Choisir un stockage de donn\u00e9es pour 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\">Seuls les utilisateurs enregistr\u00e9s peuvent participer au sondage. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Connectez-vous<\/a><\/noindex>, s'il vous pla\u00eet.<\/p>\n<h2 class=\"default-block__polling-title\">Quel est votre stockage \u00e0 long terme pour 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>autre4<\/p>\n<\/li>\n<\/ul>\n<p>    17 utilisateurs ont vot\u00e9. 16 utilisateurs se sont abstenus.<br \/>\n<br \/>Source : <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.2 - 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\/fr\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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\udd47Choisissons un stockage de donn\u00e9es pour Prometheus : Thanos vs VictoriaMetrics | ProHoster","description":"Bonjour \u00e0 tous.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/54601","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=54601"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/54601\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=54601"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=54601"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=54601"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}