{"id":37901,"date":"2019-10-31T22:20:26","date_gmt":"2019-10-31T19:20:26","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ne-new-relic-om-odnim-vzglyad-na-datadog-i-atatus\/"},"modified":"2019-10-31T22:20:26","modified_gmt":"2019-10-31T19:20:26","slug":"ne-new-relic-om-odnim-vzglyad-na-datadog-i-atatus","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/ne-new-relic-om-odnim-vzglyad-na-datadog-i-atatus","title":{"rendered":"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/8f8e3d96daed74986ef3cbe293356302.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEntre engenheiros SRE\/DevOps, n\u00e3o \u00e9 surpresa que, em algum momento, um cliente (ou um sistema de monitoramento) reclame que \"tudo est\u00e1 perdido\": o site n\u00e3o est\u00e1 funcionando, os pagamentos n\u00e3o est\u00e3o sendo processados, a vida \u00e9 um t\u00e9dio... Por mais que queiramos ajudar em uma situa\u00e7\u00e3o assim, isso pode ser muito dif\u00edcil sem uma ferramenta simples e clara. Muitas vezes, o problema est\u00e1 escondido no pr\u00f3prio c\u00f3digo do aplicativo \u2014 s\u00f3 precisamos localiz\u00e1-lo.<\/p>\n<h2>Nas alegrias e nas tristezas\u2026<\/h2>\n<p>\nDe fato, j\u00e1 amamos o New Relic h\u00e1 bastante tempo. Ele tem sido e continua a ser uma excelente ferramenta para monitoramento de desempenho de aplicativos, al\u00e9m de permitir instrumentar a arquitetura de microsservi\u00e7os (atrav\u00e9s de seu agente) e muito mais. E tudo poderia ser maravilhoso, se n\u00e3o fossem as mudan\u00e7as na pol\u00edtica de pre\u00e7os do servi\u00e7o: ele <b>custo <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.newrelic.com\/product-news\/new-relic-new-pricing-startups\/\">desde 2013<\/a><\/noindex> aumentou mais de 3 vezes<\/b>. Al\u00e9m disso, desde o ano passado, para obter uma conta de teste, \u00e9 necess\u00e1rio interagir com um gerente pessoal, o que dificulta a apresenta\u00e7\u00e3o do produto para o potencial cliente.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Situa\u00e7\u00e3o comum: o New Relic n\u00e3o \u00e9 necess\u00e1rio em \"base cont\u00ednua\", sendo lembrado apenas quando surgem problemas. Mas \u00e9 preciso pagar regularmente (140 USD por servidor por m\u00eas), e em uma infraestrutura de nuvem que se escala automaticamente, os valores podem se acumular substancialmente. Embora exista a op\u00e7\u00e3o \"Pay-As-You-Go\", ativar o New Relic exige reiniciar o aplicativo, o que pode resultar na perda da situa\u00e7\u00e3o problem\u00e1tica que motivou tudo isso. Recentemente, o New Relic lan\u00e7ou um novo plano tarif\u00e1rio \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/newrelic.com\/products\/infrastructure\/pricing\">Essentials<\/a><\/noindex>, \u2014 que \u00e0 primeira vista parece uma alternativa razo\u00e1vel ao Professional\u2026 mas, ao analis\u00e1-lo mais de perto, constatamos que algumas funcionalidades importantes est\u00e3o ausentes (em particular, n\u00e3o possui <i>Transa\u00e7\u00f5es Principais<\/i>, <i>Rastreamento de Aplica\u00e7\u00f5es Cruzadas<\/i>, <i>Rastreamento Distribu\u00eddo<\/i>).<\/p>\n<p>Como resultado, come\u00e7amos a considerar a busca por alternativas mais baratas, e nossa escolha recaiu sobre dois servi\u00e7os: Datadog e Atatus. Por que exatamente esses?<\/p>\n<h2>Sobre os concorrentes<\/h2>\n<p>\nDevo esclarecer que existem outras solu\u00e7\u00f5es no mercado. N\u00f3s at\u00e9 consideramos op\u00e7\u00f5es de C\u00f3digo Aberto, mas nem todo cliente tem recursos dispon\u00edveis para implementar solu\u00e7\u00f5es do tipo self-hosted... \u2014 al\u00e9m disso, elas exigiriam manuten\u00e7\u00e3o adicional. A dupla que escolhemos se mostrou a mais pr\u00f3xima de <b>nossas necessidades<\/b>:<\/p>\n<ul>\n<li>suporte integrado e avan\u00e7ado para aplica\u00e7\u00f5es PHP (o stack dos nossos clientes \u00e9 bastante diversificado, mas esta \u00e9 uma escolha clara em busca de uma alternativa ao New Relic);<\/li>\n<li>pre\u00e7o acess\u00edvel (menos de 100 USD por m\u00eas para hospedagem);<\/li>\n<li>instrumenta\u00e7\u00e3o autom\u00e1tica;<\/li>\n<li>integra\u00e7\u00e3o com Kubernetes;<\/li>\n<li>semelhan\u00e7a com a interface do New Relic \u2014 um ponto positivo (pois nossos engenheiros est\u00e3o acostumados com ela).<\/li>\n<\/ul>\n<p>\nPortanto, na fase inicial de sele\u00e7\u00e3o, descartamos v\u00e1rias outras solu\u00e7\u00f5es populares, especificamente:<\/p>\n<ul>\n<li> Tideways, AppDynamics e Dynatrace \u2014 devido ao custo;<\/li>\n<li> Stackify \u2014 bloqueado na R\u00fassia e fornece dados muito limitados.<\/li>\n<\/ul>\n<p>\nO artigo a seguir \u00e9 estruturado de tal forma que inicialmente apresentaremos brevemente as solu\u00e7\u00f5es consideradas, ap\u00f3s o que falarei sobre nossa intera\u00e7\u00e3o t\u00edpica com o New Relic e experi\u00eancias\/impress\u00f5es ao realizar opera\u00e7\u00f5es semelhantes em outros servi\u00e7os.<\/p>\n<h3>Apresenta\u00e7\u00e3o dos concorrentes selecionados<\/h3>\n<p>\n<img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/b8960097f729d56abeb9d1b0f5931e7d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nSobre <noindex><a rel=\"nofollow\" href=\"https:\/\/newrelic.com\/\"><b>New Relic<\/b><\/a><\/noindex>, provavelmente, todo mundo j\u00e1 ouviu falar? Este servi\u00e7o come\u00e7ou seu desenvolvimento h\u00e1 mais de 10 anos, em 2008. Usamos ativamente desde 2012 e n\u00e3o tivemos problemas com a integra\u00e7\u00e3o de um n\u00famero realmente grande de aplica\u00e7\u00f5es nas linguagens PHP, Ruby e Python, al\u00e9m de termos experi\u00eancia em integra\u00e7\u00e3o com C# e Go. Os criadores do servi\u00e7o oferecem solu\u00e7\u00f5es para monitoramento de aplica\u00e7\u00f5es, infraestrutura, rastreamento de infraestruturas de microsservi\u00e7os, aplicativos convenientes para dispositivos do usu\u00e1rio e muito mais.<\/p>\n<p>No entanto, o agente do New Relic funciona com protocolos propriet\u00e1rios, sem suporte ao OpenTracing. Para instrumenta\u00e7\u00e3o avan\u00e7ada, s\u00e3o necess\u00e1rias altera\u00e7\u00f5es espec\u00edficas para o New Relic. Por fim, o suporte ao Kubernetes ainda tem um status experimental.<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/6807ed78ff3d053d0aa910dbc81f1414.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nCome\u00e7ou seu desenvolvimento em 2010 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.datadoghq.com\/\"><b>Datadog<\/b><\/a><\/noindex> parece muito mais interessante que o New Relic em termos de aplica\u00e7\u00e3o em ambientes Kubernetes. Em particular, ele suporta integra\u00e7\u00e3o com NGINX Ingress, coleta de logs, protocolos statsd e OpenTracing, permitindo rastrear a solicita\u00e7\u00e3o do usu\u00e1rio desde a conex\u00e3o at\u00e9 a conclus\u00e3o do trabalho, assim como localizar logs dessa solicita\u00e7\u00e3o (tanto no lado do servidor web quanto no lado dos consumidores).<\/p>\n<p>Ao usar o Datadog, enfrentamos o problema de que, \u00e0s vezes, ele constru\u00eda incorretamente o mapa de microsservi\u00e7os e apresentava algumas defici\u00eancias t\u00e9cnicas. Por exemplo, identificou incorretamente o tipo de servi\u00e7o (confundiu Django com um servi\u00e7o de cache) e causou erros 500 em uma aplica\u00e7\u00e3o PHP que utiliza a popular biblioteca Predis.<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/dd1f3f840cd686265a1616343d832f28.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.atatus.com\/\"><b>Atatus<\/b><\/a><\/noindex> \u2014 a ferramenta mais jovem; o servi\u00e7o foi lan\u00e7ado em 2014. Seu or\u00e7amento de marketing \u00e9 claramente inferior ao dos concorrentes mencionados, e suas men\u00e7\u00f5es s\u00e3o significativamente menos frequentes. No entanto, a ferramenta em si \u00e9 muito semelhante ao New Relic, tanto em suas funcionalidades (APM, Monitoramento de Navegador, etc.), quanto na apar\u00eancia.<\/p>\n<p>Uma desvantagem significativa \u00e9 o suporte apenas para Node.js e PHP. Por outro lado, esse suporte \u00e9 implementado de maneira muito superior \u00e0 do Datadog. Ao contr\u00e1rio deste, Atatus n\u00e3o exige modifica\u00e7\u00f5es nos aplicativos ou a adi\u00e7\u00e3o de etiquetas extras no c\u00f3digo.<\/p>\n<h2>Como trabalhamos com o New Relic<\/h2>\n<p>\nAgora vamos entender como normalmente usamos o New Relic. Suponha que temos um problema que precisa ser resolvido:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/615f56cd69a4360f5a659d135840ad8a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c9 f\u00e1cil perceber no gr\u00e1fico <b>um pico<\/b> \u2014 vamos analis\u00e1-lo. No New Relic, para a aplica\u00e7\u00e3o web, as transa\u00e7\u00f5es web s\u00e3o selecionadas imediatamente, e no gr\u00e1fico de desempenho est\u00e3o todos os componentes, com pain\u00e9is de taxa de erros, taxa de requisi\u00e7\u00f5es\u2026 O principal \u00e9 que diretamente desses pain\u00e9is podemos navegar entre diferentes partes da aplica\u00e7\u00e3o (por exemplo, clicar em MySQL levar\u00e1 \u00e0 se\u00e7\u00e3o de bancos de dados).<\/p>\n<p>Como no exemplo analisado temos um pico de atividade <b>PHP<\/b>, vamos clicar neste gr\u00e1fico e automaticamente iremos para <b>Transa\u00e7\u00f5es<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/9fbbde055a88d6f63aa6dca4998f925b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA lista de transa\u00e7\u00f5es, que essencialmente s\u00e3o os controladores do modelo MVC, j\u00e1 est\u00e1 ordenada por <b>Maior consumo de tempo<\/b>, o que \u00e9 muito conveniente: j\u00e1 podemos ver o que a aplica\u00e7\u00e3o est\u00e1 fazendo. Aqui tamb\u00e9m est\u00e3o exemplos de requisi\u00e7\u00f5es longas, que s\u00e3o coletadas automaticamente pelo New Relic. Alterando a ordena\u00e7\u00e3o, fica f\u00e1cil encontrar:<\/p>\n<ul>\n<li> o controlador mais carregado da aplica\u00e7\u00e3o;<\/li>\n<li> o controlador mais frequentemente requisitado;<\/li>\n<li> o controlador mais lento.<\/li>\n<\/ul>\n<p>\nAl\u00e9m disso, \u00e9 poss\u00edvel expandir cada transa\u00e7\u00e3o e ver o que a aplica\u00e7\u00e3o estava realizando no momento da execu\u00e7\u00e3o do c\u00f3digo:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/9c3136cb973a1f47729c305256ee1836.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFinalmente, a aplica\u00e7\u00e3o mant\u00e9m exemplos de rastros de requisi\u00e7\u00f5es longas (que demoram mais de 2 segundos para serem processadas). Aqui est\u00e1 o painel para uma transa\u00e7\u00e3o longa:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/bca8a9f1b0ccd8158eaff41067681e2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c9 vis\u00edvel que dois m\u00e9todos est\u00e3o consumindo muito tempo, e junto a isso \u00e9 mostrado tamb\u00e9m o momento em que a requisi\u00e7\u00e3o foi executada, seu URI e dom\u00ednio. Muitas vezes, isso ajuda a encontrar a requisi\u00e7\u00e3o nos logs. Ao acessar <b>Detalhes do rastreio<\/b>, podemos ver de onde esses m\u00e9todos s\u00e3o chamados:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/aef8bbd86278aa31d595aa353e6387e0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nE em <b>Consultas ao banco de dados<\/b> \u2014 avaliar as consultas ao banco de dados que estavam sendo executadas no momento em que a aplica\u00e7\u00e3o estava em opera\u00e7\u00e3o:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/40d942b57b87237f378dc617676f00fc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nArmados com esse conhecimento, podemos avaliar a causa da lentid\u00e3o do aplicativo e desenvolver uma estrat\u00e9gia de solu\u00e7\u00e3o de problemas junto com o desenvolvedor. Na realidade, o New Relic nem sempre oferece uma vis\u00e3o clara, mas ajuda a escolher uma dire\u00e7\u00e3o para a investiga\u00e7\u00e3o:<\/p>\n<ul>\n<li> longo <code>PDO::Construct<\/code> nos levou a um funcionamento estranho do pgpoll;<\/li>\n<li> instabilidade ao longo do tempo <code>Memcache::Get<\/code> indicou uma configura\u00e7\u00e3o incorreta da m\u00e1quina virtual;<\/li>\n<li> o tempo de processamento suspeitosamente alto do template levou a um loop aninhado verificando a presen\u00e7a de 500 avatares no armazenamento de objetos;<\/li>\n<li> e assim por diante\u2026<\/li>\n<\/ul>\n<p>\n\u00c0s vezes, em vez de executar o c\u00f3digo na tela principal, algo relacionado ao armazenamento externo de dados cresce \u2014 n\u00e3o importa o que seja: Redis ou PostgreSQL \u2014 todos eles se escondem na aba <b>Databases<\/b>.<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/5ff39a5a6e02be329e3c40d54c3b4a1d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c9 poss\u00edvel selecionar um banco de dados espec\u00edfico para pesquisa e classificar as consultas \u2014 semelhante ao que \u00e9 feito em Transactions. Ao acessar a aba de consultas, \u00e9 poss\u00edvel ver quantas vezes essa consulta aparece em cada um dos controladores do aplicativo, al\u00e9m de avaliar com que frequ\u00eancia ela \u00e9 chamada. Isso \u00e9 muito conveniente:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/92b3bca78f0aa0f27e5700cd6fe283fe.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDados semelhantes est\u00e3o na aba <b>Servi\u00e7os Externos<\/b>, que esconde as consultas a servi\u00e7os HTTP externos, como chamadas para armazenamento de objetos, envio de eventos para o Sentry ou algo do tipo. O conte\u00fado da aba \u00e9 totalmente an\u00e1logo ao Databases:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/417d6ed0d5fb266e1a338d8277278000.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Concorrentes: capacidades e impress\u00f5es<\/h2>\n<p>\nAgora, a parte mais interessante \u2014 vamos comparar as capacidades do New Relic com o que os concorrentes oferecem. Infelizmente, n\u00e3o conseguimos testar todas as tr\u00eas ferramentas em uma vers\u00e3o do mesmo aplicativo em produ\u00e7\u00e3o. No entanto, esfor\u00e7amo-nos para comparar situa\u00e7\u00f5es\/configura\u00e7\u00f5es o mais id\u00eanticas poss\u00edvel.<\/p>\n<h3>1. Datadog<\/h3>\n<p>\nO Datadog nos recebe com um painel de servi\u00e7os:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/fa4eb4ba2349b900d5c04238552e5329.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEle tenta dividir os aplicativos em componentes\/microservi\u00e7os, portanto, no exemplo dado do aplicativo Django, veremos 2 conex\u00f5es ao PostgreSQL (<code>defaultdb<\/code> e <code>postgres<\/code>), al\u00e9m de Celery e Redis. Trabalhar com o Datadog exige de voc\u00ea um conhecimento m\u00ednimo dos princ\u00edpios MVC: \u00e9 necess\u00e1rio entender para onde v\u00e3o as solicita\u00e7\u00f5es dos usu\u00e1rios. Geralmente, isso \u00e9 auxiliado por um <b>mapa de servi\u00e7os<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/2f5f7c9ce171af671a65fb41401451e5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA prop\u00f3sito, algo semelhante tamb\u00e9m est\u00e1 no New Relic:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/b4e14f15b900f5c19856f1077873c9c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u2026 a sua interface, na minha opini\u00e3o, \u00e9 mais simples e clara: ela exibe n\u00e3o os componentes de uma \u00fanica aplica\u00e7\u00e3o (o que a tornaria excessivamente detalhada, como no caso do Datadog), mas apenas servi\u00e7os ou microsservi\u00e7os espec\u00edficos.<\/p>\n<p>Voltando ao Datadog: a partir do mapa de servi\u00e7os, \u00e9 poss\u00edvel ver que as solicita\u00e7\u00f5es dos usu\u00e1rios chegam ao Django. Vamos para o servi\u00e7o Django e finalmente veremos o que esper\u00e1vamos:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/fe907532184004ec02238ccd5e7d0ce6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nInfelizmente, por padr\u00e3o, n\u00e3o h\u00e1 gr\u00e1fico aqui <b>Tempo de transa\u00e7\u00e3o na Web<\/b>, semelhante ao que vemos no painel principal do New Relic. No entanto, \u00e9 poss\u00edvel configur\u00e1-lo no lugar do gr\u00e1fico <b>% do Tempo gasto<\/b>. Basta alternar para <b>Tempo m\u00e9dio por solicita\u00e7\u00e3o por Tipo<\/b>\u2026 e j\u00e1 temos o gr\u00e1fico conhecido olhando para n\u00f3s!<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/4576b27658d257fa5b062ffc7bb5464a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPor que o Datadog optou por um gr\u00e1fico diferente \u00e9 um mist\u00e9rio para n\u00f3s. Fiquei tamb\u00e9m chateado pelo fato de que o sistema n\u00e3o lembra a escolha do usu\u00e1rio (ao contr\u00e1rio de ambos os concorrentes), portanto, s\u00f3 \u00e9 poss\u00edvel criar pain\u00e9is personalizados.<\/p>\n<p>Mas fiquei agradavelmente surpreso com a possibilidade no Datadog de alternar entre esses gr\u00e1ficos para as m\u00e9tricas dos servidores relacionados, ler os logs e avaliar a carga dos manipuladores do servidor web (Gunicorn). \u00c9 quase como no New Relic\u2026 e at\u00e9 um pouco mais (logs)!<\/p>\n<p>Abaixo dos gr\u00e1ficos est\u00e3o as transa\u00e7\u00f5es, completamente an\u00e1logas ao New Relic:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/3ab831fce57abe39e27bea12b6eb0f67.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNo Datadog, as transa\u00e7\u00f5es s\u00e3o chamadas de <b>recursos<\/b>. \u00c9 poss\u00edvel classificar os controladores por n\u00famero de solicita\u00e7\u00f5es, pelo tempo m\u00e9dio de resposta ou pelo tempo m\u00e1ximo gasto durante o intervalo de tempo selecionado. <\/p>\n<p>O recurso pode ser expandido e podemos ver tudo o que j\u00e1 observamos no New Relic:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/8005dfb15d878c6025d745982114cc02.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEst\u00e3o dispon\u00edveis estat\u00edsticas do recurso, uma lista resumida de chamadas internas e amostras de solicita\u00e7\u00f5es que podem ser classificadas por c\u00f3digo de resposta\u2026 Vale mencionar que essa classifica\u00e7\u00e3o agradou muito nossos engenheiros.<\/p>\n<p>Qualquer exemplo de recurso no Datadog pode ser expandido e examinado:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/0e98c9c3924bd248d048b8587f19f922.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOs par\u00e2metros da solicita\u00e7\u00e3o s\u00e3o apresentados, um gr\u00e1fico resumido do tempo gasto em cada componente e um gr\u00e1fico de cascata, onde \u00e9 vis\u00edvel a sequ\u00eancia das chamadas. H\u00e1 tamb\u00e9m a op\u00e7\u00e3o de alternar para a visualiza\u00e7\u00e3o em \u00e1rvore do gr\u00e1fico de cascata:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/c1d12e79d5c170bb88d9261267756fb8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nE o mais interessante \u2014 a visualiza\u00e7\u00e3o da carga do host onde a solicita\u00e7\u00e3o foi executada e a visualiza\u00e7\u00e3o dos logs da solicita\u00e7\u00e3o. <\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/849a299b05596eb6ba4906c7f3851de0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00d3tima integra\u00e7\u00e3o!<\/p>\n<p>Pode surgir a pergunta sobre onde est\u00e3o as abas <b>Databases<\/b> e <b>Servi\u00e7os Externos<\/b>, como no New Relic. Aqui elas n\u00e3o existem: como o Datadog analisa a aplica\u00e7\u00e3o em componentes, o PostgreSQL ser\u00e1 considerado <b>um servi\u00e7o separado<\/b>, e em vez de Servi\u00e7os Externos, deve-se procurar por <code>aws.storage<\/code> (ser\u00e1 o mesmo para cada outro servi\u00e7o externo ao qual o aplicativo possa se conectar).<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/7a2585778478cdd7abab2e31c1858e68.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAqui est\u00e1 um exemplo de <code>postgres<\/code>:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/76710537a8c7f436d207ef52efb50214.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNa verdade, temos tudo o que desej\u00e1vamos:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/152e882d964bd5c77aef69f9c140f350.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c9 vis\u00edvel de qual 'servi\u00e7o' a solicita\u00e7\u00e3o veio. <\/p>\n<p>Vale lembrar que o Datadog se integra perfeitamente com o NGINX Ingress e permite rastreamento completo desde o momento em que a solicita\u00e7\u00e3o chega ao cluster, al\u00e9m de admitir m\u00e9tricas statsd, coletar logs e m\u00e9tricas de hosts.<\/p>\n<p>Um enorme ponto positivo do Datadog \u00e9 que seu pre\u00e7o <i>\u00e9 composto<\/i> por monitoramento de infraestrutura, APM, gerenciamento de logs e testes sint\u00e9ticos, ou seja, \u00e9 poss\u00edvel escolher um plano de forma flex\u00edvel.<\/p>\n<h3>2. Atatus<\/h3>\n<p>\nA equipe da Atatus afirma que seu servi\u00e7o \u00e9 \"igual ao New Relic, mas melhor\". Vamos ver se isso \u00e9 verdade.<\/p>\n<p>O painel realmente parece semelhante, mas n\u00e3o conseguimos identificar o Redis e o memcached usados no aplicativo.<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/1b2271bf779f93d4696b8f5fb90c548b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO APM, por padr\u00e3o, escolhe todas as transa\u00e7\u00f5es, embora, na maioria das vezes, sejam necess\u00e1rias apenas as Web. Assim como no Datadog, n\u00e3o h\u00e1 como ir para o servi\u00e7o desejado a partir do painel principal. Al\u00e9m disso, as transa\u00e7\u00f5es aparecem na lista ap\u00f3s os erros, o que n\u00e3o parece muito l\u00f3gico para um APM.<\/p>\n<p>Nas transa\u00e7\u00f5es da Atatus, tudo \u00e9 muito parecido com o New Relic. Um ponto negativo \u00e9 que a din\u00e2mica para cada um dos controladores n\u00e3o \u00e9 imediatamente vis\u00edvel. \u00c9 necess\u00e1rio procur\u00e1-la na tabela de controladores, classificando por <b>Most Time Consumed<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/57a1640dc1c99732e5d008051ea08f4a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA lista de controladores que conhecemos est\u00e1 dispon\u00edvel na aba <b>Explore<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/9f77e8af1b19460a490f6d57f57c7902.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDe certa forma, essa tabela lembra o Datadog e \u00e9 mais agrad\u00e1vel do que a correspondente no New Relic.<\/p>\n<p>Cada transa\u00e7\u00e3o pode ser expandida e voc\u00ea pode ver o que o aplicativo estava fazendo:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/7a74af09bc90449557a797b7898aa827.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO painel tamb\u00e9m lembra mais o Datadog: h\u00e1 o n\u00famero de solicita\u00e7\u00f5es, uma vis\u00e3o geral das chamadas. O painel superior fornece uma aba com erros <b>HTTP Failures<\/b> e exemplos de solicita\u00e7\u00f5es lentas <b>Session Traces<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/d528b528b14e3e0ba0550296a07d27db.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSe voc\u00ea entrar na transa\u00e7\u00e3o, ver\u00e1 um exemplo do tra\u00e7ado, pode obter uma lista de solicita\u00e7\u00f5es ao banco de dados e observar os cabe\u00e7alhos da solicita\u00e7\u00e3o. Tudo semelhante ao New Relic:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/297cee55b9b32383c607eb6860ffe20e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNo geral, a Atatus impressionou com os detalhes dos tra\u00e7os \u2014 sem as t\u00edpicas combina\u00e7\u00f5es de chamadas em um bloco de lembrete como no New Relic:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/eb40bb051d7a5435072b96cd659bfebf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/0232a197ee2d28489fcf86c4921f7080.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNo entanto, aqui falta um filtro que (como no New Relic) elimine solicita\u00e7\u00f5es muito r\u00e1pidas (&lt;5ms). Por outro lado, a exibi\u00e7\u00e3o da resposta final da transa\u00e7\u00e3o (se bem-sucedida ou erro) foi agrad\u00e1vel.<\/p>\n<p>Painel <b>Databases<\/b> ajudar\u00e1 a examinar as solicita\u00e7\u00f5es a bancos de dados externos que o aplicativo faz. Lembro que o Atatus identificou apenas PostgreSQL e MySQL, embora no projeto tamb\u00e9m estejam envolvidos Redis e memcached.<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/01bd3b1f4e5f25bb86e9aa79a22588c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAs solicita\u00e7\u00f5es s\u00e3o classificadas por crit\u00e9rios habituais: frequ\u00eancia de ativa\u00e7\u00e3o, tempo m\u00e9dio de resposta e assim por diante. \u00c9 interessante destacar a guia com as solicita\u00e7\u00f5es mais lentas - isso \u00e9 muito conveniente. Al\u00e9m disso, os dados nesta guia para PostgreSQL coincidiram com os dados da extens\u00e3o <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/11\/pgstatstatements.html\">pg_stat_statements<\/a><\/noindex> \u2014 excelente resultado!<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e3o \u00e9 s\u00f3 o New Relic: uma vis\u00e3o sobre o Datadog e o Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/128b3eb7ac1e636e47d4a66a292ca872.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGuia <b>Solicita\u00e7\u00f5es Externas<\/b> \u00e9 id\u00eantica a Databases.<\/p>\n<h2>Como resultado, obtemos um servi\u00e7o de \"monitoramento como servi\u00e7o\", automatizado na linha de produ\u00e7\u00e3o de integra\u00e7\u00e3o cont\u00ednua. O desenvolvedor ou testador precisa apenas definir a lista de m\u00e9tricas em um arquivo JSON, e tudo o mais acontece automaticamente. Obtemos um controle de qualidade transparente dos lan\u00e7amentos: todas as notifica\u00e7\u00f5es sobre desempenho, consumo de recursos ou regress\u00f5es arquitet\u00f4nicas.<\/h2>\n<p>\nAmbas as ferramentas apresentadas se sa\u00edram bem como APM. Qualquer uma delas pode oferecer o m\u00ednimo necess\u00e1rio. Podemos resumir nossas impress\u00f5es da seguinte forma:<\/p>\n<h3>Datadog<\/h3>\n<p>\nAcesso direto aos sistemas de cabos transpac\u00edficos. Ping m\u00ednimo para a China, Jap\u00e3o, Austr\u00e1lia e costa oeste dos EUA.<\/p>\n<ul>\n<li> grade tarif\u00e1ria conveniente (APM custa 31 USD por host);<\/li>\n<li> mostrou-se excelente com Python;<\/li>\n<li> possibilidade de integra\u00e7\u00e3o com OpenTracing<\/li>\n<li> integra\u00e7\u00e3o com Kubernetes;<\/li>\n<li> integra\u00e7\u00e3o com NGINX Ingress.<\/li>\n<\/ul>\n<p>\nPontos negativos:<\/p>\n<ul>\n<li> o \u00fanico APM que causou a indisponibilidade do aplicativo devido a um erro do m\u00f3dulo (predis);<\/li>\n<li> autoinstrumenta\u00e7\u00e3o de PHP fraca;<\/li>\n<li> defini\u00e7\u00e3o e designa\u00e7\u00e3o de servi\u00e7os um tanto estranha.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Atatus<\/h3>\n<p>\nAcesso direto aos sistemas de cabos transpac\u00edficos. Ping m\u00ednimo para a China, Jap\u00e3o, Austr\u00e1lia e costa oeste dos EUA.<\/p>\n<ul>\n<li> instrumenta\u00e7\u00e3o profunda de PHP;<\/li>\n<li> interface do usu\u00e1rio semelhante \u00e0 do New Relic.<\/li>\n<\/ul>\n<p>\nPontos negativos:<\/p>\n<ul>\n<li> n\u00e3o funciona em sistemas operacionais antigos (Ubuntu 12.05, CentOS 5);<\/li>\n<li> autoinstrumenta\u00e7\u00e3o fraca;<\/li>\n<li> suporte a apenas duas linguagens de programa\u00e7\u00e3o (Node.js e PHP);<\/li>\n<li> interface de trabalho lenta.<\/li>\n<\/ul>\n<p>\nConsiderando o pre\u00e7o do Atatus de 69 USD por m\u00eas por servidor, provavelmente usar\u00edamos o Datadog, que se integra muito bem \u00e0s nossas necessidades (aplicativos web em K8s) e possui v\u00e1rias fun\u00e7\u00f5es \u00fateis.<\/p>\n<h2>P.S.<\/h2>\n<p>\nConfira tamb\u00e9m em nosso blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/462707\/\">Ferramentas para desenvolvedores de aplicativos executados no Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/436112\/\">O plugin kubectl-debug para depura\u00e7\u00e3o em pods Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424531\/\">Microservi\u00e7os: o tamanho importa, mesmo se voc\u00ea tiver Kubernetes<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/465177\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0441\u0440\u0435\u0434\u0435 SRE-\/DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043d\u0438\u043a\u043e\u0433\u043e \u043d\u0435 \u0443\u0434\u0438\u0432\u0438\u0448\u044c, \u0447\u0442\u043e \u043e\u0434\u043d\u0430\u0436\u0434\u044b \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043b\u0438\u0435\u043d\u0442 (\u0438\u043b\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430) \u0438 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442, \u0447\u0442\u043e \u00ab\u0432\u0441\u0451 \u043f\u0440\u043e\u043f\u0430\u043b\u043e\u00bb: \u0441\u0430\u0439\u0442 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043e\u043f\u043b\u0430\u0442\u044b \u043d\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442, \u0436\u0438\u0437\u043d\u044c \u2014 \u0442\u043b\u0435\u043d\u2026 \u041a\u0430\u043a \u0431\u044b \u043d\u0438 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u043f\u043e\u043c\u043e\u0447\u044c \u0432 \u0442\u0430\u043a\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0431\u0435\u0437 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0431\u044b\u0432\u0430\u0435\u0442 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e. \u0417\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441\u043a\u0440\u044b\u0442\u0430 \u0432 \u043a\u043e\u0434\u0435 \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u2014 \u043d\u0443\u0436\u043d\u043e \u043b\u0438\u0448\u044c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28443,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37901","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=\"description\" content=\"\u0412 \u0441\u0440\u0435\u0434\u0435 SRE-\/DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043d\u0438\u043a\u043e\u0433\u043e \u043d\u0435.\" \/>\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\/ne-new-relic-om-odnim-vzglyad-na-datadog-i-atatus\" \/>\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\udd47\u041d\u0435 New Relic\u2019\u043e\u043c \u043e\u0434\u043d\u0438\u043c: \u0432\u0437\u0433\u043b\u044f\u0434 \u043d\u0430 Datadog \u0438 Atatus | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0441\u0440\u0435\u0434\u0435 SRE-\/DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043d\u0438\u043a\u043e\u0433\u043e \u043d\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/ne-new-relic-om-odnim-vzglyad-na-datadog-i-atatus\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:20:26+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:20:26+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\udd47N\u00e3o \u00e9 s\u00f3 New Relic: uma vis\u00e3o sobre Datadog e Atatus | ProHoster","description":"No meio dos engenheiros SRE\/DevOps ningu\u00e9m \u00e9 indiferente.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/ne-new-relic-om-odnim-vzglyad-na-datadog-i-atatus","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\udd47\u041d\u0435 New Relic\u2019\u043e\u043c \u043e\u0434\u043d\u0438\u043c: \u0432\u0437\u0433\u043b\u044f\u0434 \u043d\u0430 Datadog \u0438 Atatus | ProHoster","og:description":"\u0412 \u0441\u0440\u0435\u0434\u0435 SRE-\/DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043d\u0438\u043a\u043e\u0433\u043e \u043d\u0435.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/ne-new-relic-om-odnim-vzglyad-na-datadog-i-atatus","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:20:26+00:00","article:modified_time":"2019-10-31T19:20:26+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37901","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 19:41:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:39:28","updated":"2026-01-23 19:41:19","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\/37901","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=37901"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/37901\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/28443"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=37901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=37901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=37901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}