{"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\/es\/blog\/administrirovanie\/ne-new-relic-om-odnim-vzglyad-na-datadog-i-atatus","title":{"rendered":"No solo New Relic: una mirada a Datadog y Atatus","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/8f8e3d96daed74986ef3cbe293356302.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEn el entorno de ingenieros SRE\/DevOps, no sorprende que de vez en cuando aparezca un cliente (o un sistema de monitoreo) y comunique que \"todo se ha perdido\": el sitio web no funciona, los pagos no pasan, la vida es un sinsentido... Aunque muchos quisi\u00e9ramos ayudar en tal situaci\u00f3n, hacerlo sin una herramienta simple y clara puede ser muy complicado. A menudo, el problema est\u00e1 oculto en el c\u00f3digo de la propia aplicaci\u00f3n, solo hay que localizarlo.<\/p>\n<h2>En la tristeza y en la alegr\u00eda...<\/h2>\n<p>\nHa sido as\u00ed que, desde hace bastante tiempo, hemos llegado a amar mucho New Relic. Ha sido y sigue siendo una excelente herramienta para monitorear el rendimiento de la aplicaci\u00f3n, adem\u00e1s de permitir la instrumentaci\u00f3n de arquitecturas de microservicios (a trav\u00e9s de su agente) y mucho m\u00e1s. Y todo podr\u00eda ser maravilloso, si no fuera por los cambios en la pol\u00edtica de precios del servicio: su <b>costo <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.newrelic.com\/product-news\/new-relic-new-pricing-startups\/\">desde 2013<\/a><\/noindex> ha aumentado m\u00e1s de 3 veces<\/b>. Adem\u00e1s, desde el a\u00f1o pasado, para obtener una cuenta de prueba se requiere comunicaci\u00f3n con un gerente personal, lo que dificulta la presentaci\u00f3n del producto a un cliente potencial.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Situaci\u00f3n t\u00edpica: New Relic no es necesario de manera \"permanente\", solo se recuerda en el momento en que surgen problemas. Pero se sigue teniendo que pagar regularmente (140 USD por servidor al mes), y en una infraestructura en la nube que se escala autom\u00e1ticamente, las cifras se acumulan r\u00e1pidamente. Aunque existe la opci\u00f3n de \"Pago por uso\", activarla requiere reiniciar la aplicaci\u00f3n, lo que puede llevar a perder la situaci\u00f3n problem\u00e1tica por la que se estaba comenzando todo. No hace mucho, New Relic introdujo un nuevo plan tarifario \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/newrelic.com\/products\/infrastructure\/pricing\">Esenciales<\/a><\/noindex>, \u2014 que a primera vista parece una alternativa razonable a Profesional... pero al examinarlo en detalle, result\u00f3 que faltan algunas funciones importantes (en particular, no incluye <i>Transacciones Clave<\/i>, <i>Trazado de Aplicaciones Cruzadas<\/i>, <i>Trazado Distribuido<\/i>).<\/p>\n<p>Como resultado, comenzamos a considerar la b\u00fasqueda de una alternativa m\u00e1s econ\u00f3mica, y nuestra elecci\u00f3n recay\u00f3 en dos servicios, Datadog y Atatus. \u00bfPor qu\u00e9 precisamente en ellos?<\/p>\n<h2>Sobre los competidores<\/h2>\n<p>\nDe inmediato aclaro que en el mercado hay otras soluciones. Incluso consideramos opciones de c\u00f3digo abierto, pero no todos los clientes tienen capacidad libre para alojar soluciones de categor\u00eda self-hosted... adem\u00e1s, requerir\u00e1n mantenimiento adicional. La pareja que elegimos result\u00f3 ser la m\u00e1s cercana a <b>nuestras necesidades<\/b>:<\/p>\n<ul>\n<li>soporte incorporado y avanzado para aplicaciones PHP (el stack de nuestros clientes es muy diverso, pero este es un claro l\u00edder en la b\u00fasqueda de alternativas a New Relic);<\/li>\n<li>costo asequible (menos de 100 USD al mes por hosting);<\/li>\n<li>instrumentaci\u00f3n autom\u00e1tica;<\/li>\n<li>integraci\u00f3n con Kubernetes;<\/li>\n<li>semejanza con la interfaz de New Relic \u2014 una ventaja notable (porque nuestros ingenieros est\u00e1n acostumbrados a ella).<\/li>\n<\/ul>\n<p>\nPor lo tanto, en la etapa de selecci\u00f3n inicial desechamos varias otras soluciones populares, en particular:<\/p>\n<ul>\n<li> Tideways, AppDynamics y Dynatrace \u2014 por su costo;<\/li>\n<li> Stackify \u2014 bloqueado en Rusia y muestra muy pocos datos.<\/li>\n<\/ul>\n<p>\nEl siguiente art\u00edculo est\u00e1 estruturado de tal manera que primero se presentar\u00e1n brevemente las soluciones consideradas, despu\u00e9s de lo cual hablar\u00e9 sobre nuestra interacci\u00f3n t\u00edpica con New Relic y nuestras experiencias\/impresiones al realizar operaciones similares en otros servicios.<\/p>\n<h3>Presentaci\u00f3n de los competidores seleccionados<\/h3>\n<p>\n<img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y 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>, \u00bfprobablemente lo hayas escuchado? Este servicio comenz\u00f3 su desarrollo hace m\u00e1s de 10 a\u00f1os, en 2008. Lo hemos utilizado activamente desde 2012 y no hemos tenido problemas con la integraci\u00f3n de un n\u00famero realmente grande de aplicaciones en PHP, Ruby y Python, as\u00ed como hemos tenido experiencia integrando con C# y Go. Los autores del servicio tienen soluciones para la monitorizaci\u00f3n de aplicaciones, infraestructura, trazado de infraestructuras de microservicios, han creado aplicaciones convenientes para dispositivos de usuario y mucho m\u00e1s.<\/p>\n<p>Sin embargo, el agente de New Relic funciona con protocolos propietarios, no tiene soporte para OpenTracing. Para la instrumentaci\u00f3n avanzada, se requiere hacer modificaciones espec\u00edficamente para New Relic. Finalmente, el soporte de Kubernetes a\u00fan tiene un estado experimental.<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/6807ed78ff3d053d0aa910dbc81f1414.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDesarrollado en 2010, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.datadoghq.com\/\"><b>Datadog<\/b><\/a><\/noindex> se presenta notablemente m\u00e1s interesante que New Relic en t\u00e9rminos de uso en entornos Kubernetes. En particular, admite la integraci\u00f3n con NGINX Ingress, recolecci\u00f3n de logs, protocolos statsd y OpenTracing, lo que permite rastrear la solicitud del usuario desde el momento de su conexi\u00f3n hasta la finalizaci\u00f3n de su trabajo, as\u00ed como encontrar los logs relacionados con esa solicitud (tanto del lado del servidor web como del lado de los consumidores).<\/p>\n<p>Al usar Datadog, encontramos que a veces constru\u00eda incorrectamente el mapa de microservicios, as\u00ed como algunos inconvenientes t\u00e9cnicos. Por ejemplo, identificaba incorrectamente el tipo de servicio (confundi\u00f3 Django con un servicio de cach\u00e9) y provocaba errores 500 en la aplicaci\u00f3n PHP que utilizaba la popular biblioteca Predis.<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y 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> es la herramienta m\u00e1s joven; el servicio se lanz\u00f3 en 2014. Su presupuesto de marketing claramente es inferior al de los competidores mencionados, y las menciones son significativamente menos frecuentes. Sin embargo, la herramienta en s\u00ed es muy similar a New Relic, tanto en funcionalidades (APM, monitoreo de navegador, etc.) como en apariencia.<\/p>\n<p>Una desventaja significativa es que solo soporta Node.js y PHP. Por otro lado, su implementaci\u00f3n es notablemente mejor que la de Datadog. A diferencia de este \u00faltimo, Atatus no requiere modificaciones en las aplicaciones ni etiquetas adicionales en el c\u00f3digo.<\/p>\n<h2>C\u00f3mo trabajamos con New Relic<\/h2>\n<p>\nAhora vamos a analizar c\u00f3mo normalmente utilizamos New Relic. Supongamos que tenemos un problema que necesita soluci\u00f3n:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/615f56cd69a4360f5a659d135840ad8a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEn el gr\u00e1fico, es f\u00e1cil notar <b>un pico<\/b> \u2014 lo analizaremos. En New Relic, para la aplicaci\u00f3n web se seleccionaron inmediatamente las transacciones web, en el gr\u00e1fico de rendimiento se indican todos los componentes, hay paneles de tasa de errores, tasa de solicitudes... Lo m\u00e1s importante es que, directamente desde estos paneles, se puede navegar entre las diferentes partes de la aplicaci\u00f3n (por ejemplo, hacer clic en MySQL te llevar\u00e1 a la secci\u00f3n de bases de datos).<\/p>\n<p>Dado que en el ejemplo que estamos considerando vemos un aumento en la actividad <b>PHP<\/b>, haremos clic en este gr\u00e1fico y autom\u00e1ticamente iremos a <b>Transacciones<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/9fbbde055a88d6f63aa6dca4998f925b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLa lista de transacciones, que en esencia son controladores del modelo MVC, ya est\u00e1 ordenada por <b>M\u00e1s que consume tiempo<\/b>, lo que es muy conveniente: vemos de inmediato en qu\u00e9 est\u00e1 trabajando la aplicaci\u00f3n. Tambi\u00e9n se presentan ejemplos de solicitudes largas que New Relic recopila autom\u00e1ticamente. Al cambiar la clasificaci\u00f3n, es f\u00e1cil encontrar:<\/p>\n<ul>\n<li> el controlador m\u00e1s cargado de la aplicaci\u00f3n;<\/li>\n<li> el controlador m\u00e1s solicitado;<\/li>\n<li> el m\u00e1s lento de los controladores.<\/li>\n<\/ul>\n<p>\nAdem\u00e1s, se puede desplegar cada transacci\u00f3n y ver qu\u00e9 estaba haciendo la aplicaci\u00f3n en el momento de la ejecuci\u00f3n del c\u00f3digo:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/9c3136cb973a1f47729c305256ee1836.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFinalmente, la aplicaci\u00f3n guarda ejemplos de trazas de solicitudes largas (que tardan m\u00e1s de 2 segundos). Aqu\u00ed est\u00e1 el panel para una transacci\u00f3n larga:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/bca8a9f1b0ccd8158eaff41067681e2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSe puede ver que dos m\u00e9todos consumen mucho tiempo y adem\u00e1s se muestra el tiempo en que se ejecut\u00f3 la solicitud, su URI y dominio. Esto ayuda con frecuencia a localizar solicitudes en los registros. Al ir a <b>Detalles de trazas<\/b>, se puede ver desde d\u00f3nde se llaman estos m\u00e9todos:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/aef8bbd86278aa31d595aa353e6387e0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nY en <b>Consultas a la base de datos<\/b> \u2014 evaluar las consultas a las bases de datos que se ejecutaron en el momento de la operaci\u00f3n de la aplicaci\u00f3n:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/40d942b57b87237f378dc617676f00fc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nArmados con este conocimiento, podemos evaluar la causa de la lentitud de la aplicaci\u00f3n y trabajar con el desarrollador en una estrategia para resolver el problema. En la realidad, New Relic no siempre ofrece una imagen clara, sin embargo, ayuda a seleccionar una direcci\u00f3n para la investigaci\u00f3n:<\/p>\n<ul>\n<li> largo <code>PDO::Construct<\/code> nos llev\u00f3 a un funcionamiento extra\u00f1o de pgpoll;<\/li>\n<li> inestabilidad en el tiempo <code>Memcache::Get<\/code> sugiri\u00f3 una configuraci\u00f3n incorrecta de la m\u00e1quina virtual;<\/li>\n<li> un tiempo de procesamiento de plantilla sospechosamente alto llev\u00f3 a un ciclo anidado que verificaba la existencia de 500 avatares en el almacenamiento de objetos;<\/li>\n<li> y as\u00ed sucesivamente\u2026<\/li>\n<\/ul>\n<p>\nTambi\u00e9n puede ocurrir que, en lugar de ejecutar el c\u00f3digo en la pantalla principal, algo relacionado con el almacenamiento externo crezca; y no importa si es Redis o PostgreSQL, todos se esconden en la pesta\u00f1a <b>Bases de datos<\/b>.<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/5ff39a5a6e02be329e3c40d54c3b4a1d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSe puede elegir una base de datos espec\u00edfica para investigar y clasificar las consultas, de manera similar a como se hace en Transactions. Al pasar a la pesta\u00f1a de consultas, se puede ver cu\u00e1ntas veces aparece esta consulta en cada uno de los controladores de la aplicaci\u00f3n, as\u00ed como evaluar con qu\u00e9 frecuencia se llama. Es muy conveniente:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/92b3bca78f0aa0f27e5700cd6fe283fe.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDatos similares se encuentran en la pesta\u00f1a <b>External Services<\/b>, que oculta las solicitudes a servicios HTTP externos, como la llamada al almacenamiento de objetos, el env\u00edo de eventos a Sentry o algo similar. En t\u00e9rminos de contenido, esta pesta\u00f1a es completamente an\u00e1loga a Databases:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/417d6ed0d5fb266e1a338d8277278000.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Competidores: capacidades e impresiones<\/h2>\n<p>\nAhora lo m\u00e1s interesante: comparemos las capacidades de New Relic con lo que ofrecen los competidores. Desafortunadamente, no pudimos probar las tres herramientas en una versi\u00f3n id\u00e9ntica de una aplicaci\u00f3n en producci\u00f3n. Sin embargo, hemos intentado comparar situaciones\/configuraciones lo m\u00e1s id\u00e9nticas posibles.<\/p>\n<h3>1. Datadog<\/h3>\n<p>\nDatadog nos recibe con un panel que tiene una pared de servicios:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/fa4eb4ba2349b900d5c04238552e5329.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIntenta descomponer las aplicaciones en componentes\/microservicios, as\u00ed que en el ejemplo de la aplicaci\u00f3n Django que se presenta, veremos 2 conexiones a PostgreSQL (<code>defaultdb<\/code> y <code>postgres<\/code>), as\u00ed como Celery y Redis. Trabajar con Datadog requiere de su parte conocimientos m\u00ednimos de los principios MVC: es necesario entender hacia d\u00f3nde van las solicitudes de los usuarios. Normalmente, esto se ayuda con la <b>mapa de servicios<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/2f5f7c9ce171af671a65fb41401451e5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPor cierto, algo similar tambi\u00e9n existe en New Relic:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/b4e14f15b900f5c19856f1077873c9c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u2026 adem\u00e1s, su mapa, en mi opini\u00f3n, est\u00e1 hecho de manera m\u00e1s simple y comprensible: representa no los componentes de una sola aplicaci\u00f3n (lo que lo har\u00eda excesivamente detallado, como en el caso de Datadog), sino solo servicios espec\u00edficos o microservicios.<\/p>\n<p>Volvamos a Datadog: del mapa de servicios se puede ver que las solicitudes de los usuarios llegan a Django. Vamos al servicio de Django y finalmente veremos lo que esper\u00e1bamos:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/fe907532184004ec02238ccd5e7d0ce6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDesafortunadamente, por defecto aqu\u00ed no hay un gr\u00e1fico <b>Tiempo de transacci\u00f3n web<\/b>, similar a lo que vemos en el panel principal de New Relic. Sin embargo, se puede configurar en el lugar del gr\u00e1fico <b>% del tiempo gastado<\/b>. Solo es necesario cambiarlo a <b>Tiempo promedio por solicitud por tipo<\/b>\u2026 \u00a1y ya tenemos el gr\u00e1fico familiar frente a nosotros!<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/4576b27658d257fa5b062ffc7bb5464a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPor qu\u00e9 en Datadog se prefiri\u00f3 un gr\u00e1fico diferente \u2014 es un misterio para nosotros. Tambi\u00e9n nos decepcion\u00f3 que el sistema no guarda la selecci\u00f3n del usuario (a diferencia de ambos competidores), por lo que la \u00fanica soluci\u00f3n es crear paneles personalizados.<\/p>\n<p>Sin embargo, nos alegr\u00f3 la posibilidad en Datadog de pasar de estos gr\u00e1ficos a las m\u00e9tricas de los servidores relacionados, leer los registros y evaluar la carga de los manejadores del servidor web (Gunicorn). Es casi como en New Relic\u2026 e incluso un poco m\u00e1s (\u00a1registros!).<\/p>\n<p>Debajo de los gr\u00e1ficos se encuentran las transacciones, completamente an\u00e1logas a New Relic:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/3ab831fce57abe39e27bea12b6eb0f67.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEn Datadog, las transacciones se llaman <b>recursos<\/b>. Se pueden ordenar los controladores por n\u00famero de solicitudes, por tiempo promedio de respuesta, por el tiempo m\u00e1ximo gastado durante el per\u00edodo seleccionado. <\/p>\n<p>Se puede expandir el recurso y ver todo lo que ya hemos observado en New Relic:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/8005dfb15d878c6025d745982114cc02.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHay estad\u00edsticas sobre el recurso, y una lista resumida de llamadas internas, y ejemplos de solicitudes que se pueden ordenar por c\u00f3digo de respuesta\u2026 A prop\u00f3sito, a nuestros ingenieros les gust\u00f3 mucho esta ordenaci\u00f3n.<\/p>\n<p>Cualquier ejemplo de recurso en Datadog se puede expandir y estudiar:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/0e98c9c3924bd248d048b8587f19f922.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSe presentan los par\u00e1metros de la solicitud, un diagrama resumen sobre el tiempo gastado en cada uno de los componentes y un diagrama de cascada que muestra la secuencia de llamadas. Tambi\u00e9n est\u00e1 disponible la alternancia a una vista en \u00e1rbol del diagrama de cascada:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/c1d12e79d5c170bb88d9261267756fb8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nY lo m\u00e1s interesante \u2014 la visualizaci\u00f3n de la carga del host en el que se ejecut\u00f3 la solicitud, y la visualizaci\u00f3n de los registros de la solicitud. <\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/849a299b05596eb6ba4906c7f3851de0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00a1Excelente integraci\u00f3n!<\/p>\n<p>Puede surgir la pregunta de d\u00f3nde est\u00e1n las pesta\u00f1as <b>Bases de datos<\/b> y <b>External Services<\/b>, como en New Relic. Aqu\u00ed no hay: dado que Datadog descompone la aplicaci\u00f3n en componentes, PostgreSQL se considerar\u00e1 <b>un servicio separado<\/b>, y en lugar de Servicios Externos se debe buscar <code>aws.storage<\/code> (ser\u00e1 lo mismo para cada otro servicio externo al que la aplicaci\u00f3n pueda acceder).<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/7a2585778478cdd7abab2e31c1858e68.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAqu\u00ed hay un ejemplo de <code>postgres<\/code>:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/76710537a8c7f436d207ef52efb50214.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEn esencia, tenemos todo lo que quer\u00edamos:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/152e882d964bd5c77aef69f9c140f350.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEs evidente de qu\u00e9 'servicio' provino la solicitud. <\/p>\n<p>No est\u00e1 de m\u00e1s recordar que Datadog se integra muy bien con NGINX Ingress y permite realizar un seguimiento completo desde el momento en que llega la solicitud al cl\u00faster, as\u00ed como aceptar m\u00e9tricas statsd, recopilar logs y m\u00e9tricas de hosts.<\/p>\n<p>Una gran ventaja de Datadog es que su precio <i>se compone<\/i> de la monitorizaci\u00f3n de infraestructura, APM, gesti\u00f3n de logs y pruebas sint\u00e9ticas, es decir, se puede elegir un plan de manera flexible.<\/p>\n<h3>2. Atatus<\/h3>\n<p>\nEl equipo de Atatus afirma que su servicio es 'igual que New Relic, pero mejor'. Veamos si realmente es as\u00ed.<\/p>\n<p>La interfaz principal se parece efectivamente, pero no logramos identificar las instancias de Redis y memcached utilizadas en la aplicaci\u00f3n.<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/1b2271bf779f93d4696b8f5fb90c548b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAPM selecciona todas las transacciones por defecto, aunque generalmente solo se necesitan las Web. Al igual que en Datadog, no hay forma de acceder al servicio deseado desde la interfaz principal. Adem\u00e1s, las transacciones aparecen en la lista despu\u00e9s de los errores, lo cual no es muy l\u00f3gico para APM.<\/p>\n<p>En las transacciones de Atatus, todo es muy similar a New Relic. Desventaja: no se ve de inmediato la din\u00e1mica para cada controlador. Hay que buscarla en la tabla de controladores, ordenando por <b>Most Time Consumed<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/57a1640dc1c99732e5d008051ea08f4a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLa lista familiar de controladores est\u00e1 disponible en la pesta\u00f1a <b>Explorar<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/9f77e8af1b19460a490f6d57f57c7902.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEn cierto modo, esta tabla recuerda a Datadog y resulta m\u00e1s agradable que la correspondiente en New Relic.<\/p>\n<p>Se puede desplegar cada transacci\u00f3n y ver en qu\u00e9 estaba ocupada la aplicaci\u00f3n:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/7a74af09bc90449557a797b7898aa827.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEl panel tambi\u00e9n recuerda m\u00e1s a Datadog: hay cantidad de solicitudes y una visi\u00f3n general de las llamadas. La parte superior presenta una pesta\u00f1a con errores <b>HTTP Failures<\/b> y ejemplos de solicitudes lentas <b>Session Traces<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/d528b528b14e3e0ba0550296a07d27db.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSi se accede a la transacci\u00f3n, se ve un ejemplo de traza, se puede obtener una lista de solicitudes a la base de datos y ver los encabezados de la solicitud. Todo es similar a New Relic:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/297cee55b9b32383c607eb6860ffe20e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEn general, Atatus sorprende con trazas detalladas, sin las t\u00edpicas uniones de llamadas en el bloque de recordatorio de New Relic:<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/eb40bb051d7a5435072b96cd659bfebf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/0232a197ee2d28489fcf86c4921f7080.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSin embargo, aqu\u00ed falta un filtro que (como en New Relic) descarte las solicitudes extremadamente r\u00e1pidas (&lt;5ms). Por otro lado, me gust\u00f3 la visualizaci\u00f3n de la respuesta final de la transacci\u00f3n (\u00e9xito o error).<\/p>\n<p>Panel <b>Bases de datos<\/b> ayudar\u00e1 a examinar las solicitudes a bases de datos externas que hace la aplicaci\u00f3n. Recuerden, Atatus solo encontr\u00f3 PostgreSQL y MySQL, aunque en el proyecto tambi\u00e9n se utilizan Redis y memcached.<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/01bd3b1f4e5f25bb86e9aa79a22588c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLas consultas se organizan seg\u00fan criterios familiares: frecuencia de activaci\u00f3n, tiempo promedio de respuesta, y as\u00ed sucesivamente. Tambi\u00e9n quiero destacar la pesta\u00f1a con las consultas m\u00e1s lentas, que es muy \u00fatil. Adem\u00e1s, los datos en esta pesta\u00f1a para PostgreSQL coincidieron con los datos de la extensi\u00f3n. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/11\/pgstatstatements.html\">pg_stat_statements<\/a><\/noindex> \u00a1un excelente resultado!<\/p>\n<p><img decoding=\"async\" alt=\"No solo New Relic: una mirada a Datadog y Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/128b3eb7ac1e636e47d4a66a292ca872.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPesta\u00f1a <b>Solicitudes Externas<\/b> es completamente id\u00e9ntica a Databases.<\/p>\n<h2>Conclusiones<\/h2>\n<p>\nAmbas herramientas presentadas han mostrado un buen rendimiento como APM. Cualquiera de ellas puede ofrecer lo m\u00ednimo necesario. En resumen, nuestras impresiones se pueden resumir as\u00ed:<\/p>\n<h3>Datadog<\/h3>\n<p>\nPros:<\/p>\n<ul>\n<li> una cuadr\u00edcula tarifaria conveniente (APM cuesta 31 USD por host);<\/li>\n<li> se desempe\u00f1\u00f3 muy bien con Python;<\/li>\n<li> posibilidad de integraci\u00f3n con OpenTracing<\/li>\n<li> integraci\u00f3n con Kubernetes;<\/li>\n<li> integraci\u00f3n con NGINX Ingress.<\/li>\n<\/ul>\n<p>\nDesventajas:<\/p>\n<ul>\n<li> el \u00fanico APM que caus\u00f3 la inaccesibilidad de la aplicaci\u00f3n debido a un error en el m\u00f3dulo (predis);<\/li>\n<li> d\u00e9bil auto-instrumentaci\u00f3n de PHP;<\/li>\n<li> una definici\u00f3n algo extra\u00f1a de los servicios y sus prop\u00f3sitos.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Atatus<\/h3>\n<p>\nPros:<\/p>\n<ul>\n<li> instrumentaci\u00f3n profunda de PHP;<\/li>\n<li> interfaz de usuario similar a New Relic.<\/li>\n<\/ul>\n<p>\nDesventajas:<\/p>\n<ul>\n<li> no funciona en sistemas operativos antiguos (Ubuntu 12.05, CentOS 5);<\/li>\n<li> d\u00e9bil auto-instrumentaci\u00f3n;<\/li>\n<li> soporte para solo dos lenguajes de programaci\u00f3n (Node.js y PHP);<\/li>\n<li> interfaz de trabajo lenta.<\/li>\n<\/ul>\n<p>\nDado el precio de Atatus de 69 USD al mes por servidor, preferir\u00edamos usar Datadog, que se integra muy bien a nuestras necesidades (aplicaciones web en K8s) y cuenta con varias funciones \u00fatiles.<\/p>\n<h2>P.D.<\/h2>\n<p>\nTambi\u00e9n puedes leer en nuestro blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/462707\/\">Herramientas para desarrolladores de aplicaciones que se ejecutan en Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/436112\/\">El complemento kubectl-debug para depuraci\u00f3n en pods de Kubernetes.<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424531\/\">Microservicios: el tama\u00f1o importa, incluso si tienes Kubernetes<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Fuente: <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.2 - 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\/es\/blog\/administrirovanie\/ne-new-relic-om-odnim-vzglyad-na-datadog-i-atatus\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\udd47No solo con New Relic: una mirada a Datadog y Atatus | ProHoster","description":"En el entorno de ingenieros SRE\/DevOps no hay nadie.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/ne-new-relic-om-odnim-vzglyad-na-datadog-i-atatus","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/37901","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=37901"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/37901\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/28443"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=37901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=37901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=37901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}