{"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\/it\/blog\/administrirovanie\/ne-new-relic-om-odnim-vzglyad-na-datadog-i-atatus","title":{"rendered":"Non solo New Relic: uno sguardo a Datadog e Atatus","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/8f8e3d96daed74986ef3cbe293356302.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNell'ambito degli ingegneri SRE e DevOps, non sorprende che a un certo punto un cliente (o un sistema di monitoraggio) possa segnalare che '\u00e8 tutto finito': il sito non funziona, i pagamenti non vengono elaborati, la vita \u00e8 triste... Per quanto si desideri aiutare in una situazione simile, farlo senza uno strumento semplice e chiaro \u00e8 spesso molto difficile. Spesso il problema si cela nel codice dell'applicazione stessa: \u00e8 necessario solo localizzarlo.<\/p>\n<h2>Nella gioia e nel dolore...<\/h2>\n<p>\n\u00c8 cos\u00ec che, da molto tempo, abbiamo sviluppato un grande affetto per New Relic. \u00c8 uno strumento eccellente per monitorare le prestazioni delle applicazioni e consente anche di strumentare architetture a microservizi (attraverso il suo agente) e molto altro. Tutto potrebbe andare bene se non fosse per i cambiamenti nella politica dei prezzi del servizio: il suo <b>costo <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.newrelic.com\/product-news\/new-relic-new-pricing-startups\/\">dal 2013<\/a><\/noindex> \u00e8 aumentato di oltre 3 volte<\/b>. Inoltre, dall'anno scorso, per ottenere un account trial \u00e8 necessario comunicare con un manager personale, il che rende difficile presentare il prodotto a potenziali clienti.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Situazione comune: New Relic non \u00e8 necessario su base 'permanente'; si ricorda di lui solo quando sorgono problemi. Ma il pagamento \u00e8 comunque necessario regolarmente (140 USD al mese per server), e in un'infrastruttura cloud auto-scalabile, le somme possono diventare significative. Anche se c'\u00e8 la possibilit\u00e0 di 'Pay-As-You-Go', attivare New Relic richieder\u00e0 un riavvio dell'applicazione, il che pu\u00f2 portare alla perdita della situazione problematica per cui tutto \u00e8 stato impostato. Recentemente, New Relic ha introdotto un nuovo piano tariffario \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/newrelic.com\/products\/infrastructure\/pricing\">Essenziali<\/a><\/noindex>, \u2014 che a prima vista appare una ragionevole alternativa a Professional\u2026 ma con un'esaminazione pi\u00f9 dettagliata, si \u00e8 rivelato che alcune funzionalit\u00e0 importanti mancano (in particolare, non ha <i>Key Transactions<\/i>, <i>Cross Application Tracing<\/i>, <i>Distributed Tracing<\/i>).<\/p>\n<p>Di conseguenza, abbiamo iniziato a cercare un'alternativa pi\u00f9 economica, e la nostra scelta \u00e8 caduta su due servizi: Datadog e Atatus. Perch\u00e9 proprio su di essi?<\/p>\n<h2>Sui concorrenti<\/h2>\n<p>\nVoglio precisare subito che sul mercato ci sono anche altre soluzioni. Abbiamo anche considerato opzioni Open Source, ma non tutti i clienti hanno sufficienti risorse per ospitare soluzioni di tipo self-hosted... inoltre, richiederanno ulteriore manutenzione. Le due soluzioni che abbiamo scelto si sono rivelate le pi\u00f9 vicine a <b>le nostre esigenze<\/b>:<\/p>\n<ul>\n<li>un supporto integrato e sviluppato per le applicazioni PHP (il panorama dei nostri clienti \u00e8 molto vario, ma questo \u00e8 decisamente leader in termini di ricerca di alternative a New Relic);<\/li>\n<li>un costo accessibile (meno di 100 USD al mese per l'hosting);<\/li>\n<li>strumentazione automatica;<\/li>\n<li>integrazione con Kubernetes;<\/li>\n<li>somiglianza con l'interfaccia di New Relic \u2014 un chiaro vantaggio (poich\u00e9 i nostri ingegneri vi sono abituati).<\/li>\n<\/ul>\n<p>\nPertanto, nella fase di selezione iniziale abbiamo escluso alcune altre soluzioni popolari, in particolare:<\/p>\n<ul>\n<li> Tideways, AppDynamics e Dynatrace \u2014 a causa del costo;<\/li>\n<li> Stackify \u2014 bloccato in RF e mostra troppe poche informazioni.<\/li>\n<\/ul>\n<p>\nIl restante articolo \u00e8 strutturato in modo che inizialmente verranno brevemente presentate le soluzioni analizzate, dopo di che racconter\u00f2 del nostro tipico interazione con New Relic e delle esperienze\/impressioni nell'esecuzione di operazioni simili in altri servizi.<\/p>\n<h3>Presentazione dei concorrenti selezionati<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/b8960097f729d56abeb9d1b0f5931e7d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nRiguardo <noindex><a rel=\"nofollow\" href=\"https:\/\/newrelic.com\/\"><b>New Relic<\/b><\/a><\/noindex>, probabilmente l'hai sentito? Questo servizio ha iniziato a svilupparsi oltre 10 anni fa, nel 2008. Lo utilizziamo attivamente dal 2012 e non abbiamo mai riscontrato problemi nell'integrazione di un numero veramente elevato di applicazioni in linguaggi come PHP, Ruby e Python, e abbiamo anche esperienza con integrazioni in C# e Go. Gli autori del servizio offrono soluzioni per il monitoraggio delle applicazioni, dell'infrastruttura, la tracciabilit\u00e0 delle infrastrutture microservizi, hanno creato applicazioni facili da usare per i dispositivi degli utenti e molto altro.<\/p>\n<p>Tuttavia, l'agente New Relic opera su protocolli proprietari e non supporta OpenTracing. Per un'implementazione avanzata \u00e8 necessario apportare modifiche specifiche per New Relic. Infine, il supporto per Kubernetes \u00e8 attualmente in fase sperimentale.<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/6807ed78ff3d053d0aa910dbc81f1414.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nSviluppato nel 2010 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.datadoghq.com\/\"><b>Datadog<\/b><\/a><\/noindex> sembra decisamente pi\u00f9 interessante di New Relic per quanto riguarda l'applicazione in ambienti Kubernetes. In particolare, supporta l'integrazione con NGINX Ingress, la raccolta di log, i protocolli statsd e OpenTracing, che consente di tracciare la richiesta dell'utente dal momento in cui si connette fino alla conclusione del lavoro, oltre a trovare i log relativi a quella richiesta (sia dal lato del server web che dal lato dei consumer).<\/p>\n<p>Utilizzando Datadog, ci siamo trovati di fronte al problema che a volte costruiva erroneamente la mappa dei microservizi, oltre ad alcuni difetti tecnici. Ad esempio, identificava erroneamente il tipo di servizio (interpretando Django come un servizio di caching) e causava errori 500 nell'applicazione PHP che utilizzava la popolare libreria Predis.<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e 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> \u00e8 lo strumento pi\u00f9 giovane; il servizio \u00e8 stato lanciato nel 2014. Il suo budget di marketing \u00e8 chiaramente inferiore a quello dei concorrenti menzionati, e i riferimenti sono notevolmente pi\u00f9 rari. Tuttavia, lo strumento stesso \u00e8 molto simile a New Relic, non solo nelle funzionalit\u00e0 (APM, monitoraggio del browser, ecc.), ma anche nell'aspetto.<\/p>\n<p>Un notevole svantaggio \u00e8 il supporto limitato a Node.js e PHP. D'altra parte, \u00e8 implementato in modo significativamente migliore rispetto a Datadog. A differenza di quest'ultimo, Atatus non richiede modifiche alle applicazioni o l'aggiunta di etichette nel codice.<\/p>\n<h2>Come lavoriamo con New Relic<\/h2>\n<p>\nOra vedremo come utilizziamo normalmente New Relic. Supponiamo di avere un problema che necessita di una soluzione:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/615f56cd69a4360f5a659d135840ad8a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNel grafico \u00e8 facile notare <b>un picco<\/b> \u2014 analizziamolo. In New Relic per l'applicazione web, sono immediatamente selezionate le transazioni web; nel grafico delle prestazioni sono presenti tutti i componenti, ci sono pannelli per il tasso di errore e il tasso di richiesta... Ci\u00f2 che \u00e8 fondamentale \u00e8 che proprio da questi pannelli \u00e8 possibile navigare tra le diverse parti dell'applicazione (per esempio, un clic su MySQL porter\u00e0 alla sezione dei database).<\/p>\n<p>Poich\u00e9 nell'esempio in discussione vediamo un picco di attivit\u00e0 <b>PHP<\/b>, clicchiamo su questo grafico e passeremo automaticamente a <b>Transazioni<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/9fbbde055a88d6f63aa6dca4998f925b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nL'elenco delle transazioni, che sono sostanzialmente i controllori del modello MVC, \u00e8 gi\u00e0 ordinato per <b>Pi\u00f9 tempo impegnativo<\/b>, che \u00e8 molto conveniente: vediamo subito cosa fa l'applicazione. Qui sono presenti esempi di richieste lunghe, che vengono raccolte automaticamente da New Relic. Cambiando l'ordinamento, \u00e8 facile trovare:<\/p>\n<ul>\n<li> il controller dell'applicazione pi\u00f9 sovraccarico;<\/li>\n<li> il controller pi\u00f9 richiesto;<\/li>\n<li> il pi\u00f9 lento tra i controller.<\/li>\n<\/ul>\n<p>\nInoltre, \u00e8 possibile espandere ogni transazione e vedere cosa ha fatto l'applicazione durante l'esecuzione del codice:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/9c3136cb973a1f47729c305256ee1836.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nInfine, nell'applicazione vengono memorizzati esempi di trace di richieste lunghe (che impiegano pi\u00f9 di 2 secondi). Ecco il pannello per una transazione lunga:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/bca8a9f1b0ccd8158eaff41067681e2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c8 evidente che due metodi richiedono molto tempo, e insieme a questo viene mostrato anche il tempo in cui \u00e8 stata eseguita la richiesta, il suo URI e il dominio. Questo aiuta spesso a trovare la richiesta nei log. Andando a <b>Dettagli trace<\/b>, \u00e8 possibile vedere da dove vengono chiamati questi metodi:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/aef8bbd86278aa31d595aa353e6387e0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nE in <b>Query del database<\/b> concedere una valutazione delle query ai database che sono state eseguite al momento del funzionamento dell'applicazione:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/40d942b57b87237f378dc617676f00fc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nArmati di queste conoscenze, possiamo valutare la causa del rallentamento dell'applicazione e, insieme allo sviluppatore, elaborare una strategia per risolvere il problema. In realt\u00e0, New Relic non offre sempre un quadro chiaro, ma aiuta a scegliere la direzione dell'indagine:<\/p>\n<ul>\n<li> lungo <code>PDO::Construct<\/code> ci ha portato a un funzionamento strano di pgpoll;<\/li>\n<li> instabilit\u00e0 nel tempo <code>Memcache::Get<\/code> ha suggerito una configurazione errata della macchina virtuale;<\/li>\n<li> un tempo di elaborazione del modello insolitamente elevato ha portato a un ciclo annidato che verifica la presenza di 500 avatar nella memoria oggetti;<\/li>\n<li> e cos\u00ec via\u2026<\/li>\n<\/ul>\n<p>\nPu\u00f2 anche capitare che, invece di eseguire il codice nella schermata principale, cresca qualcosa legato a un'archiviazione esterna dei dati \u2014 e non importa cosa sia: Redis o PostgreSQL, \u2014 si nascondono tutti sotto la scheda <b>Databases<\/b>.<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/5ff39a5a6e02be329e3c40d54c3b4a1d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c8 possibile scegliere un database specifico per l'analisi e ordinare le query \u2014 analogamente a quanto avviene in Transactions. Inoltre, passando alla scheda delle query, \u00e8 possibile vedere quante volte questa query viene chiamata in ciascun controller dell'applicazione e valutare con quale frequenza viene invocata. Questo \u00e8 molto utile:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/92b3bca78f0aa0f27e5700cd6fe283fe.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDati simili sono forniti dalla scheda <b>External Services<\/b>, che nasconde richieste ai servizi HTTP esterni, come l'accesso a uno storage oggetti, l'invio di eventi a Sentry o simili. Contenutisticamente, la scheda \u00e8 completamente analoga a Databases:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/417d6ed0d5fb266e1a338d8277278000.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Concorrenti: possibilit\u00e0 e impressioni<\/h2>\n<p>\nOra la parte interessante: confrontiamo le funzionalit\u00e0 di New Relic con quelle offerte dai concorrenti. Sfortunatamente, non siamo riusciti a testare tutti e tre gli strumenti su una versione dello stesso applicativo funzionante in produzione. Tuttavia, abbiamo cercato di confrontare situazioni\/configurazioni il pi\u00f9 identiche possibile.<\/p>\n<h3>1. Datadog<\/h3>\n<p>\nDatadog ci accoglie con un pannello e una bacheca di servizi:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/fa4eb4ba2349b900d5c04238552e5329.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCerca di suddividere le applicazioni in componenti\/microservizi, quindi nell'esempio dell'applicazione Django vedremo 2 connessioni a PostgreSQL (<code>defaultdb<\/code> e <code>postgres<\/code>), e anche Celery, Redis. Lavorare con Datadog richiede da parte vostra conoscenze minime dei principi MVC: \u00e8 necessario capire dove arrivano le richieste degli utenti. Di solito, questo \u00e8 facilitato da <b>una mappa dei servizi<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/2f5f7c9ce171af671a65fb41401451e5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA proposito, qualcosa di simile \u00e8 presente anche in New Relic:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/b4e14f15b900f5c19856f1077873c9c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u2026 e la loro mappa, a mio avviso, \u00e8 pi\u00f9 semplice e chiara: mostra solo i servizi o microservizi specifici, invece di rappresentare i componenti di un'unica applicazione (il che la renderebbe eccessivamente dettagliata, come nel caso di Datadog).<\/p>\n<p>Torniamo a Datadog: dalla mappa dei servizi si vede che le richieste degli utenti arrivano a Django. Passiamo al servizio Django e finalmente vediamo ci\u00f2 che ci aspettavamo:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/fe907532184004ec02238ccd5e7d0ce6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSfortunatamente, di default non c'\u00e8 un grafico <b>Tempo di transazione web<\/b>, simile a quello che vediamo sulla dashboard principale di New Relic. Tuttavia, \u00e8 possibile configurarlo al posto del grafico <b>% del tempo speso<\/b>. Basta cambiarlo in <b>Tempo medio per richiesta per tipo<\/b>\u2026 ed ecco che il grafico familiare ci guarda!<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/4576b27658d257fa5b062ffc7bb5464a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPerch\u00e9 Datadog ha scelto un grafico diverso \u00e8 un mistero per noi. Ci ha anche delusi il fatto che il sistema non ricordi la scelta dell'utente (a differenza di entrambi i concorrenti), e quindi \u2013 l'unica salvezza \u00e8 creare dashboard personalizzate.<\/p>\n<p>Tuttavia, ci ha soddisfatto la possibilit\u00e0 in Datadog di passare da questi grafici alle metriche dei server correlati, leggere i log e valutare il carico dei gestori del server web (Gunicorn). \u00c8 tutto quasi come in New Relic\u2026 e anche un po' di pi\u00f9 (i log)!<\/p>\n<p>Sotto i grafici si trovano le transazioni, del tutto simili a quelle di New Relic:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/3ab831fce57abe39e27bea12b6eb0f67.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn Datadog, le transazioni vengono chiamate <b>risorse<\/b>. \u00c8 possibile ordinare i controller in base al numero di richieste, al tempo medio di risposta o al massimo tempo impiegato nel periodo selezionato. <\/p>\n<p>\u00c8 possibile espandere la risorsa e vedere tutto ci\u00f2 che abbiamo gi\u00e0 osservato in New Relic:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/8005dfb15d878c6025d745982114cc02.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSono presenti sia statistiche sulla risorsa, sia un elenco riassuntivo delle chiamate interne e degli esempi di richieste, che possono essere ordinati in base al codice di risposta\u2026 A proposito, questa funzionalit\u00e0 di ordinamento \u00e8 piaciuta molto ai nostri ingegneri.<\/p>\n<p>Qualsiasi esempio di risorsa in Datadog pu\u00f2 essere aperto e studiato:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/0e98c9c3924bd248d048b8587f19f922.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSono presentati i parametri della richiesta, un diagramma riassuntivo del tempo impiegato per ciascun componente e un diagramma a cascata che mostra la sequenza delle chiamate. \u00c8 anche disponibile la possibilit\u00e0 di passare a una visualizzazione ad albero del diagramma a cascata:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/c1d12e79d5c170bb88d9261267756fb8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nE la cosa pi\u00f9 interessante \u00e8 la visualizzazione del carico dell'host che ha eseguito la richiesta e la visualizzazione dei log della richiesta. <\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/849a299b05596eb6ba4906c7f3851de0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOttima integrazione!<\/p>\n<p>Potrebbe sorgere la domanda, dove sono le schede <b>Databases<\/b> e <b>External Services<\/b>, come in New Relic. Qui non ci sono: poich\u00e9 Datadog suddivide l'applicazione in componenti, PostgreSQL sar\u00e0 considerato <b>come servizio separato<\/b>, e invece di External Services si deve cercare <code>aws.storage<\/code> (lo stesso varr\u00e0 per ogni altro servizio esterno a cui l'applicazione pu\u00f2 connettersi).<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/7a2585778478cdd7abab2e31c1858e68.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEcco un esempio con <code>postgres<\/code>:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/76710537a8c7f436d207ef52efb50214.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn sostanza, c'\u00e8 tutto ci\u00f2 che volevamo:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/152e882d964bd5c77aef69f9c140f350.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c8 evidente da quale 'servizio' \u00e8 arrivata la richiesta. <\/p>\n<p>Non \u00e8 superfluo ricordare che Datadog si integra perfettamente con NGINX Ingress e consente di eseguire tracciamenti end-to-end dal momento in cui la richiesta arriva nel cluster, oltre a ricevere metriche statsd, raccogliere log e metriche degli host.<\/p>\n<p>Un grande vantaggio di Datadog \u00e8 che il suo prezzo <i>\u00e8 composto<\/i> dal monitoraggio dell'infrastruttura, APM, gestione dei log e test Synthetics, quindi \u00e8 possibile scegliere un piano in modo flessibile.<\/p>\n<h3>2. Atatus<\/h3>\n<p>\nIl team di Atatus afferma che il loro servizio \u00e8 'come New Relic, ma migliore'. Vediamo se \u00e8 davvero cos\u00ec.<\/p>\n<p>Il pannello principale sembra effettivamente simile, ma non sono riuscito a identificare i Redis e memcached utilizzati nell'applicazione.<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/1b2271bf779f93d4696b8f5fb90c548b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAPM seleziona tutte le transazioni di default, anche se, di solito, sono necessarie solo quelle web. Come in Datadog, non c'\u00e8 la possibilit\u00e0 di passare al servizio necessario dalla pannello principale. Inoltre, le transazioni si trovano nell'elenco dopo gli errori, il che non sembra molto logico per un APM.<\/p>\n<p>Nelle transazioni di Atatus, tutto assomiglia molto a New Relic. L'unico svantaggio \u00e8 che non si pu\u00f2 vedere immediatamente la dinamica per ciascun controller. Occorre cercarla nella tabella dei controller, ordinando per <b>Tempo massimo consumato<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/57a1640dc1c99732e5d008051ea08f4a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nL'elenco dei controller a noi familiari \u00e8 disponibile nella scheda <b>Esplora<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/9f77e8af1b19460a490f6d57f57c7902.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQuesta tabella ricorda in qualche modo Datadog, risultando preferibile rispetto a quella simile di New Relic.<\/p>\n<p>Ogni transazione pu\u00f2 essere espansa per vedere in cosa \u00e8 stato impegnato l'applicativo:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/7a74af09bc90449557a797b7898aa827.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl pannello ricorda anch'esso Datadog: ci sono il numero di richieste e una panoramica generale delle chiamate. La parte superiore del pannello fornisce una scheda con gli errori <b>Errori HTTP<\/b> e esempi di richieste lente <b>Tracce di sessione<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/d528b528b14e3e0ba0550296a07d27db.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSe si passa alla transazione, si pu\u00f2 visualizzare un esempio di traccia, ottenere l'elenco delle richieste al database e controllare le intestazioni della richiesta. Il tutto \u00e8 simile a New Relic:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/297cee55b9b32383c607eb6860ffe20e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn generale, Atatus ha sorpreso con tracciamenti dettagliati \u2014 senza le tipiche unioni di chiamate in un blocco di promemoria come in New Relic:<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/eb40bb051d7a5435072b96cd659bfebf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/0232a197ee2d28489fcf86c4921f7080.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTuttavia, manca un filtro che, come in New Relic, escluda le richieste super rapide (&lt;5 ms). D&#039;altra parte, \u00e8 piaciuta la visualizzazione della risposta finale della transazione (successo o errore).<\/p>\n<p>Panello <b>Databases<\/b> aiuter\u00e0 a studiare le richieste verso i database esterni fatte dall'applicazione. Ricordo che Atatus ha trovato solo PostgreSQL e MySQL, anche se nel progetto sono coinvolti Redis e memcached.<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/01bd3b1f4e5f25bb86e9aa79a22588c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLe richieste sono organizzate secondo criteri familiari: frequenza di attivazione, tempo medio di risposta e cos\u00ec via. \u00c8 particolarmente utile la scheda con le richieste pi\u00f9 lente \u2014 \u00e8 davvero comodo. Inoltre, i dati in questa scheda per PostgreSQL coincidono con quelli dell'estensione. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/11\/pgstatstatements.html\">pg_stat_statements<\/a><\/noindex> \u2014 un ottimo risultato!<\/p>\n<p><img decoding=\"async\" alt=\"Non solo New Relic: uno sguardo a Datadog e Atatus\" src=\"\/wp-content\/uploads\/2019\/09\/128b3eb7ac1e636e47d4a66a292ca872.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nScheda <b>Richieste Esterne<\/b> \u00e8 completamente identica ai Database.<\/p>\n<h2>Conclusioni<\/h2>\n<p>\nEntrambi gli strumenti presentati hanno mostrato buone prestazioni come APM. Ognuno di essi pu\u00f2 offrire il minimo necessario. In sintesi, possiamo riassumere le nostre impressioni come segue:<\/p>\n<h3>Datadog<\/h3>\n<p>\nVantaggi:<\/p>\n<ul>\n<li> una tariffa conveniente (l'APM costa 31 USD per host);<\/li>\n<li> si \u00e8 comportato ottimamente con Python;<\/li>\n<li> possibilit\u00e0 di integrazione con OpenTracing<\/li>\n<li> integrazione con Kubernetes;<\/li>\n<li> integrazione con NGINX Ingress.<\/li>\n<\/ul>\n<p>\nContro:<\/p>\n<ul>\n<li> il solo APM che ha causato l'inaccessibilit\u00e0 dell'applicazione a causa di un errore del modulo (predis);<\/li>\n<li> debole auto-strumentazione PHP;<\/li>\n<li> definizione dei servizi e dei loro scopi parzialmente strana.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Atatus<\/h3>\n<p>\nVantaggi:<\/p>\n<ul>\n<li> strumentazione approfondita PHP;<\/li>\n<li> interfaccia utente simile a New Relic.<\/li>\n<\/ul>\n<p>\nContro:<\/p>\n<ul>\n<li> non funziona su vecchi sistemi operativi (Ubuntu 12.05, CentOS 5);<\/li>\n<li> debole auto-strumentazione;<\/li>\n<li> supporto per solo due linguaggi di programmazione (Node.js e PHP);<\/li>\n<li> lentezza dell'interfaccia.<\/li>\n<\/ul>\n<p>\nConsiderando il prezzo di Atatus a 69 USD al mese per server, preferiremmo utilizzare Datadog, che si integra perfettamente alle nostre esigenze (applicazioni web in K8s) e offre molte funzionalit\u00e0 utili.<\/p>\n<h2>P.S.<\/h2>\n<p>\nLeggete anche nel nostro blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/462707\/\">Strumenti per sviluppatori di applicazioni in esecuzione su Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/436112\/\">Plugin kubectl-debug per il debug nei pod di Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424531\/\">Microservizi: la dimensione conta, anche se hai 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.0.1 - 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 \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\" \/>\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\/it\/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.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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 \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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/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\udd47Non solo New Relic: uno sguardo a Datadog e Atatus | ProHoster","description":"Tra gli ingegneri SRE\/DevOps non sorprende che un cliente (o un sistema di monitoraggio) possa un giorno comunicare che \"\u00e8 tutto finito\": il sito non funziona, i pagamenti non vanno a buon fine, la vita \u00e8 sofferenza... Per quanto ci piacerebbe aiutare in una situazione del genere, farlo senza uno strumento semplice e comprensibile pu\u00f2 essere molto difficile. Spesso il problema \u00e8 nascosto nel codice dell'applicazione stessa \u2014 \u00e8 sufficiente","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ne-new-relic-om-odnim-vzglyad-na-datadog-i-atatus","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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 \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","og:url":"https:\/\/prohoster.info\/it\/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\/it\/wp-json\/wp\/v2\/posts\/37901","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=37901"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/37901\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/28443"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=37901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=37901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=37901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}