{"id":334900,"date":"2022-06-23T15:01:03","date_gmt":"2022-06-23T15:01:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=334900"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=334900","title":{"rendered":"<span>\u041a\u0430\u043a \u043c\u044b \u043f\u044b\u0442\u0430\u043b\u0438\u0441\u044c \u043f\u043e\u0434\u0440\u0443\u0436\u0438\u0442\u044c VictoriaMetrics \u0438 Thanos (\u0438 \u0443 \u043d\u0430\u0441 \u043f\u043e\u0447\u0442\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c)<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b35\/030\/00c\/b3503000cf680efc5692a399722b0a27.png\" alt=\"\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u2014 \u0421\u043e\u044e\u0437\u041c\u0443\u043b\u044c\u0442\u0444\u0438\u043b\u044c\u043c \u00a9\" title=\"\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u2014 \u0421\u043e\u044e\u0437\u041c\u0443\u043b\u044c\u0442\u0444\u0438\u043b\u044c\u043c \u00a9\" width=\"780\" height=\"440\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b35\/030\/00c\/b3503000cf680efc5692a399722b0a27.png\"\/><figcaption>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u2014 \u0421\u043e\u044e\u0437\u041c\u0443\u043b\u044c\u0442\u0444\u0438\u043b\u044c\u043c \u00a9<\/figcaption><\/figure>\n<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0413\u0440\u0438\u0433\u043e\u0440\u0438\u0439, \u044f \u0442\u0435\u0445\u043b\u0438\u0434 \u0432 Cloud Infrastructure Team \u0432 \u0421\u0440\u0430\u0432\u043d\u0438. \u041c\u043e\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 observability \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u043e\u0431\u043b\u0430\u0447\u043d\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443. \u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u043c\u044b \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 \u043d\u0430\u0448 \u0441\u0442\u0435\u043a \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430. \u0425\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u0443 \u043d\u0430\u0441 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 long-term \u043c\u0435\u0442\u0440\u0438\u043a \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Object Storage.<\/p>\n<p>\u041c\u044b \u0432 \u0421\u0440\u0430\u0432\u043d\u0438 \u0434\u043e\u043b\u0433\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0441\u0432\u044f\u0437\u043a\u0443 Prometheus + Thanos \u0434\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u043b\u044f Thanos \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0441\u0445\u0435\u043c\u0443 \u0441 <a href=\"https:\/\/camo.githubusercontent.com\/4720f0b558ad470b8b73a6e459bac133bef772c92f96e4f327ae303e21254fbd\/68747470733a2f2f646f63732e676f6f676c652e636f6d2f64726177696e67732f642f652f32504143582d31765442464b4b6766385944496e4a7952616b504538655a5a67397068546c4f734242326f674e6b4676684e47625a385944767a5f63474d6278575a42473147366870735166535831343546705963762f7075623f773d39363026683d373230\"><u>sidecar\u2019\u043e\u043c<\/u><\/a>. \u042d\u0442\u0430 \u0441\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043d\u0435\u043f\u043b\u043e\u0445\u043e, \u043d\u043e \u0441 \u0440\u043e\u0441\u0442\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u2014 \u0440\u043e\u0441\u043b\u043e \u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u0421\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u043e scrape samples \u0443\u0436\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u043b\u0438 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b. \u041a\u043e\u0433\u0434\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 Prometheus \u0441\u0442\u0430\u043b\u043e \u0443\u0445\u043e\u0434\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 30 \u044f\u0434\u0435\u0440 vCPU \u0438 100 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 RAM, \u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u0438\u0441\u043a\u0430\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.\u00a0<\/p>\n<p>\u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430:<\/p>\n<ul>\n<li>\n<p>\u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0432 Kubernetes;<\/p>\n<\/li>\n<li>\n<p>\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u0430 \u043f\u0435\u0440\u0435\u0435\u0437\u0436\u0430\u0442\u044c \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e Kubernetes-\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u0438 \u0434\u0430\u043d\u043d\u044b\u0445;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0443\u0436\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 downsampling;<\/p>\n<\/li>\n<li>\n<p>\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c high availability \u0441\u0438\u0441\u0442\u0435\u043c\u0443;<\/p>\n<\/li>\n<li>\n<p>\u0432 \u0438\u0434\u0435\u0430\u043b\u0435, \u0447\u0442\u043e\u0431\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u0430 \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u043e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043d\u0430 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \ud83d\ude09<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u044b \u043f\u043e\u0438\u0437\u0443\u0447\u0430\u043b\u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b, \u0438 \u0441\u043f\u0435\u0440\u0432\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u0435\u0439 \u0438\u0434\u0435\u0435\u0439 \u0432\u0437\u044f\u0442\u044c \u0441\u0442\u0435\u043a VMAgent + <a href=\"https:\/\/camo.githubusercontent.com\/b0a661d7478b5f65500f704419796ff3ccb3c4aa5ea791c3db2cd2d587831867\/68747470733a2f2f646f63732e676f6f676c652e636f6d2f64726177696e67732f642f652f32504143582d317654666b6f323759425f336162375a4c384f444e47357543637270714b78686d71617a336c572d7968474e335f6f4e786b547271586d77776c635a6a61576633634767414a494d34434d77776b45562f7075623f773d39363026683d373230\"><u>Thanos receiver<\/u><\/a>. \u041a\u0430\u043a \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e \u0443\u0433\u0430\u0434\u0430\u0442\u044c \u0438\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0430\u0442\u044c\u0438, \u044d\u0442\u043e\u0433\u043e \u0443 \u043d\u0430\u0441 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c. \u041d\u0435\u0434\u0430\u0432\u043d\u043e \u044f \u0443\u0432\u0438\u0434\u0435\u043b \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u0447\u0430\u0442\u0435, \u0447\u0442\u043e \u043a\u043e\u043b\u043b\u0435\u0433\u0438 \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0441\u0442\u0435\u043a \u0438 \u043f\u043e \u0442\u0435\u043c \u0436\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c, \u0447\u0442\u043e \u0438 \u043c\u044b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u0448\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043a \u0447\u0435\u043c\u0443 \u043c\u044b \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u0440\u0438\u0448\u043b\u0438.<\/p>\n<h3>\u041f\u0440\u0438\u0447\u0438\u043d\u044b \u0432\u044b\u0431\u043e\u0440\u0430 VMAgent + Thanos receiver<\/h3>\n<p>\u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0430\u0433\u0435\u043d\u0442\u0430, \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0441\u0431\u043e\u0440 samples. \u0412 Prometheus \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e remote write \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f in-memory \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f samples \u0438\u0437 \u0436\u0443\u0440\u043d\u0430\u043b\u0430 (WAL). \u0414\u0430\u043d\u043d\u044b\u0435 \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f <a href=\"https:\/\/prometheus.io\/docs\/practices\/remote_write\/#remote-write-characteristics\"><u>\u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0438 \u0434\u0432\u0443\u0445 \u0447\u0430\u0441\u043e\u0432<\/u><\/a>, \u0438 \u044d\u0442\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c. \u041d\u043e \u0435\u0441\u0442\u044c <a href=\"https:\/\/github.com\/prometheus\/prometheus\/issues\/9607\"><u>issue<\/u><\/a> \u043d\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f.\u00a0<\/p>\n<blockquote>\n<p><em>\u0417\u0430\u0431\u0435\u0433\u0430\u044f \u0432\u043f\u0435\u0440\u0435\u0434, \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430, \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u044b \u0443\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043e\u0434\u0438\u043d<\/em><a href=\"https:\/\/github.com\/thanos-io\/thanos\/blob\/main\/docs\/components\/receive.md#:~:text=The%20thanos%20receive,hours%20by%20default.\"><em><u>, \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442<\/u><\/em><\/a><em> \u0432 \u0441\u0445\u0435\u043c\u0435 \u0441 Thanos Receiver<\/em>. <em>\u0422\u043e \u0435\u0441\u0442\u044c \u043f\u043e \u0444\u0430\u043a\u0442\u0443 \u043c\u044b \u0431\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0448\u043b\u0438 \u0431\u044b \u0438\u0437 pull \u043d\u0430 push \u043c\u043e\u0434\u0435\u043b\u044c (\u043e \u043f\u043b\u044e\u0441\u0430\u0445 \u0438 \u043c\u0438\u043d\u0443\u0441\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c <\/em><a href=\"https:\/\/docs.google.com\/document\/d\/1H47v7WfyKkSLMrR8_iku6u9VB73WrVzBHb2SB6dL9_g\/edit#heading=h.2v27snv0lsur\"><em><u>\u0437\u0434\u0435\u0441\u044c<\/u><\/em><\/a><em>), \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043c\u0443\u043b\u044c\u0442\u0438\u0442\u0435\u043d\u0430\u043d\u0442\u043d\u043e\u0441\u0442\u0438 \u0441 global view, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e, \u043a\u043e\u0433\u0434\u0430 sidecar \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0442\u044c \u0437\u0430\u043b\u0438\u0432\u0430\u0442\u044c time series \u0432 <\/em><a href=\"https:\/\/habr.com\/ru\/post\/482272\/#:~:text=%D0%A3%20Thanos%20%D0%BD%D1%83%D0%B6%D0%BD%D0%BE%20%D1%81%D0%BB%D0%B5%D0%B4%D0%B8%D1%82%D1%8C,%D0%BF%D0%BE%D0%BF%D0%B0%D0%BB%D0%B8%20%D0%B2%20Object%20Storage.\"><em><u>object storage<\/u><\/em><\/a><em>. \u0418 \u0432\u0440\u044f\u0434 \u043b\u0438 \u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0431\u044b \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u044e \u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u0445 (\u043a\u0430\u043a \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0438 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0432 \u0441\u0432\u043e\u0438\u0445 \u0446\u0435\u043b\u044f\u0445).\u00a0<\/em><\/p>\n<p><em>\u041a\u043e\u0433\u0434\u0430 \u043f\u043e\u043d\u044f\u043b\u0438 \u044d\u0442\u043e, \u043c\u044b \u043f\u0440\u0438\u043d\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0432\u0441\u0451 \u0436\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u044b, \u043d\u043e \u0443\u0436\u0435 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0434\u0443\u043c\u044b\u0432\u0430\u044f \u0434\u0440\u0443\u0433\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435.<\/em><\/p>\n<\/blockquote>\n<p>VMAgent \u0443\u043c\u0435\u0435\u0442 \u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u0442\u044c samples \u043d\u0430 \u0434\u0438\u0441\u043a \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0441\u0435\u0442\u0438 \u0438\u043b\u0438 \u0441 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u043c \u0441\u0442\u043e\u0440\u0430\u0434\u0436\u0435\u043c, \u0438 \u043f\u043e\u0442\u043e\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u0445, \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0432\u044f\u0437\u044c \u0441 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u043c \u0441\u0442\u043e\u0440\u0430\u0434\u0436\u0435\u043c \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u2014 \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e. \u0420\u0430\u0437\u043c\u0435\u0440 \u0431\u0443\u0444\u0435\u0440\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0434\u0438\u0441\u043a\u0430. \u0422\u0430\u043a\u0436\u0435 \u0435\u0441\u0442\u044c \u043e\u043f\u0446\u0438\u044f -memory.allowedPercent \u2013 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0433\u0443\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u043a\u044d\u0448\u0438 \u043c\u0435\u0442\u0440\u0438\u043a (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 60% \u043e\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438). \u0418 \u0434\u0430, VictoriaMetrics \u0443\u043c\u0435\u0435\u0442 \u0432 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c cgroupv2.<\/p>\n<p>\u041f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0432 Prometheus \u0438 VMAgent \u043d\u0430 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430\u0445 samples, \u043c\u044b \u0443\u0432\u0438\u0434\u0435\u043b\u0438, \u0447\u0442\u043e VMAgent \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0447\u0435\u043c Prometheus (\u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0442\u0435\u0441\u0442\u043e\u0432 \u043d\u0435 \u0434\u043e\u0436\u0438\u043b\u0438 \u0434\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438).<\/p>\n<p>\u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0432\u044b\u0448\u0435\u0441\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c, \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 \u0437\u0430\u0434\u0430\u0447 VMAgent \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u043b \u0431\u043e\u043b\u044c\u0448\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u043d\u0435\u043c, \u043a\u0430\u043a \u043d\u0430 \u0430\u0433\u0435\u043d\u0442\u0435, \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u044e\u0449\u0435\u043c \u0441\u0431\u043e\u0440 samples \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0449\u0435\u043c \u0438\u0445 \u0432 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0439 \u0441\u0442\u043e\u0440\u0430\u0434\u0436.<\/p>\n<p>Thanos \u0436\u0435 \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c:<\/p>\n<ul>\n<li>\n<p>Community edition \u0432\u0435\u0440\u0441\u0438\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 downsampling (VMStorage \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 Enterprise-\u0432\u0435\u0440\u0441\u0438\u0438);<\/p>\n<\/li>\n<li>\n<p>\u0435\u0441\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Object Storage (\u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u043c \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u044d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043d\u0435 \u0442\u0435\u0440\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0435\u0437 downtime \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0435 \u0441\u0442\u043e\u0440\u0430\u0434\u0436\u0430 \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438).<\/p>\n<\/li>\n<\/ul>\n<h3>\u041d\u0430\u0447\u0430\u043b\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/h3>\n<p>\u041d\u0430\u0447\u0430\u043b\u0438 \u043c\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u0441 \u043f\u043e\u0438\u0441\u043a\u0430 <a href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\/issues\/873\"><u>issue<\/u><\/a> \u0438 \u0447\u0442\u0435\u043d\u0438\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438. \u0412\u043e\u043e\u0440\u0443\u0436\u0438\u0432\u0448\u0438\u0441\u044c \u044d\u0442\u0438\u043c\u0438 <s>\u0441\u0430\u043a\u0440\u0430\u043b\u044c\u043d\u044b\u043c\u0438<\/s> \u0437\u043d\u0430\u043d\u0438\u044f\u043c\u0438 \u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e helm chart\u2019\u043e\u0432, \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b\u0438 \u0432 Kubernetes, \u0438 \u0441\u0445\u0435\u043c\u0430 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 (\u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e!).<\/p>\n<p><a href=\"https:\/\/camo.githubusercontent.com\/b0a661d7478b5f65500f704419796ff3ccb3c4aa5ea791c3db2cd2d587831867\/68747470733a2f2f646f63732e676f6f676c652e636f6d2f64726177696e67732f642f652f32504143582d317654666b6f323759425f336162375a4c384f444e47357543637270714b78686d71617a336c572d7968474e335f6f4e786b547271586d77776c635a6a61576633634767414a494d34434d77776b45562f7075623f773d39363026683d373230\"><u>\u0421\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u044b c Thanos Receiver<\/u><\/a> \u043c\u0430\u043b\u043e \u0447\u0435\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 Thanos \u0441 sidecar. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u0445 Thanos \u0438 VictoriaMetrics, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0432\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430 \u0412\u0430\u043b\u044f\u043b\u043a\u0438\u043d\u0430 \u2014 \u043d\u0430 <a href=\"https:\/\/habr.com\/ru\/post\/482272\/\"><u>\u0445\u0430\u0431\u0440\u0435<\/u><\/a>, \u0438 \u043d\u0430 <a href=\"https:\/\/faun.pub\/comparing-thanos-to-victoriametrics-cluster-b193bea1683\"><u>medium<\/u><\/a>. \u042f \u043a\u0440\u0430\u0442\u043a\u043e \u043f\u0440\u043e\u0439\u0434\u0443\u0441\u044c \u043f\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c, \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044f\u0441\u044c \u043d\u0430 \u0442\u0435\u0445 \u0447\u0430\u0441\u0442\u044f\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435\u0442 \u0432 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430.<\/p>\n<p>VMAgent \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 samples \u0438\u0437 \u0442\u0430\u0440\u0433\u0435\u0442\u043e\u0432 \u043f\u043e pull-\u043c\u043e\u0434\u0435\u043b\u0438. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e VMAgent \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 samples \u0432 Thanos Receiver (\u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430 L7 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0430 \u0442\u043e\u0442 \u2013 \u0443\u0436\u0435 \u043f\u043e round robin \u043d\u0430 Thanos Receiver). Thanos Receiver \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0440\u0435\u043f\u043b\u0438\u043a (\u0434\u0430\u043b\u0435\u0435 \u0431\u0443\u0434\u0443 \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0438\u0445 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u0430\u043c\u0438). \u0414\u043b\u044f \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 service discovery \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b hashring configuration. \u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043e\u043d <a href=\"https:\/\/thanos.io\/v0.11\/201812_thanos-remote-receive.md\/#:~:text=%5B%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%22hashring,%5D%0A%20%20%20%20%7D%0A%5D\"><u>\u0442\u0430\u043a<\/u><\/a> \u2013 \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u044b, tenant ID \u0438 \u043f\u043e\u0440\u0442\u044b.\u00a0<\/p>\n<p>Thanos Receiver \u0431\u044b\u0432\u0430\u0435\u0442 soft tenancy \u0438 hard tenancy.\u00a0<\/p>\n<ul>\n<li>\n<p>Soft tenancy \u2013 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, tenant ID \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044f\u0432\u043d\u043e \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u043d\u0438 \u0441 \u043e\u0434\u043d\u0438\u043c \u0434\u0440\u0443\u0433\u0438\u043c \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u043e\u043c \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u0432 \u044d\u0442\u043e \u0445\u044d\u0448-\u043a\u043e\u043b\u044c\u0446\u043e soft tenancy; \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u043e \u0444\u0430\u043a\u0442\u0443 \u044d\u0442\u043e \u0442\u0435\u043d\u0430\u043d\u0442 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0435\u0441\u043b\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u0442\u0441\u044f \u043d\u0443\u0436\u043d\u044b\u0439 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442. \u041a \u0441\u043b\u043e\u0432\u0443, id \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u043d\u0430\u043d\u0442\u0430 \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e receive.default-tenant-id. \u0410 \u0435\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043d\u0430\u043d\u0442 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a\u0430\u043a \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a (\u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0437\u043d\u0430\u0447\u0438\u0442\u0441\u044f \u043a\u0430\u043a Load distribution) \u043a hard tenancy.\u00a0<\/p>\n<\/li>\n<li>\n<p>Hard tenancy \u2013 \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e, \u044d\u0442\u043e \u0442\u0435 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u044b, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d tenant ID \u0432 \u043a\u0430\u0436\u0434\u043e\u043c HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u0435. \u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u043c\u0443\u043b\u044c\u0442\u0438\u0442\u0435\u043d\u0430\u043d\u0442\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b Thanos. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e \u0442\u0430\u043a\u0438\u0445 \u0437\u0430\u0434\u0430\u0447, \u0438 \u043c\u044b \u0432\u0435\u0437\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 Soft tenancy Thanos Receiver.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0430 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c \u0441\u0442\u0435\u043d\u0434\u0435 Thanos Receiver \u0441\u043e\u0441\u0442\u043e\u044f\u043b \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0435\u0445 \u0440\u0435\u043f\u043b\u0438\u043a (\u043f\u043e \u0434\u0432\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0437\u043e\u043d \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438) \u0438 \u0445\u0440\u0430\u043d\u0438\u043b \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0438 \u0442\u0440\u0451\u0445 \u0434\u043d\u0435\u0439 (-tsdbRetention=3d). \u041f\u043e\u0447\u0435\u043c\u0443 \u0440\u0435\u0448\u0438\u043b\u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 Thanos Receiver \u0442\u0440\u0438 \u0434\u043d\u044f? \u041d\u0430\u0448 \u0430\u043d\u0430\u043b\u0438\u0437 \u043f\u043e\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0438 \u0442\u0440\u0435\u0445 \u0434\u043d\u0435\u0439 (\u0441\u043a\u0430\u0436\u0435\u043c \u0442\u0430\u043a, \u0433\u043e\u0440\u044f\u0447\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438) \u0438 \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0438\u0445 \u0432\u044b\u0434\u0430\u0447\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c, \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u043e \u0442\u0440\u0435\u0445 \u0434\u043d\u0435\u0439 \u043d\u0430 SSD-\u0434\u0438\u0441\u043a\u0430\u0445.\u00a0<\/p>\n<p>Thanos Receiver, \u043f\u043e\u043b\u0443\u0447\u0438\u0432 samples \u043e\u0442 VMAgent, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 time series \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0432 hashring configuration \u0444\u0430\u0439\u043b\u0435. \u0415\u0441\u043b\u0438 \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e time series<em> <\/em>\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0430 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442 Thanos Receiver \u043d\u0435 \u0431\u044b\u043b \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u043d \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u043d\u0430 <a href=\"https:\/\/github.com\/thanos-io\/thanos\/blob\/7ba274c69cb0a848c7e8e1c593221faa80d8b6e6\/pkg\/receive\/handler.go#L438\"><u>(ReplicationFactor \/ 2) + 1<\/u><\/a>, \u0442\u043e Thanos Receiver \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 \u043a VMAgent. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 replication-factor=3 Thanos Receiver \u0443\u0431\u0435\u0434\u0438\u0442\u0441\u044f, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 time series \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u043d \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u043d\u0430 \u0434\u0432\u0443\u0445 Thanos receivers \u0432 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u0430\u0445 hashring \u0444\u0430\u0439\u043b\u0430 <a href=\"https:\/\/play.golang.com\/p\/xGIukhSwIHi\"><u>( 3\/2 + 1 = 2,5 = 2)<\/u><\/a>.<\/p>\n<p>\u0415\u0449\u0435 \u043e\u0434\u043d\u043e \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0441\u0445\u0435\u043c\u044b \u0441 sidecar \u2013 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e Thanos Query \u0434\u0435\u043b\u0430\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432\u043c\u0435\u0441\u0442\u043e sidecar \u0432 receiver (\u043f\u043e\u043c\u0438\u043c\u043e Store Gateway), \u0438 \u0430\u0433\u0435\u043d\u0442\u0443 (Prometheus \u0438\u043b\u0438 VMAgent) \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 Thanos Receiver (\u0432 \u0441\u0445\u0435\u043c\u0435 \u0441 sidecar, \u0441\u0430\u043c Thanos Sidecar \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u043b \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 Object Storage).<\/p>\n<h3>\u041d\u043e \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441\u2026<\/h3>\n<p>\u0412 \u0446\u0435\u043b\u043e\u043c, \u0432\u044b\u0448\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0434\u043b\u044f \u043d\u0430\u0441. \u041d\u043e \u0434\u044c\u044f\u0432\u043e\u043b \u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0432 \u043c\u0435\u043b\u043e\u0447\u0430\u0445, \u0438 \u0434\u043b\u044f \u043d\u0430\u0441 \u043e\u043d\u0438 \u0441\u0442\u0430\u043b\u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u043c\u0438.<\/p>\n<h4>\u041d\u044e\u0430\u043d\u0441\u044b \u043d\u043e\u043c\u0435\u0440 \u0440\u0430\u0437 \u0438 \u0434\u0432\u0430<\/h4>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438\u0441\u044c \u043f\u0440\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0438 \u043f\u043e\u0434\u0430 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u043e\u0432 Thanos Receiver \u2014\u00a0\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0441\u043b\u0443\u0447\u0430\u0438, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0434 \u0441 Thanos Receiver \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0441\u044f \u043d\u0430 \u043d\u043e\u0434\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u0435\u043b \u0441\u0431\u043e\u0439. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u043e\u0448\u0438\u0431\u0441\u044f \u0438 \u0443\u0434\u0430\u043b\u0438\u043b \u043d\u043e\u0434\u0443 \u0438\u0437 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0434\u0435\u0448\u0435\u0434\u0443\u043b\u043b\u0435\u0440, \u0438 \u043d\u043e\u0434\u0430 \u0443\u0434\u0430\u043b\u0438\u043b\u0430\u0441\u044c, \u0438\u043b\u0438 \u043f\u043e \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u043d\u043e\u0434\u0430 \u0441 \u043f\u043e\u0434\u043e\u043c Thanos Receiver \u0443\u043f\u0430\u043b\u0430.\u00a0<\/p>\n<p>\u041c\u044b \u0441\u0442\u0430\u043b\u0438 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c 409 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 VMAgent, \u0430 \u0432 \u043b\u043e\u0433\u0430\u0445 Thanos Receiver \u0443\u0432\u0438\u0434\u0435\u043b\u0438: hashring has changed; server is not ready to receive web requests.<\/p>\n<p>\u0417\u0430\u0442\u0435\u043c \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439 \u043e\u0442\u043a\u0430\u0437\u0430 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0438\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0435\u0433\u043e \u0447\u0430\u0441\u0442\u0438 \u2013 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u0442\u0440\u0438 \u043d\u043e\u0434\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u044b\u043b\u0438 \u043f\u043e\u0434\u044b \u0441 Thanos Receiver \u0438 \u043b\u043e\u0433\u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0438 \u043f\u0438\u0441\u0430\u0442\u044c\u0441\u044f. \u0422\u0443\u0442 \u0432\u0441\u0435 \u043b\u043e\u0433\u0438\u0447\u043d\u043e.\u00a0<\/p>\n<p>\u0412\u0435\u0440\u043d\u0443\u043b\u0438 \u0432\u0441\u0435 \u0442\u0440\u0438 \u043d\u043e\u0434\u044b \u0432 \u0440\u0430\u0431\u043e\u0442\u0443, \u043d\u043e \u043b\u043e\u0433\u0438 \u043d\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0432 VMAgent, \u0438 \u0431\u044b\u043b\u0438 \u0432\u0438\u0434\u043d\u044b 409 \u043e\u0448\u0438\u0431\u043a\u0438. \u0412 \u043b\u043e\u0433\u0430\u0445: Error on ingesting samples that are too old or are too far into the future. \u0412 <a href=\"https:\/\/thanos.io\/tip\/operating\/troubleshooting.md\/#thanos-receiver-log\"><u>\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0435\u0441\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/u><\/a> \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0438 \u0435\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u044b, \u043d\u043e \u043d\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u044f.<\/p>\n<p>\u041e\u0431\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u043e\u043c\u043e\u0433 \u0440\u0435\u0448\u0438\u0442\u044c <a href=\"https:\/\/github.com\/observatorium\/thanos-receive-controller\"><u>thanos-receive-controller<\/u><\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e running \u043f\u043e\u0434\u043e\u0432 \u0441 \u043b\u0435\u0439\u0431\u043b\u043e\u043c controller.receive.thanos.io=thanos-receive-controller (\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438 \u0441\u0432\u043e\u0439, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f) \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 configMap c hashring configuration \u0444\u0430\u0439\u043b\u043e\u043c, \u0438 \u0441 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u043e\u0439 (\u043f\u043e \u043d\u0430\u0448\u0438\u043c \u0442\u0435\u0441\u0442\u0430\u043c, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0447\u0435\u0440\u0435\u0437 120 \u0441\u0435\u043a\u0443\u043d\u0434) \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e Thanos Receiver \u043f\u0435\u0440\u0435\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0433. \u0412\u0430\u0436\u043d\u043e \u2014 \u043d\u0435 \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c configMap \u043a\u0430\u043a subPath, \u0438\u043d\u0430\u0447\u0435 \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0444\u0430\u0439\u043b \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435; \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u043d\u044e\u0430\u043d\u0441\u0430\u0445 configMap \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 \u0431\u043b\u043e\u0433\u0435 <a href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/498970\/\"><u>\u0424\u043b\u0430\u043d\u0442\u0430<\/u><\/a>.\u00a0<\/p>\n<p>\u0423\u0447\u0442\u0438\u0442\u0435, \u0447\u0442\u043e \u0443 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u0441 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c \u0435\u0441\u0442\u044c \u0438 <a href=\"https:\/\/github.com\/observatorium\/thanos-receive-controller\/issues\/69\"><u>\u043c\u0438\u043d\u0443\u0441\u044b<\/u><\/a>.<\/p>\n<h4>\u041d\u044e\u0430\u043d\u0441 \u043d\u043e\u043c\u0435\u0440 \u0442\u0440\u0438<\/h4>\n<p>\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u0432\u0441\u0435 \u043d\u043e\u0434\u044b \u0441 \u043f\u043e\u0434\u0430\u043c\u0438 Thanos Receiver \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u043d\u0430 2 \u0447\u0430\u0441\u0430; \u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e Thanos Receiver \u2013 \u044d\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430\u0434 Prometheus Remote Write API, \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0432\u044b\u0442\u0435\u043a\u0430\u044e\u0449\u0438\u043c\u0438. \u041f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e Thanos Receiver \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u043b\u043e\u0433\u0438.\u00a0<\/p>\n<p><a href=\"https:\/\/github.com\/thanos-io\/thanos\/issues\/2114\"><u>\u0423 \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u043e\u043a\u0430 \u0447\u0442\u043e \u043d\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u044f<\/u><\/a>; \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438.<\/p>\n<h4>\u041d\u044e\u0430\u043d\u0441 \u043d\u043e\u043c\u0435\u0440 \u0447\u0435\u0442\u044b\u0440\u0435<\/h4>\n<p>\u0420\u0435\u0448\u0438\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0440\u0435\u043f\u043b\u0438\u043a VMAgent (<s>\u043c\u044b \u0436\u0435 \u0432\u0441\u0435 \u0437\u0430 \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0432\u0441\u0435\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u0434\u0430 \u0432\u0435\u0434\u044c?)<\/s>.\u00a0<\/p>\n<p>\u041d\u043e \u0434\u043b\u044f \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 Thanos Querier <a href=\"https:\/\/thanos.io\/v0.18\/components\/query.md\/#deduplication\"><u>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 query.replica-label<\/u><\/a>. \u0418 \u0435\u0441\u0442\u044c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0430\u0433\u0435\u043d\u0442\u0430 \u0434\u043e\u043b\u0436\u0435\u043d <a href=\"https:\/\/thanos.io\/tip\/thanos\/quick-tutorial.md\/#external-labels\"><u>\u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f extrnal_labels<\/u><\/a>. \u0417\u043d\u0430\u0447\u0438\u0442, \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0435 VMAgent \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f.\u00a0<\/p>\n<p>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0430\u0448\u043b\u043e\u0441\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e: \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0435 VMAgent \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f POD_NAME:<\/p>\n<pre><code>external_labels:   replica: %{POD_NAME}<\/code><\/pre>\n<p>\u0418 \u0432 statefulSet VMagent \u043f\u0440\u043e\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0438\u043c\u044f \u043f\u043e\u0434\u0430 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f:<\/p>\n<pre><code>- name: POD_NAME   valueFrom:     fieldRef:       fieldPath: metadata.name<\/code><\/pre>\n<p>\u0412\u0441\u0435 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e.<\/p>\n<h4>\u041d\u044e\u0430\u043d\u0441 \u043d\u043e\u043c\u0435\u0440 \u043f\u044f\u0442\u044c<\/h4>\n<p>\u0414\u043b\u044f \u0434\u0432\u0443\u0445 \u0440\u0435\u043f\u043b\u0438\u043a VMAgent \u0438 \u0441\u0431\u043e\u0435\u0432 \u0432 \u0441\u0435\u0442\u0438 \u0431\u044b\u043b\u0430 \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u2013 \u0443\u0435\u0437\u0436\u0430\u043b\u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438. \u0418\u043d\u043e\u0433\u0434\u0430 \u043d\u0430 \u0447\u0430\u0441, \u0438\u043d\u043e\u0433\u0434\u0430 \u043d\u0430 \u0434\u0432\u0430 \u0447\u0430\u0441\u0430 \u2014 \u0441 \u0434\u0435\u043b\u044c\u0442\u043e\u0439 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.\u00a0<\/p>\n<p>\u041c\u044b \u0442\u0430\u043a \u0438 \u043d\u0435 \u0441\u043c\u043e\u0433\u043b\u0438 \u043f\u043e\u043d\u044f\u0442\u044c \u043f\u0440\u0438\u0447\u0438\u043d\u0443 \u044d\u0442\u043e\u0433\u043e \u044f\u0432\u043b\u0435\u043d\u0438\u044f. \u041d\u043e \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0434\u043d\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 VMAgent \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043d\u0435 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u043b\u043e\u0441\u044c.\u00a0<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0443\u044e \u043f\u0440\u0438\u0447\u0438\u043d\u0443 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f, \u0431\u0443\u0434\u0443 \u0440\u0430\u0434 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043e\u0431 \u044d\u0442\u043e\u043c \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445).<\/p>\n<h4>\u0421\u0443\u043c\u043c\u0438\u0440\u0443\u0435\u043c \u043d\u044e\u0430\u043d\u0441\u044b<\/h4>\n<p>\u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u044b \u043f\u0440\u0438\u043d\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0435 \u0442\u0430\u0449\u0438\u0442\u044c \u0441\u0432\u044f\u0437\u043a\u0443 VMAgent + Thanos receiver \u0432 \u043f\u0440\u043e\u0434.\u00a0<\/p>\n<p>\u0412\u044b\u0448\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u043d\u044e\u0430\u043d\u0441\u044b \u0432 Thanos \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434 \u0441\u0442\u043e\u0440\u0430\u0434\u0436\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 backfilling \u2013 \u0432\u0441\u0442\u0430\u0432\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043c\u0435\u0442\u043a\u0435 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c. \u0422\u0443\u0442 \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0435\u0449\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 <a href=\"https:\/\/github.com\/prometheus\/prometheus\/blob\/v2.24.0\/docs\/storage.md#backfilling-from-openmetrics-format\"><u>Prometheus v2.24.0<\/u><\/a>. \u0415\u0441\u043b\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445, \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c <a href=\"https:\/\/www.projectpro.io\/recipes\/deal-with-missing-values-in-timeseries-in-python\"><u>\u0442\u0443\u0442<\/u><\/a> \u0438 <a href=\"https:\/\/docs.timescale.com\/timescaledb\/latest\/how-to-guides\/compression\/backfill-historical-data\/#backfill-historical-data-on-compressed-chunks\"><u>\u0442\u0443\u0442<\/u><\/a>.\u00a0<\/p>\n<h3>\u0410 \u0447\u0442\u043e \u0441 VictoriaMetrics stack?<\/h3>\n<p>\u041a\u0430\u043a \u044f \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u0432\u044b\u0448\u0435, \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u0441 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c Thanos Receiver, \u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0438 \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 VictoriaMetrics.<\/p>\n<p>\u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0444\u0438\u0447 VictoriaMetrics \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Backfilling \u0438\u0437 <a href=\"https:\/\/docs.victoriametrics.com\/?highlight=backfilling#:~:text=It%20supports%20metrics%27%20scraping%2C%20ingestion%20and%20backfilling%20via%20the%20following%20protocols\"><u>\u043a\u043e\u0440\u043e\u0431\u043a\u0438<\/u><\/a>. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 out-of-order samples \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0442\u0435\u043a\u0430 VictoriaMetrics \u043d\u0430\u043c \u043d\u0435 \u0441\u0442\u0440\u0430\u0448\u043d\u044b. \u042d\u0442\u043e \u0436\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e remote write \u0441\u0442\u043e\u0440\u0430\u0434\u0436\u0430, \u0435\u0441\u043b\u0438 \u043e\u0434\u043d\u043e\u0439 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043c\u0430 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 Thanos \u043c\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0438\u043d\u0430\u0447\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043c <a href=\"https:\/\/thanos.io\/tip\/operating\/troubleshooting.md\/#out-of-order-samples-error\"><u>out-of-order samples<\/u><\/a>.\u00a0<\/p>\n<p>\u0417\u0430 \u0432\u0440\u0435\u043c\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u044b \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u0438, \u0447\u0442\u043e VictoriaMetrics \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043f\u043e\u0434 \u043d\u0430\u0448\u0438 \u0437\u0430\u0434\u0430\u0447\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u043c \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0448\u0438\u0442\u044c, \u043a\u0430\u043a \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 k8s \u0432 \u0434\u0440\u0443\u0433\u043e\u0439.\u00a0<\/p>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0438 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c vmbackup. \u041d\u043e \u044d\u0442\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043a\u043e\u0433\u0434\u0430 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439. \u0410 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0431\u044b\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 VMStorage \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0438 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c stateless-\u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439 (vmagent, vmselect, vminsert).<\/p>\n<p>\u041c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c managed kubernetes \u0432 \u043e\u0431\u043b\u0430\u043a\u0430\u0445, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e, \u0447\u0442\u043e\u0431\u044b \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043b\u043e\u0441\u044c \u043e\u0431\u043e\u0438\u043c\u0438 \u043d\u0430\u0448\u0438\u043c\u0438 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u043c\u0438 (\u0443 \u043d\u0430\u0441 \u044d\u0442\u043e \u042f\u043d\u0434\u0435\u043a\u0441.\u041e\u0431\u043b\u0430\u043a\u043e \u0438 Azure). \u0418\u0437\u0443\u0447\u0438\u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043d\u0430\u0448\u0438\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432, \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438, \u0447\u0442\u043e \u043e\u0431\u0430 \u0432\u0435\u043d\u0434\u043e\u0440\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f static PersistentVolume (\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u2013 \u0434\u043b\u044f Azure <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/databox-online\/azure-stack-edge-gpu-deploy-stateful-application-static-provision-kubernetes\"><u>\u0442\u0443\u0442<\/u><\/a>, \u0434\u043b\u044f \u042f\u041e <a href=\"https:\/\/cloud.yandex.ru\/docs\/managed-kubernetes\/operations\/volumes\/static-create-pv\"><u>\u0442\u0443\u0442<\/u><\/a>). \u0412 \u0438\u0442\u043e\u0433\u0435 \u043c\u044b \u043f\u0440\u0438\u0448\u043b\u0438 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435:<\/p>\n<ul>\n<li>\n<p>\u0447\u0435\u0440\u0435\u0437 terraform \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0434\u0438\u0441\u043a\u0438 \u0432 \u043e\u0431\u043b\u0430\u043a\u0435;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442 PersistentVolume \u0432 Kubernetes \u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0434\u0438\u0441\u043a.\u00a0<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a \u043a\u0430\u043a StatefulSet \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u043e\u0434\u0430 \u0438\u043c\u0435\u0435\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440, \u0442\u043e \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 volumeClaimTemplates \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u043f\u0438\u0441\u0430\u0442\u044c, \u043a\u0430\u043a\u043e\u0435 \u0438\u043c\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0442\u043e\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c claimName (\u043e\u043d\u043e \u0442\u043e\u0436\u0435 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u043e\u0435, \u0438 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u0442 \u0436\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0447\u0442\u043e \u0432 \u043f\u043e\u0434\u0435), \u0438 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0432\u0438\u0436\u0438\u043d\u0435\u0440 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u0442\u043e\u043c\u043e\u0432 PersistentVolume.\u00a0<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0445\u0435\u043c\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 claimRef \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e. \u041d\u0438\u0436\u0435 \u2014\u00a0\u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433, \u0434\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f. \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u044b \u0434\u0432\u0435 PersistentVolume \u0441 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0449\u0438\u043c\u0438\u0441\u044f claimRef \u0438 volumeHandle (\u0438\u043d\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043d\u0430\u0448\u0435\u0433\u043e \u0434\u0438\u0441\u043a\u0430) \u0438 \u043e\u0434\u0438\u043d kind StatefulSet c volumeClaimTemplates.<\/p>\n<pre><code>--- apiVersion: v1 kind: PersistentVolume metadata:  name: prod-yc-vm-storage-0 spec:  capacity:    storage: 100Gi  accessModes:    - ReadWriteOnce  persistentVolumeReclaimPolicy: Retain  storageClassName: yc-network-ssd  csi:    driver: disk-csi-driver.mks.ycloud.io    fsType: ext4    # See it in terraform.    volumeHandle: qwerty0  claimRef:    namespace: monitoring-system    name: pvc-vm-vmstorage-0 --- apiVersion: v1 kind: PersistentVolume metadata:  name: prod-yc-vm-storage-1 spec:  capacity:    storage: 100Gi  accessModes:    - ReadWriteOnce  persistentVolumeReclaimPolicy: Retain  storageClassName: yc-network-ssd  csi:    driver: disk-csi-driver.mks.ycloud.io    fsType: ext4    # See it in terraform.    volumeHandle: qwerty1  claimRef:    namespace: monitoring-system    name: pvc-vm-vmstorage-1 --- apiVersion: apps\/v1 kind: StatefulSet metadata:  name: vmstorage  namespace: monitoring-system spec:  selector:    matchLabels:      app: vmstorage  serviceName: \"vmstorage\"  replicas: 2  podManagementPolicy: OrderedReady  template:    metadata:      labels:        app: vmstorage        app.kubernetes.io\/name: vmstorage        app.kubernetes.io\/instance: vmstorage-b        app.kubernetes.io\/version: \"v1.74.0\"    spec:      containers:      - name: vmstorage        image: \"victoriametrics\/vmstorage:v1.74.0-cluster\"        volumeMounts:        - name: pvc-vm          mountPath: \/storage  volumeClaimTemplates:  - metadata:      name: pvc-vm    spec:      accessModes: [ \"ReadWriteOnce\" ]      resources:        requests:          storage: 100Gi      storageClassName: yc-network-ssd<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c VMStorage \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 Kubernetes \u0432 \u0434\u0440\u0443\u0433\u043e\u0439, \u043f\u043e\u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0438 StatefulSet \u0432 \u043e\u0434\u043d\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0441 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435\u043c PersistentVolume \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044f PersistentVolume \u0441 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435\u043c \u0440\u0435\u043f\u043b\u0438\u043a \u0432 \u0434\u0440\u0443\u0433\u043e\u043c, \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u044f \u044d\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432 VMSelect \u0438 VMInsert.\u00a0<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0445\u0435\u043c\u0435 \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u043d\u044e\u0430\u043d\u0441\u0430:\u00a0<\/p>\n<ul>\n<li>\n<p>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e \u044d\u0442\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043c\u044b \u043f\u043e\u043a\u0430 \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u043b\u0438, \u043e\u0442\u043b\u043e\u0436\u0438\u0432 \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443 \u0432 \u0431\u044d\u043a\u043b\u043e\u0433 \u2014 \u0434\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043a\u043e\u0433\u0434\u0430 \u0442\u0430\u043a\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f. \u0414\u0430\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u2014 \u0441\u043a\u043e\u0440\u0435\u0435 \u0437\u0430\u0434\u0435\u043b \u043d\u0430 \u0431\u0443\u0434\u0443\u0449\u0435\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u0445\u0435\u043c\u0430 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c pod-to-pod \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0441\u0442\u044c \u0431\u0435\u0437 NAT (\u0432 \u043d\u0430\u0448\u0438\u0445 \u043e\u0431\u043b\u0430\u043a\u0430\u0445 \u0442\u0430\u043a\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0435\u0441\u0442\u044c), \u043b\u0438\u0431\u043e \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0435 \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u043e\u0434 \u043f\u0440\u043e\u043a\u0438\u043d\u0443\u0442\u044c \u043f\u043e \u0441\u0435\u0442\u0435\u0432\u043e\u043c\u0443 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0443, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043c\u0435\u0436\u0434\u0443 VMSelect\/VMInsert \u0438 VMStorage \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u0445.<\/p>\n<\/li>\n<\/ul>\n<p>\u0412\u0437\u044f\u0432 \u0437\u0430 \u043e\u0441\u043d\u043e\u0432\u0443 \u0441\u0442\u0430\u0442\u044c\u044e <a href=\"https:\/\/www.giffgaff.io\/tech\/resizing-statefulset-persistent-volumes-with-zero-downtime\"><u>Resizing StatefulSet Persistent Volumes with zero downtime<\/u><\/a>, \u043c\u044b \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0441\u0445\u0435\u043c\u0443 \u0441 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u043f\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0434\u0438\u0441\u043a\u0430 \u0434\u043b\u044f VMStorage.\u00a0<\/p>\n<p>\u041d\u0438\u0436\u0435 \u2013 \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f terraform \u0432 \u042f\u043d\u0434\u0435\u043a\u0441 \u041e\u0431\u043b\u0430\u043a\u0435:<\/p>\n<ul>\n<li>\n<p>\u0443\u0434\u0430\u043b\u044f\u0435\u043c kind StatefulSet VMStorage \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u201c\u0441\u0438\u0440\u043e\u0442\u0441\u043a\u0438\u0435\u201d \u043f\u043e\u0434\u044b \u0431\u0435\u0437 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 StatefulSet.<\/p>\n<\/li>\n<\/ul>\n<p><code>k delete sts --cascade=orphan vmstorage<\/code><\/p>\n<ul>\n<li>\n<p>\u0443\u0434\u0430\u043b\u044f\u0435\u043c pod \u0441 \u0441\u0430\u043c\u044b\u043c \u0432\u044b\u0441\u043e\u043a\u0438\u043c id (\u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u0432\u0430 \u043f\u043e\u0434\u0430, \u0443 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u043c\u044f vmstorage-0, \u0443 \u0432\u0442\u043e\u0440\u043e\u0433\u043e vmstorage-1). \u0423\u0434\u0430\u043b\u044f\u0442\u044c \u043f\u043e\u0434 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043d\u0430\u0448\u0435 \u043e\u0431\u043b\u0430\u043a\u043e \u043d\u0435 \u0434\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u0438\u0441\u043a\u0430, \u0435\u0441\u043b\u0438 \u043e\u043d \u043f\u0440\u0438\u043c\u0430\u0443\u043d\u0447\u0435\u043d.<\/p>\n<\/li>\n<\/ul>\n<p><code>k delete pod vmstorage-1<\/code><\/p>\n<ul>\n<li>\n<p>\u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u0438\u0441\u043a\u0430 \u0432 \u043e\u0431\u043b\u0430\u043a\u0435 \u0434\u043e 110G.<\/p>\n<\/li>\n<\/ul>\n<p><code>yc compute disk update --size 110G --id qwerty1<\/code><\/p>\n<ul>\n<li>\n<p>\u043f\u0430\u0442\u0447\u0438\u043c PVC, \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u044f \u0441\u0442\u043e\u0440\u0430\u0434\u0436 \u0434\u043e 110G.<\/p>\n<\/li>\n<\/ul>\n<p><code>k patch pvc pvc-vm-vmstorage-1 --patch '{\"spec\": {\"resources\": {\"requests\": {\"storage\": \"110Gi\"}}}}'<\/code><\/p>\n<ul>\n<li>\n<p>\u0434\u0435\u043f\u043b\u043e\u0438\u043c StatefulSet \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u044f \u0440\u0430\u0437\u043c\u0435\u0440 storage \u0432 storageClassName.<\/p>\n<\/li>\n<\/ul>\n<pre><code>cat &lt;&lt;EOF | kubectl apply -f - --- apiVersion: apps\/v1 kind: StatefulSet metadata:  name: vmstorage  namespace: monitoring-system spec:  selector:    matchLabels:      app: vmstorage  serviceName: \"vmstorage\"  replicas: 2  podManagementPolicy: OrderedReady  template:    metadata:      labels:        app: vmstorage        app.kubernetes.io\/name: vmstorage        app.kubernetes.io\/instance: vmstorage-b        app.kubernetes.io\/version: \"v1.74.0\"    spec:      containers:      - name: vmstorage        image: \"victoriametrics\/vmstorage:v1.74.0-cluster\"        volumeMounts:        - name: pvc-vm          mountPath: \/storage  volumeClaimTemplates:  - metadata:      name: pvc-vm    spec:      accessModes: [ \"ReadWriteOnce\" ]      resources:        requests:          storage: 100Gi      storageClassName: yc-network-ssd EOF <\/code><\/pre>\n<ul>\n<li>\n<p>\u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u043f\u0443\u043d\u043a\u0442\u044b 1-4 \u04341\u044f vmstorage-1.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0434\u0435\u043f\u043b\u043e\u0438\u043c \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442 \u0441 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u043d\u044b\u043c storage \u0432 storageClassName.<\/p>\n<\/li>\n<\/ul>\n<pre><code>cat &lt;&lt;EOF | kubectl apply -f - --- apiVersion: apps\/v1 kind: StatefulSet metadata:  name: vmstorage  namespace: monitoring-system spec:  selector:    matchLabels:      app: vmstorage  serviceName: \"vmstorage\"  replicas: 2  podManagementPolicy: OrderedReady  template:    metadata:      labels:        app: vmstorage        app.kubernetes.io\/name: vmstorage        app.kubernetes.io\/instance: vmstorage-b        app.kubernetes.io\/version: \"v1.74.0\"    spec:      containers:      - name: vmstorage        image: \"victoriametrics\/vmstorage:v1.74.0-cluster\"        volumeMounts:        - name: pvc-vm          mountPath: \/storage  volumeClaimTemplates:  - metadata:      name: pvc-vm    spec:      accessModes: [ \"ReadWriteOnce\" ]      resources:        requests:          storage: 110Gi      storageClassName: yc-network-ssd EOF<\/code><\/pre>\n<h4>Downsampling?\u00a0<\/h4>\n<p>\u041a\u0430\u043a \u0431\u044b\u043b\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0432\u044b\u0448\u0435, downsampling \u0432 VictoriaMetrics \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 enterprise-\u0432\u0435\u0440\u0441\u0438\u0438.<\/p>\n<p>\u0425\u043e\u0442\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 <a href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics#:~:text=The%20downsampling%20can%20be%20evaluated%20for%20free%20by%20downloading%20and%20using%20enterprise%20binaries%20from%20the%20releases%20page.\"><u>\u0445\u0430\u043a \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u0444\u0438\u0447\u0438<\/u><\/a>, \u043c\u044b <s>\u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u043a\u043e\u0441\u0442\u044b\u043b\u044c <\/s>\u043f\u043e\u0448\u043b\u0438 \u0441\u0432\u043e\u0438\u043c \u043f\u0443\u0442\u0435\u043c: \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b VMAgent \u0441\u043e scrape Interval \u0432 5 \u043c\u0438\u043d\u0443\u0442 (\u0434\u043b\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 \u0434\u043e 3\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432) \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 VMStorage c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c dedup.minScrapeInterval (\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u0445 \u043d\u0430\u043b\u0438\u0447\u0438\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 VMStorage \u043d\u0438\u0436\u0435).\u00a0<\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c \u043d\u0435\u043a\u043e\u0435 \u043f\u043e\u0434\u043e\u0431\u0438\u0435 downsampling. \u0410 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e VictoriaMetrics \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u043e <a href=\"https:\/\/faun.pub\/victoriametrics-achieving-better-compression-for-time-series-data-than-gorilla-317bc1f95932\"><u>\u0441\u0436\u0438\u043c\u0430\u0435\u0442 time series<\/u><\/a> \u2014 \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043d\u0430 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u0441\u0442\u0430 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435.\u00a0<\/p>\n<p>\u0412\u043e\u043e\u0431\u0449\u0435, \u043f\u043e \u043f\u043e\u0432\u043e\u0434\u0443 downsampling \u0438 \u043a\u0430\u043a \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u2014 \u0435\u0441\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u0435\u0435 <a href=\"https:\/\/www.youtube.com\/watch?v=qQN0N14HXPM&amp;t=714s\"><u>\u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435<\/u><\/a> \u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u044b Thanos.<\/p>\n<h4>\u041d\u044e\u0430\u043d\u0441\u044b VictoriaMetrics<\/h4>\n<ul>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0432 Thanos \u0434\u043b\u044f \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0443 \u0430\u0433\u0435\u043d\u0442\u043e\u0432 \u0431\u044b\u043b \u0440\u0430\u0437\u043d\u044b\u0439 external label, \u0442\u043e \u0434\u043b\u044f VictoriaMetrics \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u043c.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0434\u0432\u0443\u0445 VMAgent, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043a\u0440\u0435\u0439\u043f\u044f\u0442 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0438 \u043f\u0438\u0448\u0443\u0442 \u0442\u043e\u0442 \u0436\u0435 \u043d\u0430\u0431\u043e\u0440 VMStorage (\u0442\u043e\u0447\u043d\u0435\u0435 \u0432 VMInsert&#8217;\u044b, \u0430 \u0442\u0435 \u0443\u0436\u0435 \u0432 VMStorage), \u0441\u0442\u0430\u043b\u0438 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u044c, \u0447\u0442\u043e \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u201c\u0441\u043a\u0430\u043a\u0430\u0442\u044c\u201d. \u042d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u044d\u0442\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0434\u0432\u0430 VMAgent&#8217;\u0430 \u0441\u043a\u0440\u0435\u0439\u043f\u044f\u0442 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 samples \u0441 \u0434\u0435\u043b\u044c\u0442\u043e\u0439 \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 (\u0442.\u0435. \u043d\u0435 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e). \u041e\u0434\u043d\u043e \u0438\u0437 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 &#8212; <a href=\"https:\/\/docs.victoriametrics.com\/vmagent.html#scraping-big-number-of-targets\"><u>\u0448\u0430\u0440\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/u><\/a>. \u0414\u0435\u043f\u043b\u043e\u044f VMAgent \u043a\u0430\u043a statefulset \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u044f \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 promscrape.cluster.memberNum=%{POD_NAME}. \u0412\u0442\u043e\u0440\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 &#8212; \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 VMStorage \u0438 VMSelect dedup.minScrapeInterval \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0447\u0435\u043c ScrapeInterval \u0432 VMAgent. \u0422\u0430\u043a \u0436\u0435 \u0435\u0441\u0442\u044c <a href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\/issues\/2679\"><u>issue<\/u><\/a> \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 VMAgent \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 AZ \u0434\u0435\u043b\u0430\u044e\u0449\u0438\u0445 scrape samples \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u0445 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u043e\u0432 (\u044d\u0442\u043e \u043a\u0441\u0442\u0430\u0442\u0438, \u043d\u0430\u0448 \u0441\u043b\u0443\u0447\u0430\u0439). \u0414\u0430\u043d\u043d\u0430\u044f issue \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u0441 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f <a href=\"http:\/\/promscrape.cluster.name\">promscrape.cluster.name<\/a> \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 v1.78.0.<\/p>\n<\/li>\n<\/ul>\n<p>\u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043f\u0440\u043e \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 <a href=\"https:\/\/docs.victoriametrics.com\/#deduplication\"><u>\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/u><\/a>.<\/p>\n<ul>\n<li>\n<p>\u0420\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>\u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442 Thanos Receiver, VMStorage \u043d\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u043e\u0434\u043d\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435, \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0437\u043d\u0430\u044e \u0434\u0440\u0443\u0433 \u043e \u0434\u0440\u0443\u0433\u0435. \u0420\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f time series \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 VMInsert, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 VMStorage. \u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u043e \u0444\u043e\u0440\u043c\u0443\u043b\u0435 <a href=\"https:\/\/docs.victoriametrics.com\/Cluster-VictoriaMetrics.html#replication-and-data-safety\"><u>2<\/u><em><u>N-1<\/u><\/em><\/a><em>, \u0433\u0434\u0435 N \u2013 \u044d\u0442\u043e replicationFactor. \u0422\u043e \u0435\u0441\u0442\u044c \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0445\u043e\u0441\u0442\u043e\u0432 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c, \u0435\u0441\u043b\u0438 replicationFactor \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0435\u0434\u0438\u043d\u0438\u0446\u044b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: replicationFactor=1 (2<\/em>1-1=1) \u2013 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043e\u0434\u0438\u043d VMStorage, replicationFactor=2 (2*2-1=3) \u2013\u00a0 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0442\u0440\u0438 VMStorage.\u00a0<\/p>\n<\/li>\n<li>\n<p>VMInsert \u0440\u0435\u043f\u043b\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e \u043d\u0430 VMStorage (\u043e\u0436\u0438\u0434\u0430\u0435\u0442, \u043f\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0448\u0443\u0442\u0441\u044f \u0432\u043e \u0432\u0441\u0435 VMStorage). \u0422\u0430\u043a \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043d\u0435 \u043d\u0430\u0431\u0435\u0440\u0435\u0442\u0441\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043d\u043e\u0434 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c, \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0430.<\/p>\n<\/li>\n<li>\n<p>VMSelect \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0430 \u0432\u0441\u0435 VMStorage, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 storageNode \u0438 \u0436\u0434\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u0430 \u043e\u0442 &lt;\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e VMStorage> &#8212; replicationFactor + 1. \u0422\u0430\u043a\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u043e\u0442\u0434\u0430\u0447\u0443 \u043e\u0442\u0432\u0435\u0442\u0430, \u043d\u0435 \u0434\u043e\u0436\u0438\u0434\u0430\u044f\u0441\u044c \u043e\u0442\u0432\u0435\u0442\u0430 \u043e\u0442 VMStorage. \u041d\u043e replicationFactor \u0432 VMSelect \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u043e, \u043a\u043e\u0433\u0434\u0430 <s>\u0432\u0441\u0435 \u0445\u043e\u0440\u043e\u0448\u043e<\/s> \u043d\u0430 VMStorage \u043d\u043e\u0434\u0430\u0445 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0440\u0430\u0432\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043f\u0438\u0439 \u0432\u0441\u0435\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438 replicationFactor. \u041d\u043e \u0435\u0441\u043b\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b \u0432\u044b\u0432\u0435\u043b\u0438 \u043d\u0430 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043d\u043e\u0434\u044b \u0441 VMStorage \u0438\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0435 \u2013 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u0445. \u041d\u0430 \u044d\u0442\u043e \u0435\u0441\u0442\u044c <a href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\/issues\/1207\"><u>issue<\/u><\/a>. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u0442\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u043b\u0443\u0447\u0448\u0435 \u0443\u0431\u0440\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 replicationFactor \u0438\u0437 VMSelect, \u0447\u0442\u043e\u0431\u044b VMSelect \u0434\u043e\u0436\u0438\u0434\u0430\u043b\u0441\u044f \u043e\u0442\u0432\u0435\u0442\u0430 \u043e\u0442 \u0432\u0441\u0435\u0445 VMStorage \u043d\u043e\u0434 \u043f\u0435\u0440\u0435\u0434 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u043e\u0442\u0432\u0435\u0442\u0430 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441.<\/p>\n<\/li>\n<li>\n<p>\u0427\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 replicationFactor, \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 <a href=\"https:\/\/docs.victoriametrics.com\/Cluster-VictoriaMetrics.html#replication-and-data-safety\"><u>CPU, RAM \u0438 \u043c\u0435\u0441\u0442\u0430 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435<\/u><\/a>.\u00a0 <\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>VMInsert \u0438 VMStorage \u0441\u0436\u0438\u043c\u0430\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u0438\u0445, \u0447\u0442\u043e \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 CPU. \u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u0438\u043b\u044c\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u044b \u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u0445 CPU, \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u044d\u0442\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 -rpc.disableCompression. <\/p>\n<\/li>\n<li>\n<p>\u0414\u043b\u044f \u0434\u0435\u043f\u043b\u043e\u044f \u0432 Kubernetes \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 helm-\u0447\u0430\u0440\u0442\u044b, \u0442\u0430\u043a \u0438 \u0432\u0435\u043d\u0434\u043e\u0440\u043d\u044b\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f kind <a href=\"https:\/\/github.com\/prometheus-operator\/prometheus-operator\/blob\/main\/Documentation\/design.md#servicemonitor\"><u>ServiceMonitor<\/u><\/a> \u0434\u043b\u044f service discovery \u0432 prometheus. VMAgent \u043d\u0435 \u0443\u043c\u0435\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0434\u0430\u043d\u043d\u044b\u043c \u0442\u0438\u043f\u043e\u043c CRD. \u041c\u044b \u043d\u0435 \u0441\u0442\u0430\u043b\u0438 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0448\u0438 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u0447\u0430\u0440\u0442\u044b (\u0438 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0432\u0435\u043d\u0434\u043e\u0440\u043d\u044b\u0435), \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u043b\u0438 VMOpertor \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043c\u0435\u0435\u0442 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c CR ServiceMonitor \u0432 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 VictoriaMetrics. \u042d\u0442\u043e \u043d\u0435 \u043e\u0442\u043c\u0435\u043d\u044f\u0435\u0442 \u0442\u043e\u0433\u043e \u0444\u0430\u043a\u0442\u0430, \u0447\u0442\u043e <a href=\"https:\/\/github.com\/prometheus-community\/helm-charts\/blob\/main\/charts\/kube-prometheus-stack\/crds\/crd-servicemonitors.yaml\"><u>CRD ServiceMonitor<\/u><\/a> \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u0442\u044c \u0432 Kubernetes, \u0442\u0430\u043a \u043a\u0430\u043a \u0434\u0430\u043d\u043d\u043e\u0435 CRD \u043d\u0435 \u0438\u0434\u0435\u0442 \u0432 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0435 \u0441 VictoriaMetrics). \u0414\u0430\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0435\u0437\u0434 \u0441 Prometheus \u043d\u0430 VictoriaMetrics.<\/p>\n<\/li>\n<\/ul>\n<h3>\u041f\u0440\u043e\u0444\u0438\u0442 \u043e\u0442 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438\u00a0<\/h3>\n<p>\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0430 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b\u0438 \u0441\u0442\u0435\u043a VMAgent + Thanos Receiver, \u043d\u043e \u043e\u043d \u043d\u0435 \u043f\u043e\u0434\u043e\u0448\u0435\u043b \u043d\u0430\u043c \u043f\u043e \u0440\u044f\u0434\u0443 \u043f\u0440\u0438\u0447\u0438\u043d \u2013 \u0442\u0435\u0445 \u0441\u0430\u043c\u044b\u0445 \u043d\u044e\u0430\u043d\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0431\u044b\u043b\u0438 \u0432\u0430\u0436\u043d\u044b. \u041a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u043c \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 backfilling, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0435\u0441\u0442\u044c \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u0432 VictoriaMetrics, \u043a\u0443\u0434\u0430 \u043c\u044b \u0432 \u0438\u0442\u043e\u0433\u0435 \u0438 \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438. VictoriaMetrics \u043f\u043e\u0434\u043a\u0443\u043f\u0438\u043b\u0430 \u0435\u0449\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439.<\/p>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043c\u044b \u0441\u043d\u0438\u0437\u0438\u043b\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043f\u043e RAM \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430; \u043f\u043e CPU \u2014 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 \u043f\u043e\u043b\u0442\u043e\u0440\u0430 \u0440\u0430\u0437\u0430; \u043d\u0430 \u0441\u0442\u043e\u0440\u0430\u0434\u0436 \u2014 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 \u0442\u0440\u0438 \u0440\u0430\u0437\u0430. \u042d\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u043f\u043e \u0442\u043e\u0439 \u043f\u0440\u0438\u0447\u0438\u043d\u0435, \u0447\u0442\u043e \u0432 Object Storage \u0432\u0437\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u043b\u0430\u0442\u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e \u0438 \u0437\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0434\u0438\u0441\u043a\u0438 \u043f\u0440\u0438\u0432\u0435\u043b \u043a \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.\u00a0\u00a0<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0431\u043e\u043d\u0443\u0441\u043e\u043c \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043e\u0442\u0434\u0430\u0447\u0443 \u043c\u0435\u0442\u0440\u0438\u043a \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u2014 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043d\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u044b 2-3 (\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u0438 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u0445 \u043d\u0430\u0448\u0435\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b), \u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 \u0441\u043e \u0441\u0445\u0435\u043c\u043e\u0439 \u0441 Thanos Sidecar.<\/p>\n<p>\u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 60 000 \u0440\u0443\u0431\u043b\u0435\u0439 \u0432 \u043c\u0435\u0441\u044f\u0446. \u041f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043d\u044f\u043b\u043e \u043e\u043a\u043e\u043b\u043e \u0434\u0432\u0443\u0445 \u0441 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u043e\u0439 \u043d\u0435\u0434\u0435\u043b\u044c. \u0422\u0430\u043a \u0447\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0447\u0435\u0440\u0435\u0437 3-4 \u043c\u0435\u0441\u044f\u0446\u0430 \u0434\u0430\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043e\u043a\u0443\u043f\u0438\u0442\u044c\u0441\u044f.<\/p>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432 \u0432\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0435\u0442\u0440\u0438\u043a, \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043f\u043e\u0438\u0441\u043a\u0430, \u0437\u0430\u0434\u0430\u0447\u0438, \u0434\u0430 \u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0443 \u043d\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b. \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u043d\u0430\u0448 \u043e\u043f\u044b\u0442 \u0431\u0443\u0434\u0435\u0442 \u0432\u0430\u043c \u043f\u043e\u043b\u0435\u0437\u0435\u043d.<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/sravni\/blog\/672908\/\"> https:\/\/habr.com\/ru\/company\/sravni\/blog\/672908\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><figcaption>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u2014 \u0421\u043e\u044e\u0437\u041c\u0443\u043b\u044c\u0442\u0444\u0438\u043b\u044c\u043c \u00a9<\/figcaption><\/figure>\n<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0413\u0440\u0438\u0433\u043e\u0440\u0438\u0439, \u044f \u0442\u0435\u0445\u043b\u0438\u0434 \u0432 Cloud Infrastructure Team \u0432 \u0421\u0440\u0430\u0432\u043d\u0438. \u041c\u043e\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 observability \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u043e\u0431\u043b\u0430\u0447\u043d\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443. \u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u043c\u044b \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 \u043d\u0430\u0448 \u0441\u0442\u0435\u043a \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430. \u0425\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u0443 \u043d\u0430\u0441 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 long-term \u043c\u0435\u0442\u0440\u0438\u043a \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Object Storage.<\/p>\n<p>\u041c\u044b \u0432 \u0421\u0440\u0430\u0432\u043d\u0438 \u0434\u043e\u043b\u0433\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0441\u0432\u044f\u0437\u043a\u0443 Prometheus + Thanos \u0434\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u043b\u044f Thanos \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0441\u0445\u0435\u043c\u0443 \u0441 <a href=\"https:\/\/camo.githubusercontent.com\/4720f0b558ad470b8b73a6e459bac133bef772c92f96e4f327ae303e21254fbd\/68747470733a2f2f646f63732e676f6f676c652e636f6d2f64726177696e67732f642f652f32504143582d31765442464b4b6766385944496e4a7952616b504538655a5a67397068546c4f734242326f674e6b4676684e47625a385944767a5f63474d6278575a42473147366870735166535831343546705963762f7075623f773d39363026683d373230\"><u>sidecar\u2019\u043e\u043c<\/u><\/a>. \u042d\u0442\u0430 \u0441\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043d\u0435\u043f\u043b\u043e\u0445\u043e, \u043d\u043e \u0441 \u0440\u043e\u0441\u0442\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u2014 \u0440\u043e\u0441\u043b\u043e \u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u0421\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u043e scrape samples \u0443\u0436\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u043b\u0438 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b. \u041a\u043e\u0433\u0434\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 Prometheus \u0441\u0442\u0430\u043b\u043e \u0443\u0445\u043e\u0434\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 30 \u044f\u0434\u0435\u0440 vCPU \u0438 100 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 RAM, \u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u0438\u0441\u043a\u0430\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.\u00a0<\/p>\n<p>\u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430:<\/p>\n<ul>\n<li>\n<p>\u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0432 Kubernetes;<\/p>\n<\/li>\n<li>\n<p>\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u0430 \u043f\u0435\u0440\u0435\u0435\u0437\u0436\u0430\u0442\u044c \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e Kubernetes-\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u0438 \u0434\u0430\u043d\u043d\u044b\u0445;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0443\u0436\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 downsampling;<\/p>\n<\/li>\n<li>\n<p>\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c high availability \u0441\u0438\u0441\u0442\u0435\u043c\u0443;<\/p>\n<\/li>\n<li>\n<p>\u0432 \u0438\u0434\u0435\u0430\u043b\u0435, \u0447\u0442\u043e\u0431\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u0430 \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u043e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043d\u0430 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \ud83d\ude09<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u044b \u043f\u043e\u0438\u0437\u0443\u0447\u0430\u043b\u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b, \u0438 \u0441\u043f\u0435\u0440\u0432\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u0435\u0439 \u0438\u0434\u0435\u0435\u0439 \u0432\u0437\u044f\u0442\u044c \u0441\u0442\u0435\u043a VMAgent + <a href=\"https:\/\/camo.githubusercontent.com\/b0a661d7478b5f65500f704419796ff3ccb3c4aa5ea791c3db2cd2d587831867\/68747470733a2f2f646f63732e676f6f676c652e636f6d2f64726177696e67732f642f652f32504143582d317654666b6f323759425f336162375a4c384f444e47357543637270714b78686d71617a336c572d7968474e335f6f4e786b547271586d77776c635a6a61576633634767414a494d34434d77776b45562f7075623f773d39363026683d373230\"><u>Thanos receiver<\/u><\/a>. \u041a\u0430\u043a \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e \u0443\u0433\u0430\u0434\u0430\u0442\u044c \u0438\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0430\u0442\u044c\u0438, \u044d\u0442\u043e\u0433\u043e \u0443 \u043d\u0430\u0441 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c. \u041d\u0435\u0434\u0430\u0432\u043d\u043e \u044f \u0443\u0432\u0438\u0434\u0435\u043b \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u0447\u0430\u0442\u0435, \u0447\u0442\u043e \u043a\u043e\u043b\u043b\u0435\u0433\u0438 \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0441\u0442\u0435\u043a \u0438 \u043f\u043e \u0442\u0435\u043c \u0436\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c, \u0447\u0442\u043e \u0438 \u043c\u044b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u0448\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043a \u0447\u0435\u043c\u0443 \u043c\u044b \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u0440\u0438\u0448\u043b\u0438.<\/p>\n<h3>\u041f\u0440\u0438\u0447\u0438\u043d\u044b \u0432\u044b\u0431\u043e\u0440\u0430 VMAgent + Thanos receiver<\/h3>\n<p>\u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0430\u0433\u0435\u043d\u0442\u0430, \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0441\u0431\u043e\u0440 samples. \u0412 Prometheus \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e remote write \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f in-memory \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f samples \u0438\u0437 \u0436\u0443\u0440\u043d\u0430\u043b\u0430 (WAL). \u0414\u0430\u043d\u043d\u044b\u0435 \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f <a href=\"https:\/\/prometheus.io\/docs\/practices\/remote_write\/#remote-write-characteristics\"><u>\u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0438 \u0434\u0432\u0443\u0445 \u0447\u0430\u0441\u043e\u0432<\/u><\/a>, \u0438 \u044d\u0442\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c. \u041d\u043e \u0435\u0441\u0442\u044c <a href=\"https:\/\/github.com\/prometheus\/prometheus\/issues\/9607\"><u>issue<\/u><\/a> \u043d\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f.\u00a0<\/p>\n<blockquote>\n<p><em>\u0417\u0430\u0431\u0435\u0433\u0430\u044f \u0432\u043f\u0435\u0440\u0435\u0434, \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430, \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u044b \u0443\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043e\u0434\u0438\u043d<\/em><a href=\"https:\/\/github.com\/thanos-io\/thanos\/blob\/main\/docs\/components\/receive.md#:~:text=The%20thanos%20receive,hours%20by%20default.\"><em><u>, \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442<\/u><\/em><\/a><em> \u0432 \u0441\u0445\u0435\u043c\u0435 \u0441 Thanos Receiver<\/em>. <em>\u0422\u043e \u0435\u0441\u0442\u044c \u043f\u043e \u0444\u0430\u043a\u0442\u0443 \u043c\u044b \u0431\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0448\u043b\u0438 \u0431\u044b \u0438\u0437 pull \u043d\u0430 push \u043c\u043e\u0434\u0435\u043b\u044c (\u043e \u043f\u043b\u044e\u0441\u0430\u0445 \u0438 \u043c\u0438\u043d\u0443\u0441\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c <\/em><a href=\"https:\/\/docs.google.com\/document\/d\/1H47v7WfyKkSLMrR8_iku6u9VB73WrVzBHb2SB6dL9_g\/edit#heading=h.2v27snv0lsur\"><em><u>\u0437\u0434\u0435\u0441\u044c<\/u><\/em><\/a><em>), \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043c\u0443\u043b\u044c\u0442\u0438\u0442\u0435\u043d\u0430\u043d\u0442\u043d\u043e\u0441\u0442\u0438 \u0441 global view, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e, \u043a\u043e\u0433\u0434\u0430 sidecar \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0442\u044c \u0437\u0430\u043b\u0438\u0432\u0430\u0442\u044c time series \u0432 <\/em><a href=\"https:\/\/habr.com\/ru\/post\/482272\/#:~:text=%D0%A3%20Thanos%20%D0%BD%D1%83%D0%B6%D0%BD%D0%BE%20%D1%81%D0%BB%D0%B5%D0%B4%D0%B8%D1%82%D1%8C,%D0%BF%D0%BE%D0%BF%D0%B0%D0%BB%D0%B8%20%D0%B2%20Object%20Storage.\"><em><u>object storage<\/u><\/em><\/a><em>. \u0418 \u0432\u0440\u044f\u0434 \u043b\u0438 \u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0431\u044b \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u044e \u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u0445 (\u043a\u0430\u043a \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0438 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0432 \u0441\u0432\u043e\u0438\u0445 \u0446\u0435\u043b\u044f\u0445).\u00a0<\/em><\/p>\n<p><em>\u041a\u043e\u0433\u0434\u0430 \u043f\u043e\u043d\u044f\u043b\u0438 \u044d\u0442\u043e, \u043c\u044b \u043f\u0440\u0438\u043d\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0432\u0441\u0451 \u0436\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u044b, \u043d\u043e \u0443\u0436\u0435 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0434\u0443\u043c\u044b\u0432\u0430\u044f \u0434\u0440\u0443\u0433\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435.<\/em><\/p>\n<\/blockquote>\n<p>VMAgent \u0443\u043c\u0435\u0435\u0442 \u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u0442\u044c samples \u043d\u0430 \u0434\u0438\u0441\u043a \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0441\u0435\u0442\u0438 \u0438\u043b\u0438 \u0441 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u043c \u0441\u0442\u043e\u0440\u0430\u0434\u0436\u0435\u043c, \u0438 \u043f\u043e\u0442\u043e\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u0445, \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0432\u044f\u0437\u044c \u0441 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u043c \u0441\u0442\u043e\u0440\u0430\u0434\u0436\u0435\u043c \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u2014 \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e. \u0420\u0430\u0437\u043c\u0435\u0440 \u0431\u0443\u0444\u0435\u0440\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0434\u0438\u0441\u043a\u0430. \u0422\u0430\u043a\u0436\u0435 \u0435\u0441\u0442\u044c \u043e\u043f\u0446\u0438\u044f -memory.allowedPercent \u2013 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0433\u0443\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u043a\u044d\u0448\u0438 \u043c\u0435\u0442\u0440\u0438\u043a (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 60% \u043e\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438). \u0418 \u0434\u0430, VictoriaMetrics \u0443\u043c\u0435\u0435\u0442 \u0432 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c cgroupv2.<\/p>\n<p>\u041f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0432 Prometheus \u0438 VMAgent \u043d\u0430 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430\u0445 samples, \u043c\u044b \u0443\u0432\u0438\u0434\u0435\u043b\u0438, \u0447\u0442\u043e VMAgent \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0447\u0435\u043c Prometheus (\u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0442\u0435\u0441\u0442\u043e\u0432 \u043d\u0435 \u0434\u043e\u0436\u0438\u043b\u0438 \u0434\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438).<\/p>\n<p>\u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0432\u044b\u0448\u0435\u0441\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c, \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 \u0437\u0430\u0434\u0430\u0447 VMAgent \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u043b \u0431\u043e\u043b\u044c\u0448\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u043d\u0435\u043c, \u043a\u0430\u043a \u043d\u0430 \u0430\u0433\u0435\u043d\u0442\u0435, \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u044e\u0449\u0435\u043c \u0441\u0431\u043e\u0440 samples \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0449\u0435\u043c \u0438\u0445 \u0432 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0439 \u0441\u0442\u043e\u0440\u0430\u0434\u0436.<\/p>\n<p>Thanos \u0436\u0435 \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c:<\/p>\n<ul>\n<li>\n<p>Community edition \u0432\u0435\u0440\u0441\u0438\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 downsampling (VMStorage \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 Enterprise-\u0432\u0435\u0440\u0441\u0438\u0438);<\/p>\n<\/li>\n<li>\n<p>\u0435\u0441\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Object Storage (\u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u043c \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u044d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043d\u0435 \u0442\u0435\u0440\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0435\u0437 downtime \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0435 \u0441\u0442\u043e\u0440\u0430\u0434\u0436\u0430 \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438).<\/p>\n<\/li>\n<\/ul>\n<h3>\u041d\u0430\u0447\u0430\u043b\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/h3>\n<p>\u041d\u0430\u0447\u0430\u043b\u0438 \u043c\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u0441 \u043f\u043e\u0438\u0441\u043a\u0430 <a href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\/issues\/873\"><u>issue<\/u><\/a> \u0438 \u0447\u0442\u0435\u043d\u0438\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438. \u0412\u043e\u043e\u0440\u0443\u0436\u0438\u0432\u0448\u0438\u0441\u044c \u044d\u0442\u0438\u043c\u0438 <s>\u0441\u0430\u043a\u0440\u0430\u043b\u044c\u043d\u044b\u043c\u0438<\/s> \u0437\u043d\u0430\u043d\u0438\u044f\u043c\u0438 \u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e helm chart\u2019\u043e\u0432, \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b\u0438 \u0432 Kubernetes, \u0438 \u0441\u0445\u0435\u043c\u0430 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 (\u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e!).<\/p>\n<p><a href=\"https:\/\/camo.githubusercontent.com\/b0a661d7478b5f65500f704419796ff3ccb3c4aa5ea791c3db2cd2d587831867\/68747470733a2f2f646f63732e676f6f676c652e636f6d2f64726177696e67732f642f652f32504143582d317654666b6f323759425f336162375a4c384f444e47357543637270714b78686d71617a336c572d7968474e335f6f4e786b547271586d77776c635a6a61576633634767414a494d34434d77776b45562f7075623f773d39363026683d373230\"><u>\u0421\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u044b c Thanos Receiver<\/u><\/a> \u043c\u0430\u043b\u043e \u0447\u0435\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 Thanos \u0441 sidecar. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u0445 Thanos \u0438 VictoriaMetrics, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0432\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430 \u0412\u0430\u043b\u044f\u043b\u043a\u0438\u043d\u0430 \u2014 \u043d\u0430 <a href=\"https:\/\/habr.com\/ru\/post\/482272\/\"><u>\u0445\u0430\u0431\u0440\u0435<\/u><\/a>, \u0438 \u043d\u0430 <a href=\"https:\/\/faun.pub\/comparing-thanos-to-victoriametrics-cluster-b193bea1683\"><u>medium<\/u><\/a>. \u042f \u043a\u0440\u0430\u0442\u043a\u043e \u043f\u0440\u043e\u0439\u0434\u0443\u0441\u044c \u043f\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c, \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044f\u0441\u044c \u043d\u0430 \u0442\u0435\u0445 \u0447\u0430\u0441\u0442\u044f\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435\u0442 \u0432 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430.<\/p>\n<p>VMAgent \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 samples \u0438\u0437 \u0442\u0430\u0440\u0433\u0435\u0442\u043e\u0432 \u043f\u043e pull-\u043c\u043e\u0434\u0435\u043b\u0438. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e VMAgent \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 samples \u0432 Thanos Receiver (\u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430 L7 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0430 \u0442\u043e\u0442 \u2013 \u0443\u0436\u0435 \u043f\u043e round robin \u043d\u0430 Thanos Receiver). Thanos Receiver \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0440\u0435\u043f\u043b\u0438\u043a (\u0434\u0430\u043b\u0435\u0435 \u0431\u0443\u0434\u0443 \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0438\u0445 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u0430\u043c\u0438). \u0414\u043b\u044f \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 service discovery \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b hashring configuration. \u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043e\u043d <a href=\"https:\/\/thanos.io\/v0.11\/201812_thanos-remote-receive.md\/#:~:text=%5B%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%22hashring,%5D%0A%20%20%20%20%7D%0A%5D\"><u>\u0442\u0430\u043a<\/u><\/a> \u2013 \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u044b, tenant ID \u0438 \u043f\u043e\u0440\u0442\u044b.\u00a0<\/p>\n<p>Thanos Receiver \u0431\u044b\u0432\u0430\u0435\u0442 soft tenancy \u0438 hard tenancy.\u00a0<\/p>\n<ul>\n<li>\n<p>Soft tenancy \u2013 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, tenant ID \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044f\u0432\u043d\u043e \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u043d\u0438 \u0441 \u043e\u0434\u043d\u0438\u043c \u0434\u0440\u0443\u0433\u0438\u043c \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u043e\u043c \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u0432 \u044d\u0442\u043e \u0445\u044d\u0448-\u043a\u043e\u043b\u044c\u0446\u043e soft tenancy; \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u043e \u0444\u0430\u043a\u0442\u0443 \u044d\u0442\u043e \u0442\u0435\u043d\u0430\u043d\u0442 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0435\u0441\u043b\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u0442\u0441\u044f \u043d\u0443\u0436\u043d\u044b\u0439 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442. \u041a \u0441\u043b\u043e\u0432\u0443, id \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u043d\u0430\u043d\u0442\u0430 \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e receive.default-tenant-id. \u0410 \u0435\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043d\u0430\u043d\u0442 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a\u0430\u043a \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a (\u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0437\u043d\u0430\u0447\u0438\u0442\u0441\u044f \u043a\u0430\u043a Load distribution) \u043a hard tenancy.\u00a0<\/p>\n<\/li>\n<li>\n<p>Hard tenancy \u2013 \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e, \u044d\u0442\u043e \u0442\u0435 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u044b, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d tenant ID \u0432 \u043a\u0430\u0436\u0434\u043e\u043c HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u0435. \u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u043c\u0443\u043b\u044c\u0442\u0438\u0442\u0435\u043d\u0430\u043d\u0442\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b Thanos. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e \u0442\u0430\u043a\u0438\u0445 \u0437\u0430\u0434\u0430\u0447, \u0438 \u043c\u044b \u0432\u0435\u0437\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 Soft tenancy Thanos Receiver.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0430 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c \u0441\u0442\u0435\u043d\u0434\u0435 Thanos Receiver \u0441\u043e\u0441\u0442\u043e\u044f\u043b \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0435\u0445 \u0440\u0435\u043f\u043b\u0438\u043a (\u043f\u043e \u0434\u0432\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0437\u043e\u043d \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438) \u0438 \u0445\u0440\u0430\u043d\u0438\u043b \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0438 \u0442\u0440\u0451\u0445 \u0434\u043d\u0435\u0439 (-tsdbRetention=3d). \u041f\u043e\u0447\u0435\u043c\u0443 \u0440\u0435\u0448\u0438\u043b\u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 Thanos Receiver \u0442\u0440\u0438 \u0434\u043d\u044f? \u041d\u0430\u0448 \u0430\u043d\u0430\u043b\u0438\u0437 \u043f\u043e\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0438 \u0442\u0440\u0435\u0445 \u0434\u043d\u0435\u0439 (\u0441\u043a\u0430\u0436\u0435\u043c \u0442\u0430\u043a, \u0433\u043e\u0440\u044f\u0447\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438) \u0438 \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0438\u0445 \u0432\u044b\u0434\u0430\u0447\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c, \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u043e \u0442\u0440\u0435\u0445 \u0434\u043d\u0435\u0439 \u043d\u0430 SSD-\u0434\u0438\u0441\u043a\u0430\u0445.\u00a0<\/p>\n<p>Thanos Receiver, \u043f\u043e\u043b\u0443\u0447\u0438\u0432 samples \u043e\u0442 VMAgent, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 time series \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0432 hashring configuration \u0444\u0430\u0439\u043b\u0435. \u0415\u0441\u043b\u0438 \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e time series<em> <\/em>\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0430 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442 Thanos Receiver \u043d\u0435 \u0431\u044b\u043b \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u043d \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u043d\u0430 <a href=\"https:\/\/github.com\/thanos-io\/thanos\/blob\/7ba274c69cb0a848c7e8e1c593221faa80d8b6e6\/pkg\/receive\/handler.go#L438\"><u>(ReplicationFactor \/ 2) + 1<\/u><\/a>, \u0442\u043e Thanos Receiver \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 \u043a VMAgent. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 replication-factor=3 Thanos Receiver \u0443\u0431\u0435\u0434\u0438\u0442\u0441\u044f, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 time series \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u043d \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u043d\u0430 \u0434\u0432\u0443\u0445 Thanos receivers \u0432 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u0430\u0445 hashring \u0444\u0430\u0439\u043b\u0430 <a href=\"https:\/\/play.golang.com\/p\/xGIukhSwIHi\"><u>( 3\/2 + 1 = 2,5 = 2)<\/u><\/a>.<\/p>\n<p>\u0415\u0449\u0435 \u043e\u0434\u043d\u043e \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0441\u0445\u0435\u043c\u044b \u0441 sidecar \u2013 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e Thanos Query \u0434\u0435\u043b\u0430\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432\u043c\u0435\u0441\u0442\u043e sidecar \u0432 receiver (\u043f\u043e\u043c\u0438\u043c\u043e Store Gateway), \u0438 \u0430\u0433\u0435\u043d\u0442\u0443 (Prometheus \u0438\u043b\u0438 VMAgent) \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 Thanos Receiver (\u0432 \u0441\u0445\u0435\u043c\u0435 \u0441 sidecar, \u0441\u0430\u043c Thanos Sidecar \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u043b \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 Object Storage).<\/p>\n<h3>\u041d\u043e \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441\u2026<\/h3>\n<p>\u0412 \u0446\u0435\u043b\u043e\u043c, \u0432\u044b\u0448\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0434\u043b\u044f \u043d\u0430\u0441. \u041d\u043e \u0434\u044c\u044f\u0432\u043e\u043b \u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0432 \u043c\u0435\u043b\u043e\u0447\u0430\u0445, \u0438 \u0434\u043b\u044f \u043d\u0430\u0441 \u043e\u043d\u0438 \u0441\u0442\u0430\u043b\u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u043c\u0438.<\/p>\n<h4>\u041d\u044e\u0430\u043d\u0441\u044b \u043d\u043e\u043c\u0435\u0440 \u0440\u0430\u0437 \u0438 \u0434\u0432\u0430<\/h4>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438\u0441\u044c \u043f\u0440\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0438 \u043f\u043e\u0434\u0430 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u043e\u0432 Thanos Receiver \u2014\u00a0\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0441\u043b\u0443\u0447\u0430\u0438, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0434 \u0441 Thanos Receiver \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0441\u044f \u043d\u0430 \u043d\u043e\u0434\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u0435\u043b \u0441\u0431\u043e\u0439. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u043e\u0448\u0438\u0431\u0441\u044f \u0438 \u0443\u0434\u0430\u043b\u0438\u043b \u043d\u043e\u0434\u0443 \u0438\u0437 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0434\u0435\u0448\u0435\u0434\u0443\u043b\u043b\u0435\u0440, \u0438 \u043d\u043e\u0434\u0430 \u0443\u0434\u0430\u043b\u0438\u043b\u0430\u0441\u044c, \u0438\u043b\u0438 \u043f\u043e \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u043d\u043e\u0434\u0430 \u0441 \u043f\u043e\u0434\u043e\u043c Thanos Receiver \u0443\u043f\u0430\u043b\u0430.\u00a0<\/p>\n<p>\u041c\u044b \u0441\u0442\u0430\u043b\u0438 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c 409 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 VMAgent, \u0430 \u0432 \u043b\u043e\u0433\u0430\u0445 Thanos Receiver \u0443\u0432\u0438\u0434\u0435\u043b\u0438: hashring has changed; server is not ready to receive web requests.<\/p>\n<p>\u0417\u0430\u0442\u0435\u043c \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439 \u043e\u0442\u043a\u0430\u0437\u0430 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0438\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0435\u0433\u043e \u0447\u0430\u0441\u0442\u0438 \u2013 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u0442\u0440\u0438 \u043d\u043e\u0434\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u044b\u043b\u0438 \u043f\u043e\u0434\u044b \u0441 Thanos Receiver \u0438 \u043b\u043e\u0433\u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0438 \u043f\u0438\u0441\u0430\u0442\u044c\u0441\u044f. \u0422\u0443\u0442 \u0432\u0441\u0435 \u043b\u043e\u0433\u0438\u0447\u043d\u043e.\u00a0<\/p>\n<p>\u0412\u0435\u0440\u043d\u0443\u043b\u0438 \u0432\u0441\u0435 \u0442\u0440\u0438 \u043d\u043e\u0434\u044b \u0432 \u0440\u0430\u0431\u043e\u0442\u0443, \u043d\u043e \u043b\u043e\u0433\u0438 \u043d\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0432 VMAgent, \u0438 \u0431\u044b\u043b\u0438 \u0432\u0438\u0434\u043d\u044b 409 \u043e\u0448\u0438\u0431\u043a\u0438. \u0412 \u043b\u043e\u0433\u0430\u0445: Error on ingesting samples that are too old or are too far into the future. \u0412 <a href=\"https:\/\/thanos.io\/tip\/operating\/troubleshooting.md\/#thanos-receiver-log\"><u>\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0435\u0441\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/u><\/a> \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0438 \u0435\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u044b, \u043d\u043e \u043d\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u044f.<\/p>\n<p>\u041e\u0431\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u043e\u043c\u043e\u0433 \u0440\u0435\u0448\u0438\u0442\u044c <a href=\"https:\/\/github.com\/observatorium\/thanos-receive-controller\"><u>thanos-receive-controller<\/u><\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e running \u043f\u043e\u0434\u043e\u0432 \u0441 \u043b\u0435\u0439\u0431\u043b\u043e\u043c controller.receive.thanos.io=thanos-receive-controller (\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438 \u0441\u0432\u043e\u0439, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f) \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 configMap c hashring configuration \u0444\u0430\u0439\u043b\u043e\u043c, \u0438 \u0441 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u043e\u0439 (\u043f\u043e \u043d\u0430\u0448\u0438\u043c \u0442\u0435\u0441\u0442\u0430\u043c, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0447\u0435\u0440\u0435\u0437 120 \u0441\u0435\u043a\u0443\u043d\u0434) \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e Thanos Receiver \u043f\u0435\u0440\u0435\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0433. \u0412\u0430\u0436\u043d\u043e \u2014 \u043d\u0435 \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c configMap \u043a\u0430\u043a subPath, \u0438\u043d\u0430\u0447\u0435 \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0444\u0430\u0439\u043b \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435; \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u043d\u044e\u0430\u043d\u0441\u0430\u0445 configMap \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 \u0431\u043b\u043e\u0433\u0435 <a href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/498970\/\"><u>\u0424\u043b\u0430\u043d\u0442\u0430<\/u><\/a>.\u00a0<\/p>\n<p>\u0423\u0447\u0442\u0438\u0442\u0435, \u0447\u0442\u043e \u0443 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u0441 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c \u0435\u0441\u0442\u044c \u0438 <a href=\"https:\/\/github.com\/observatorium\/thanos-receive-controller\/issues\/69\"><u>\u043c\u0438\u043d\u0443\u0441\u044b<\/u><\/a>.<\/p>\n<h4>\u041d\u044e\u0430\u043d\u0441 \u043d\u043e\u043c\u0435\u0440 \u0442\u0440\u0438<\/h4>\n<p>\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u0432\u0441\u0435 \u043d\u043e\u0434\u044b \u0441 \u043f\u043e\u0434\u0430\u043c\u0438 Thanos Receiver \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u043d\u0430 2 \u0447\u0430\u0441\u0430; \u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e Thanos Receiver \u2013 \u044d\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430\u0434 Prometheus Remote Write API, \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0432\u044b\u0442\u0435\u043a\u0430\u044e\u0449\u0438\u043c\u0438. \u041f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e Thanos Receiver \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u043b\u043e\u0433\u0438.\u00a0<\/p>\n<p><a href=\"https:\/\/github.com\/thanos-io\/thanos\/issues\/2114\"><u>\u0423 \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u043e\u043a\u0430 \u0447\u0442\u043e \u043d\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u044f<\/u><\/a>; \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438.<\/p>\n<h4>\u041d\u044e\u0430\u043d\u0441 \u043d\u043e\u043c\u0435\u0440 \u0447\u0435\u0442\u044b\u0440\u0435<\/h4>\n<p>\u0420\u0435\u0448\u0438\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0440\u0435\u043f\u043b\u0438\u043a VMAgent (<s>\u043c\u044b \u0436\u0435 \u0432\u0441\u0435 \u0437\u0430 \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0432\u0441\u0435\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u0434\u0430 \u0432\u0435\u0434\u044c?)<\/s>.\u00a0<\/p>\n<p>\u041d\u043e \u0434\u043b\u044f \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 Thanos Querier <a href=\"https:\/\/thanos.io\/v0.18\/components\/query.md\/#deduplication\"><u>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 query.replica-label<\/u><\/a>. \u0418 \u0435\u0441\u0442\u044c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0430\u0433\u0435\u043d\u0442\u0430 \u0434\u043e\u043b\u0436\u0435\u043d <a href=\"https:\/\/thanos.io\/tip\/thanos\/quick-tutorial.md\/#external-labels\"><u>\u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f extrnal_labels<\/u><\/a>. \u0417\u043d\u0430\u0447\u0438\u0442, \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0435 VMAgent \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f.\u00a0<\/p>\n<p>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0430\u0448\u043b\u043e\u0441\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e: \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0435 VMAgent \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f POD_NAME:<\/p>\n<pre><code>external_labels:   replica: %{POD_NAME}<\/code><\/pre>\n<p>\u0418 \u0432 statefulSet VMagent \u043f\u0440\u043e\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0438\u043c\u044f \u043f\u043e\u0434\u0430 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f:<\/p>\n<pre><code>- name: POD_NAME   valueFrom:     fieldRef:       fieldPath: metadata.name<\/code><\/pre>\n<p>\u0412\u0441\u0435 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e.<\/p>\n<h4>\u041d\u044e\u0430\u043d\u0441 \u043d\u043e\u043c\u0435\u0440 \u043f\u044f\u0442\u044c<\/h4>\n<p>\u0414\u043b\u044f \u0434\u0432\u0443\u0445 \u0440\u0435\u043f\u043b\u0438\u043a VMAgent \u0438 \u0441\u0431\u043e\u0435\u0432 \u0432 \u0441\u0435\u0442\u0438 \u0431\u044b\u043b\u0430 \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u2013 \u0443\u0435\u0437\u0436\u0430\u043b\u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438. \u0418\u043d\u043e\u0433\u0434\u0430 \u043d\u0430 \u0447\u0430\u0441, \u0438\u043d\u043e\u0433\u0434\u0430 \u043d\u0430 \u0434\u0432\u0430 \u0447\u0430\u0441\u0430 \u2014 \u0441 \u0434\u0435\u043b\u044c\u0442\u043e\u0439 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.\u00a0<\/p>\n<p>\u041c\u044b \u0442\u0430\u043a \u0438 \u043d\u0435 \u0441\u043c\u043e\u0433\u043b\u0438 \u043f\u043e\u043d\u044f\u0442\u044c \u043f\u0440\u0438\u0447\u0438\u043d\u0443 \u044d\u0442\u043e\u0433\u043e \u044f\u0432\u043b\u0435\u043d\u0438\u044f. \u041d\u043e \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0434\u043d\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 VMAgent \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043d\u0435 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u043b\u043e\u0441\u044c.\u00a0<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0443\u044e \u043f\u0440\u0438\u0447\u0438\u043d\u0443 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f, \u0431\u0443\u0434\u0443 \u0440\u0430\u0434 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043e\u0431 \u044d\u0442\u043e\u043c \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445).<\/p>\n<h4>\u0421\u0443\u043c\u043c\u0438\u0440\u0443\u0435\u043c \u043d\u044e\u0430\u043d\u0441\u044b<\/h4>\n<p>\u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u044b \u043f\u0440\u0438\u043d\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0435 \u0442\u0430\u0449\u0438\u0442\u044c \u0441\u0432\u044f\u0437\u043a\u0443 VMAgent + Thanos receiver \u0432 \u043f\u0440\u043e\u0434.\u00a0<\/p>\n<p>\u0412\u044b\u0448\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u043d\u044e\u0430\u043d\u0441\u044b \u0432 Thanos \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434 \u0441\u0442\u043e\u0440\u0430\u0434\u0436\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 backfilling \u2013 <\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-334900","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/334900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=334900"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/334900\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=334900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=334900"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=334900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}