{"id":94153,"date":"2020-09-13T19:42:30","date_gmt":"2020-09-13T17:42:30","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/victoriametrics-i-monitoring-privatnyh-oblakov-pavel-kolobaev"},"modified":"2020-09-13T19:42:30","modified_gmt":"2020-09-13T17:42:30","slug":"victoriametrics-i-monitoring-privatnyh-oblakov-pavel-kolobaev","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/victoriametrics-i-monitoring-privatnyh-oblakov-pavel-kolobaev","title":{"rendered":"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/d84a6783fbf35e9d96afd263b5cd4578.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics \u2014 um banco de dados r\u00e1pido e escal\u00e1vel para armazenamento e processamento de dados em formato de s\u00e9ries temporais (os registros formam o tempo e um conjunto de valores correspondentes a esse tempo, como os obtidos por meio de sondagens peri\u00f3dicas do estado de sensores ou coleta de m\u00e9tricas).<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<center><div class=\"youtube-placeholder\" data-id=\"74swsWqf0Uc\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/74swsWqf0Uc\/hqdefault.jpg\" alt=\"Por que no hosting comum a administra\u00e7\u00e3o do PrestaShop \u00e9 lenta, e no seu n\u00e3o \u00e9?\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/df849870a0432a863e34eb11387c9fab.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Meu nome \u00e9 Kolobaev Pavel. DevOps, SRE, LeroyMerlin, tudo como c\u00f3digo \u2013 isso \u00e9 sobre n\u00f3s: sobre mim e sobre outros colaboradores da LeroyMerlin.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/b7b63999cef8d80148bf666c2bce335a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/bit.ly\/3jf1fIK\">https:\/\/bit.ly\/3jf1fIK<\/a><\/noindex><\/p>\n<p><\/p>\n<p>Existe uma nuvem baseada em OpenStack. H\u00e1 um pequeno link para o radar t\u00e9cnico. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/e99d4aeab2a62bc46cfa9aaadb9590af.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Constru\u00eddo com hardware Kubernetes, al\u00e9m de todos os servi\u00e7os complementares ao OpenStack e de logging. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/c19c24b9006162eaf79f8f9bdc5aa14a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>O esquema era este que t\u00ednhamos em desenvolvimento. Quando est\u00e1vamos desenvolvendo tudo isso, t\u00ednhamos um operador Prometheus que armazenava dados dentro do pr\u00f3prio cluster K8s. Ele encontra automaticamente o que precisa ser raspado e re\u00fane, grosso modo, no seu caminho. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/ebaf6b3d32483c405a1ae69d0ea7e3ea.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Todos os dados precisar\u00e3o ser extra\u00eddos do cluster Kubernetes, porque se algo acontecer, precisamos entender o que e onde. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/36f921aa715ed00b9ac26ae3861a73b8.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A primeira solu\u00e7\u00e3o \u2013 usamos federation, quando h\u00e1 um Prometheus externo, quando acessamos o cluster Kubernetes atrav\u00e9s do mecanismo federation.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/11033de585d88cfaee1edeec908da55a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mas surgem pequenos problemas. No nosso caso, os problemas come\u00e7aram quando t\u00ednhamos 250.000 m\u00e9tricas, e quando chegamos a 400.000 m\u00e9tricas, percebemos que n\u00e3o pod\u00edamos trabalhar assim. Aumentamos o scrape_timeout para 25 segundos.<\/p>\n<p><\/p>\n<p>Por que tivemos que fazer isso? O Prometheus come\u00e7a a contar o tempo de timeout a partir do in\u00edcio da coleta. E n\u00e3o importa que os dados ainda estejam fluindo. Se durante esse per\u00edodo especificado os dados n\u00e3o forem coletados e a sess\u00e3o n\u00e3o for encerrada por http, a sess\u00e3o \u00e9 considerada fracassada e os dados n\u00e3o chegam ao pr\u00f3prio Prometheus.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/c5d8f034cbf80638775ecc68b6ad8f21.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Todos conhecem os gr\u00e1ficos que recebemos quando parte dos dados est\u00e1 ausente. Os gr\u00e1ficos ficam fragmentados, e isso n\u00e3o nos satisfaz. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/8caa1939ac95d26163e98ed2bd12fd6a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A pr\u00f3xima op\u00e7\u00e3o \u00e9 o sharding baseado em dois Prometheus diferentes atrav\u00e9s do mesmo mecanismo federation.<\/p>\n<p><\/p>\n<p>Por exemplo, simplesmente pegar e shardear por nome. Isso tamb\u00e9m pode ser utilizado, mas decidimos seguir em frente. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/c5715365ac494689194ad4d305a7be08.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Agora teremos que processar esses shards de alguma forma. Podemos usar o promxy, que acessa a \u00e1rea do shard e multiplica os dados. Ele trabalha com dois shards como se fosse um \u00fanico ponto de entrada. Isso pode ser realizado atrav\u00e9s do promxy, mas \u00e9 complicado por enquanto. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/672984d1ca13743acb4b8102b74d0eb2.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A primeira op\u00e7\u00e3o \u2013 queremos desistir do mecanismo federation, porque \u00e9 muito lento. <\/p>\n<p><\/p>\n<p>Os desenvolvedores do Prometheus claramente dizem: \"Pessoal, usem outros TimescaleDB, porque n\u00e3o vamos suportar o armazenamento de m\u00e9tricas a longo prazo\". Essa n\u00e3o \u00e9 a tarefa deles. <img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/dfc59949ec16fe731d339d7bf477edff.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Anotamos que precisamos de uma exporta\u00e7\u00e3o externa, para n\u00e3o armazenar tudo em um s\u00f3 lugar. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/a0e566b89c15df9c17c0750ce8512044.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>O segundo problema \u00e9 o consumo de mem\u00f3ria. Sim, eu entendo que muitos dir\u00e3o que em 2020 alguns gigabytes de mem\u00f3ria custam pouco, mas ainda assim. <\/p>\n<p><\/p>\n<p>Atualmente temos ambientes dev e prod. No dev, temos cerca de 9 gigabytes para 350.000 m\u00e9tricas. No prod, s\u00e3o 14 gigabytes e um pouco mais para 780.000 m\u00e9tricas. E o nosso tempo de reten\u00e7\u00e3o \u00e9 de apenas 30 minutos. Isso \u00e9 ruim, e agora explicarei por qu\u00ea.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/35ad6d2792fd4dbf68b15851f24eb047.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Fazemos um c\u00e1lculo, ou seja, com um milh\u00e3o e meio de m\u00e9tricas, e j\u00e1 estamos pr\u00f3ximos disso, na fase de planejamento obtemos 35-37 gigabytes de mem\u00f3ria. Mas com quatro milh\u00f5es de m\u00e9tricas j\u00e1 s\u00e3o cerca de 90 gigabytes de mem\u00f3ria. Isso foi calculado com a f\u00f3rmula fornecida pelos desenvolvedores do Prometheus. Observamos a correla\u00e7\u00e3o e entendemos que n\u00e3o queremos pagar alguns milh\u00f5es por um servidor apenas para monitoramento. <\/p>\n<p><\/p>\n<p>N\u00e3o apenas o n\u00famero de m\u00e1quinas vai aumentar, mas tamb\u00e9m estamos monitorando as pr\u00f3prias m\u00e1quinas virtuais. Portanto, quanto mais m\u00e1quinas virtuais, mais m\u00e9tricas de v\u00e1rios tipos, etc. Teremos um crescimento especial do nosso cluster em termos de m\u00e9tricas.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/d0aa8f00c7bd511b128bfa38cd280d03.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Com o espa\u00e7o em disco, a situa\u00e7\u00e3o n\u00e3o \u00e9 t\u00e3o ruim, mas gostar\u00edamos de melhorar. Em 15 dias, obtivemos um total de 120 gigabytes, dos quais 100 s\u00e3o dados comprimidos e 20 s\u00e3o dados n\u00e3o comprimidos, mas sempre queremos menos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/04dcc202029ce2433ae5cfb379c51181.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Portanto, estamos anotando mais um ponto - o alto consumo de recursos, que queremos economizar, pois n\u00e3o queremos que nosso cluster de monitoramento consuma mais recursos do que nosso cluster que cuida da gest\u00e3o do OpenStack.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/1708dcd413d890f18149414616f6264e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>H\u00e1 mais uma desvantagem no Prometheus que identificamos: uma limita\u00e7\u00e3o de mem\u00f3ria, mesmo que m\u00ednima. Com o Prometheus, isso \u00e9 muito pior, pois ele n\u00e3o tem tais controles. Usar limites no Docker tamb\u00e9m n\u00e3o \u00e9 uma op\u00e7\u00e3o. Se o seu RAF falhar e houver 20-30 gigabytes, ele levar\u00e1 muito tempo para reiniciar. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/95a19ff217d1601e9ee8dbe1f1b11ba2.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Esta \u00e9 mais uma raz\u00e3o pela qual o Prometheus n\u00e3o nos serve; ou seja, n\u00e3o \u00e9 poss\u00edvel limitar o consumo de mem\u00f3ria. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/77280b358370327e4285c90795833a23.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Poder\u00edamos seguir esse esquema. Esse esquema \u00e9 necess\u00e1rio para organizarmos um cluster de alta disponibilidade (HA). Queremos que nossas m\u00e9tricas estejam sempre e em qualquer lugar acess\u00edveis, mesmo em caso de falha do servidor que armazena essas m\u00e9tricas. Assim, teremos que construir um esquema como este. <\/p>\n<p><\/p>\n<p>Este esquema indica que teremos duplica\u00e7\u00e3o de shards, assim como a duplica\u00e7\u00e3o dos recursos consumidos. \u00c9 quase escal\u00e1vel horizontalmente, mas, mesmo assim, o consumo de recursos ser\u00e1 intenso. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/461a4c163693af4700d69a0667aea667.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>As desvantagens, na ordem em que as anotamos:<\/p>\n<p><\/p>\n<ul>\n<li>\u00c9 necess\u00e1rio exportar m\u00e9tricas para fora.<\/li>\n<li>Alto consumo de recursos.<\/li>\n<li>N\u00e3o \u00e9 poss\u00edvel limitar o consumo de mem\u00f3ria.<\/li>\n<li>Implementa\u00e7\u00e3o de HA complexa e exigente em recursos.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/d748b9c51767e37b9248e77871172d77.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Decidimos que vamos nos afastar do Prometheus como armazenador. <\/p>\n<p><\/p>\n<p>Definimos tamb\u00e9m requisitos adicionais que precisamos. S\u00e3o eles:<\/p>\n<p><\/p>\n<ul>\n<li>Suporte a promql, pois j\u00e1 foi escrito muito sob o Prometheus: consultas, alertas. <\/li>\n<li>E temos o Grafana, que tamb\u00e9m foi desenvolvido para o Prometheus como backend. N\u00e3o queremos reescrever os dashboards. <\/li>\n<li>Queremos construir uma arquitetura de HA adequada. <\/li>\n<li>Queremos reduzir o consumo de quaisquer recursos. <\/li>\n<li>H\u00e1 mais um pequeno detalhe. N\u00e3o podemos usar diferentes sistemas de coleta de m\u00e9tricas na nuvem. N\u00e3o sabemos o que ser\u00e1 enviado para essas m\u00e9tricas. E como pode enviar qualquer coisa, somos for\u00e7ados a nos limitar ao armazenamento local. <\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/53bf7dd09cec6fbd42569702b800cf08.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A escolha foi pequena. Reunimos tudo o que t\u00ednhamos experi\u00eancia. Olhamos a p\u00e1gina do Prometheus na se\u00e7\u00e3o de integra\u00e7\u00f5es, lemos muitos artigos, verificamos o que existe. E escolhemos o VictoriaMetrics como substituto do Prometheus.<\/p>\n<p><\/p>\n<p>Por que? Porque:<\/p>\n<p><\/p>\n<ul>\n<li>Suporta promql.<\/li>\n<li>Possui uma arquitetura modular. <\/li>\n<li>N\u00e3o requer altera\u00e7\u00f5es no Grafana.<\/li>\n<li>E o mais importante \u2013 podemos oferecer armazenamento de m\u00e9tricas dentro da nossa empresa como um servi\u00e7o, por isso estamos antecipadamente considerando limita\u00e7\u00f5es diversas, para que os usu\u00e1rios possam usar todos os recursos do cluster de forma restrita, pois existe a chance de ser multitenancy.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/137a425e463ce524e873c962c0bc27f7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Fazemos a primeira compara\u00e7\u00e3o. Pegamos o mesmo Prometheus dentro do cluster, ao qual um Prometheus externo se conecta. Adicionamos o VictoriaMetrics via remoteWrite.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/5357d81a4fc38a2178cd589f36fce063.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>De imediato, devo mencionar que aqui notamos um pequeno aumento no consumo de CPU por parte do VictoriaMetrics. Na wiki do VictoriaMetrics, est\u00e1 escrito quais par\u00e2metros s\u00e3o mais adequados. N\u00f3s os verificamos. Eles reduziram muito bem o consumo de CPU.<\/p>\n<p><\/p>\n<p>No nosso caso, o consumo de mem\u00f3ria do Prometheus, que est\u00e1 no cluster Kubernetes, aumentou de forma insignificante. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/7c70bfb0a50bcbd1e0976b70ae5b7b3a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Comparando duas fontes de dados com os mesmos dados. No Prometheus, vemos todos os mesmos dados ausentes. No VictoriaMetrics, tudo est\u00e1 bem. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/b2d7f9b451f87366e186b25450cb52fa.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Resultados dos testes com espa\u00e7o em disco. Obtivemos 120 gigabytes no total com o Prometheus. No VictoriaMetrics, j\u00e1 recebemos 4 gigabytes por dia. O mecanismo l\u00e1 \u00e9 um pouco diferente do que estamos acostumados a ver no Prometheus. Ou seja, os dados s\u00e3o bastante compactados em um dia, em meia hora. Eles j\u00e1 est\u00e3o bem compactados em um dia, em meia hora, apesar de que ainda ser\u00e3o mesclados depois. No final, economizamos em espa\u00e7o em disco.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/ce1f6edf70595aac40aeaae70c286bed.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Al\u00e9m disso, economizamos no consumo de recursos de mem\u00f3ria. O nosso Prometheus estava em uma m\u00e1quina virtual durante os testes - 8 n\u00facleos, 24 gigabytes. O Prometheus consome praticamente tudo. Ele caiu devido ao OOM Killer. Neste caso, ele lidava com apenas 900 000 m\u00e9tricas ativas. Isso \u00e9 cerca de 25 000-27 000 m\u00e9tricas por segundo. <\/p>\n<p><\/p>\n<p>O VictoriaMetrics estava sendo executado em uma m\u00e1quina virtual de dois n\u00facleos com 8 gigabytes de RAM. Conseguimos fazer o VictoriaMetrics funcionar bem, ajustando algumas coisas na m\u00e1quina de 8 gigabytes. No final, ficamos com 7 gigabytes. E conseguimos uma taxa de resposta de conte\u00fado, ou seja, de m\u00e9tricas, at\u00e9 superior \u00e0 do Prometheus. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/e4c175aee859bc95a4ee08e8b3fdcc22.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A situa\u00e7\u00e3o com o CPU melhorou muito em rela\u00e7\u00e3o ao Prometheus. Aqui o Prometheus consome 2,5 n\u00facleos, enquanto o VictoriaMetrics consome apenas 0,25 n\u00facleo. No in\u00edcio, eram 0,5 n\u00facleo. \u00c0 medida que a mesclagem avan\u00e7a, chega a um n\u00facleo, mas isso \u00e9 extremamente raro.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/dcdbc7d70642130949b0c65b43a58f7f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>No nosso caso, a escolha recaiu sobre o VictoriaMetrics por raz\u00f5es claras, quer\u00edamos economizar e conseguimos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/457576073885b9153041589bb2f53ee4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Eliminamos de imediato dois pontos - a exporta\u00e7\u00e3o de m\u00e9tricas e o alto consumo de recursos. E nos resta resolver dois pontos que ainda deixamos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/9ee296c7838abd243a893c8e34b60711.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Aqui devo esclarecer que consideramos o VictoriaMetrics como um armazenamento de m\u00e9tricas. Mas como provavelmente iremos fornecer o VictoriaMetrics como armazenamento para todo o Leroy, precisamos limitar aqueles que usar\u00e3o este cluster, para que n\u00e3o o sobrecarreguem. <\/p>\n<p><\/p>\n<p>H\u00e1 uma configura\u00e7\u00e3o incr\u00edvel que permite limitar por tempo, por volume de dados e pelo tempo de execu\u00e7\u00e3o. <\/p>\n<p><\/p>\n<p>Al\u00e9m disso, existe uma \u00f3tima op\u00e7\u00e3o que permite limitar o consumo de mem\u00f3ria, assim podemos encontrar aquele equil\u00edbrio que nos permitir\u00e1 obter uma velocidade de opera\u00e7\u00e3o adequada e um consumo de recursos razo\u00e1vel. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/039d8b7f24e50a2e62211eef30ef0812.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Menos um ponto, ou seja, riscamos o ponto \u2013 n\u00e3o \u00e9 poss\u00edvel limitar o consumo de mem\u00f3ria.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/7444f68188a835392f8c6ad82c3c26d1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nas primeiras itera\u00e7\u00f5es, testamos o VictoriaMetrics Single Node. Em seguida, passamos para a vers\u00e3o Cluster do VictoriaMetrics.<\/p>\n<p><\/p>\n<p>Aqui temos liberdade para distribuir diferentes servi\u00e7os no VictoriaMetrics, dependendo do que ir\u00e3o rodar e quais recursos ir\u00e3o consumir. \u00c9 uma solu\u00e7\u00e3o muito flex\u00edvel e conveniente. N\u00f3s a utilizamos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/4bcadbd80d7efcdbcbda6c79929ab279.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Os componentes principais da vers\u00e3o Cluster do VictoriaMetrics s\u00e3o o vmstorage. Pode haver uma quantidade N de inst\u00e2ncias. No nosso caso, por enquanto, s\u00e3o 2. <\/p>\n<p><\/p>\n<p>E h\u00e1 o vminsert. Este \u00e9 um servidor proxy que nos permite: realizar o sharding entre todos os storages que informamos a ele, e tamb\u00e9m permite replica\u00e7\u00e3o, ou seja, voc\u00ea ter\u00e1 tanto sharding quanto replica\u00e7\u00e3o. <\/p>\n<p><\/p>\n<p>O vminsert suporta os protocolos OpenTSDB, Graphite, InfluxDB e remoteWrite do Prometheus.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/6b4ac44513d7bfa7e0b234aa0f2fa3f5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ainda existe o vmselect. Sua principal fun\u00e7\u00e3o \u00e9 acessar o vmstorage, obter dados deles, desduplicar esses dados e entreg\u00e1-los ao cliente. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/768db0f7dbd17223b7057d33ceccd12d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>H\u00e1 uma ferramenta maravilhosa chamada vmagent. N\u00f3s adoramos. Ela permite configurar exatamente como o Prometheus e ainda por cima funciona da mesma forma que o Prometheus. Ou seja, ela coleta m\u00e9tricas de diferentes entidades e servi\u00e7os e as envia ao vminsert. A partir da\u00ed, tudo depende de voc\u00ea.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/429caa4d3296810c688e7c972ab6d35c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Outro servi\u00e7o not\u00e1vel \u00e9 o vmalert, que permite usar o VictoriaMetrics como backend, receber dados do vminsert e enviar dados processados ao vmselect. Ele processa os alertas e tamb\u00e9m as regras. No caso de alertas, recebemos um alerta atrav\u00e9s do alertmanager.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/67d6264ffd5e061e168261586b4e6369.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>H\u00e1 um componente wmauth. Ele pode ser utilizado, ou talvez n\u00e3o (ainda n\u00e3o decidimos sobre isso), como um sistema de autentica\u00e7\u00e3o na vers\u00e3o multitenancy dos clusters. Ele suporta remoteWrite para o Prometheus e pode autenticar com base na URL, mais precisamente na sua segunda parte, onde voc\u00ea pode ou n\u00e3o enviar dados. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/2a6a97eedc36ce71d660e44e0b736581.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ainda h\u00e1 vmbackup e vmrestore. Estes, na verdade, tratam da recupera\u00e7\u00e3o e do backup de todos os dados. Suporta S3, GCS, file.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/ec11f7a981bb80daaf6891001d80a1c9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A primeira itera\u00e7\u00e3o do nosso cluster foi feita durante a quarentena. Naquele momento, n\u00e3o havia r\u00e9plica, portanto, nossa itera\u00e7\u00e3o consistia em dois clusters distintos e independentes, dos quais receb\u00edamos dados atrav\u00e9s do remoteWrite. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/2a76181fc6c0ffb6b09ad5bcdb33909c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Aqui, ressalto que, quando fizemos a transi\u00e7\u00e3o de VictoriaMetrics Single Node para a vers\u00e3o do cluster VictoriaMetrics, tamb\u00e9m mantivemos o mesmo consumo de recursos, ou seja, a principal \u00e9 a mem\u00f3ria. Aproximadamente assim se distribu\u00edram nossos dados, ou seja, o consumo de recursos.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/2d22446669e71b490226a789294707fc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>J\u00e1 havia uma r\u00e9plica adicionada. N\u00f3s unificamos tudo em um cluster relativamente grande. Todos os nossos dados s\u00e3o tanto fragmentados quanto replicados. <\/p>\n<p><\/p>\n<p>Todo o cluster tem N pontos de entrada, ou seja, o Prometheus pode adicionar dados atrav\u00e9s do HAPROXY. Aqui est\u00e1 esse ponto de entrada. E atrav\u00e9s desse ponto de entrada \u00e9 poss\u00edvel acessar com o Grafana. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/4a797ed22c57cab7c10b2635f53941df.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>No nosso caso, o HAPROXY \u00e9 a \u00fanica porta que proxy select, insert e outros servi\u00e7os para dentro deste cluster. N\u00e3o foi poss\u00edvel criar um \u00fanico endere\u00e7o, tivemos que estabelecer v\u00e1rios pontos de entrada, pois as pr\u00f3prias m\u00e1quinas virtuais onde o cluster VictoriaMetrics funciona est\u00e3o em diferentes zonas de um mesmo provedor de nuvem, ou seja, n\u00e3o dentro da nossa nuvem, mas fora. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/76bd7e59b58795ceada54977a933fb6d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Temos alertas. N\u00f3s os utilizamos. Usamos o alertmanager do Prometheus. Como canal de entrega de alertas, utilizamos o Opsgenie e o Telegram. No Telegram, recebemos alertas do dev, possivelmente algo do prod, mas mais algo estat\u00edstico, necess\u00e1rio para os engenheiros. E o Opsgenie \u2013 cr\u00edtico. Isso inclui chamadas, gerenciamento de incidentes. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/b06abbf9eac39450a290e1a776df415f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A eterna pergunta: \"Quem monitora o monitoramento?\". No nosso caso, o monitoramento monitoriza o pr\u00f3prio monitoramento, porque usamos vmagent em cada n\u00f3. E como nossos n\u00f3s est\u00e3o distribu\u00eddos em diferentes data centers de um mesmo provedor, temos um canal distinto para cada data center, eles s\u00e3o independentes e mesmo que ocorra um split brain, ainda assim receberemos alertas. Sim, haver\u00e1 mais alertas, mas \u00e9 melhor receber mais alertas do que nenhum. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/20e94b612f00619015da7e6ebc1e6afb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Encerramos nossa lista com a implementa\u00e7\u00e3o de HA.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/f7cac236b8f99d8f2f12288e565c7de0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>E gostaria de ressaltar a experi\u00eancia de intera\u00e7\u00e3o com a comunidade VictoriaMetrics. Foi muito positiva. Os caras s\u00e3o atenciosos. Eles tentam entender cada caso apresentado. <\/p>\n<p><\/p>\n<p>Eu registrei problemas no GitHub. Eles foram resolvidos muito rapidamente. H\u00e1 ainda alguns problemas que n\u00e3o est\u00e3o totalmente fechados, mas j\u00e1 consigo ver pelo c\u00f3digo que o trabalho nessa dire\u00e7\u00e3o est\u00e1 em andamento. <\/p>\n<p><\/p>\n<p>A principal dor durante as itera\u00e7\u00f5es para mim era que, se eu desligasse um n\u00f3, nos primeiros 30 segundos, o vminsert n\u00e3o conseguia perceber que o backend estava offline. Isso j\u00e1 foi resolvido. Agora, em um ou dois segundos, os dados s\u00e3o coletados de todos os n\u00f3s restantes, e a solicita\u00e7\u00e3o para de esperar aquele n\u00f3 ausente. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/722ad280977c2f377c5afe36eb309c96.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Quer\u00edamos em algum momento que fosse um operador do VictoriaMetrics. Finalmente conseguimos. Estamos atualmente construindo ativamente uma camada sobre o operador do VictoriaMetrics para incorporar todas as regras de pr\u00e9-c\u00e1lculo, etc. do Prometheus, j\u00e1 que usamos ativamente as regras que v\u00eam junto com o operador do Prometheus.<\/p>\n<p><\/p>\n<p>H\u00e1 sugest\u00f5es para melhorar a implementa\u00e7\u00e3o do cluster. Eu as expus acima. <\/p>\n<p><\/p>\n<p>E tamb\u00e9m estamos muito interessados no downsampling. No nosso caso, o downsampling \u00e9 necess\u00e1rio exclusivamente para visualizar tend\u00eancias. Grosso modo, uma \u00fanica m\u00e9trica ao longo do dia \u00e9 suficiente. Essas tend\u00eancias s\u00e3o necess\u00e1rias para um, tr\u00eas, cinco ou dez anos. E um \u00fanico valor de m\u00e9trica \u00e9 completamente suficiente.<br \/>\n<img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/01073d8f9b16e1094daef3e36dd97e44.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<ul>\n<li>N\u00f3s conhecemos a dor, assim como alguns de nossos colegas, ao usar o Prometheus.<\/li>\n<li>Escolhemos o VictoriaMetrics para n\u00f3s. <\/li>\n<li>Ele escala muito bem, tanto vertical quanto horizontalmente. <\/li>\n<li>Podemos distribuir diferentes componentes em um n\u00famero diferente de n\u00f3s no cluster, limit\u00e1-los em termos de mem\u00f3ria, adicionar mais mem\u00f3ria, etc. <\/li>\n<\/ul>\n<p><\/p>\n<p>Vamos usar o VictoriaMetrics, porque gostamos muito dele. Aqui est\u00e1 o que era e o que se tornou. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev\" src=\"\/wp-content\/uploads\/2020\/09\/e04b66e5e2b765143797d3c983d4029c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/VictoriaMetrics_ru1\">https:\/\/t.me\/VictoriaMetrics_ru1<\/a><\/noindex><\/p>\n<p><\/p>\n<p>Alguns qr codes para o chat do VictoriaMetrics, meus contatos, radar t\u00e9cnico do LeroyMerlin.<\/p>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/518680\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>VictoriaMetrics \u2014 \u0431\u044b\u0441\u0442\u0440\u0430\u044f \u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u0430\u044f \u0421\u0423\u0411\u0414 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0444\u043e\u0440\u043c\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u044f\u0434\u0430 (\u0437\u0430\u043f\u0438\u0441\u044c \u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u0438 \u043d\u0430\u0431\u043e\u0440 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u044d\u0442\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043e\u043f\u0440\u043e\u0441 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0438\u043b\u0438 \u0441\u0431\u043e\u0440 \u043c\u0435\u0442\u0440\u0438\u043a). \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041a\u043e\u043b\u043e\u0431\u0430\u0435\u0432 \u041f\u0430\u0432\u0435\u043b. DevOps, SRE, LeroyMerlin, \u0432\u0441\u0435 \u043a\u0430\u043a \u043a\u043e\u0434 \u2013 \u044d\u0442\u043e \u0432\u0441\u0435 \u043f\u0440\u043e \u043d\u0430\u0441: \u043f\u0440\u043e \u043c\u0435\u043d\u044f \u0438 \u043f\u0440\u043e \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":94154,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-94153","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/victoriametrics-i-monitoring-privatnyh-oblakov-pavel-kolobaev\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47VictoriaMetrics \u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0445 \u043e\u0431\u043b\u0430\u043a\u043e\u0432. \u041f\u0430\u0432\u0435\u043b \u041a\u043e\u043b\u043e\u0431\u0430\u0435\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/victoriametrics-i-monitoring-privatnyh-oblakov-pavel-kolobaev\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-09-13T17:42:30+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-13T17:42:30+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47VictoriaMetrics e monitoramento de nuvens privadas. Pavel Kolobaev | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/victoriametrics-i-monitoring-privatnyh-oblakov-pavel-kolobaev","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47VictoriaMetrics \u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0445 \u043e\u0431\u043b\u0430\u043a\u043e\u0432. \u041f\u0430\u0432\u0435\u043b \u041a\u043e\u043b\u043e\u0431\u0430\u0435\u0432 | ProHoster","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/victoriametrics-i-monitoring-privatnyh-oblakov-pavel-kolobaev","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-09-13T17:42:30+00:00","article:modified_time":"2020-09-13T17:42:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"94153","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:32:22","updated":"2022-09-28 11:09:52","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/94153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=94153"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/94153\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/94154"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=94153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=94153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=94153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}