Не само Нев Релиц: поглед на Датадог и Ататус

Не само Нев Релиц: поглед на Датадог и Ататус

У окружењу СРЕ/ДевОпс инжењера, никога неће изненадити да се једног дана појави клијент (или систем за праћење) и јави да је „све изгубљено“: сајт не ради, плаћања не пролазе, живот пропада ... Без обзира колико бисте желели да помогнете у таквој ситуацији, то може бити веома тешко урадити без једноставног и разумљивог алата. Често је проблем скривен у самом коду апликације, само га треба локализовати.

И у тузи и у радости…

Десило се да смо се дуго и дубоко заљубили у Нову реликвију. Био је и остао одличан алат за праћење перформанси апликације, а такође вам омогућава да инструментирате архитектуру микросервиса (користећи њеног агента) и још много, много више. И све је могло бити сјајно да није било промена у политици цена услуге: то коштати од КСНУМКС године порастао 3+ пута. Поред тога, од прошле године добијање пробног налога захтева комуникацију са личним менаџером, што отежава представљање производа потенцијалном купцу.

Уобичајена ситуација: Нова реликвија није потребна „трајно“ сећају се тек у тренутку када почну проблеми. Али и даље морате редовно да плаћате (140 УСД по серверу месечно), а у инфраструктури облака са аутоматским скалирањем суме су прилично велике. Иако постоји опција Паи-Ас-Иоу-Го, омогућавање Нев Релиц-а ће захтевати да поново покренете апликацију, што може довести до губитка проблематичне ситуације због које је све започето. Не тако давно, Нев Релиц је увео нови тарифни план - Ессентиалс, - што на први поглед изгледа као разумна алтернатива Профессионалу... али након детаљнијег разматрања испоставило се да недостају неке важне функције (посебно нема Кључне трансакције, Унакрсно праћење апликација, Дистрибутед Трацинг).

Као резултат тога, почели смо да размишљамо о тражењу јефтиније алтернативе, а наш избор је пао на две услуге: Датадог и Ататус. Зашто на њима?

О конкурентима

Одмах да кажем да постоје и друга решења на тржишту. Размотрили смо чак и опције отвореног кода, али нема сваки клијент слободан капацитет за хостовање сопствених решења... - поред тога, биће им потребно додатно одржавање. Испоставило се да је пар који смо изабрали најближи наше потребе:

  • уграђена и развијена подршка за ПХП апликације (стацк наших клијената је веома разнолик, али ово је јасан лидер у контексту тражења алтернативе за Нев Релиц);
  • приступачна цена (мање од 100 УСД месечно по домаћину);
  • аутоматска инструментација;
  • интеграција са Кубернетесом;
  • Сличност са интерфејсом Нев Релиц је приметан плус (јер су наши инжењери навикли на то).

Стога смо у почетној фази селекције елиминисали неколико других популарних решења, а посебно:

  • Тидеваис, АппДинамицс и Динатраце - по цени;
  • Стацкифи је блокиран у Руској Федерацији и приказује премало података.

Остатак чланка је структуиран тако да ће прво укратко бити представљена решења о којима је реч, након чега ћу говорити о нашој типичној интеракцији са Нев Релиц-ом и искуствима/утисцима из обављања сличних операција у другим сервисима.

Презентација изабраних такмичара

Не само Нев Релиц: поглед на Датадог и Ататус
О томе Нев Релиц, вероватно су сви чули? Ова услуга је почела да се развија пре више од 10 година, 2008. године. Активно га користимо од 2012. године и нисмо имали проблема да интегришемо заиста велики број апликација у ПХП, Руби и Питхон, а такође смо имали искуства у интеграцији са Ц# и Го. Аутори сервиса имају решења за праћење апликација, инфраструктуре, праћење микросервисних инфраструктура, креирали погодне апликације за корисничке уређаје и још много тога.

Међутим, агент Нев Релиц ради на власничким протоколима и не подржава ОпенТрацинг. Напредна инструментација захтева измене посебно за Нев Релиц. Коначно, подршка за Кубернетес је и даље експериментална.

Не само Нев Релиц: поглед на Датадог и Ататус
Започео је свој развој 2010 Датадог изгледа приметно занимљивије од Нев Релиц-а управо у смислу употребе у Кубернетес окружењима. Конкретно, подржава интеграцију са протоколима НГИНКС Ингресс, прикупљање дневника, статсд и ОпенТрацинг, што вам омогућава да пратите кориснички захтев од тренутка када је повезан до завршетка, као и да пронађете евиденције за овај захтев (оба на страни веб сервера а на потрошача).

Када смо користили Датадог, наишли смо на то да је понекад погрешно направио мапу микросервиса, као и на неке техничке недостатке. На пример, погрешно је идентификовао тип услуге (погрешио Дјанго за услугу кеширања) и изазвао 500 грешака у ПХП апликацији користећи популарну Предис библиотеку.

Не само Нев Релиц: поглед на Датадог и Ататус
Ататус — најмлађи инструмент; сервис је покренут 2014. Његов маркетиншки буџет је очигледно инфериоран у односу на наведене конкуренте, спомињања су много ређа. Међутим, сам алат је веома сличан Нев Релиц-у, не само по својим могућностима (АПМ, праћење претраживача, итд.), већ и по изгледу.

Значајан недостатак је што подржава само Ноде.јс и ПХП. С друге стране, имплементиран је приметно боље од Датадог-а. За разлику од последњег, Ататус не захтева од апликација да изврше измене или додају додатне ознаке коду.

Како радимо са Нев Релиц-ом

Сада хајде да схватимо како генерално користимо Нев Релиц. Рецимо да имамо проблем који захтева решење:

Не само Нев Релиц: поглед на Датадог и Ататус

То је лако видети на графикону прскати - Хајде да то анализирамо. У Нев Релиц-у се веб трансакције одмах бирају за веб апликацију, све компоненте су назначене на графикону перформанси, постоје панели за стопу грешака, стопу захтева... Оно што је најважније је да директно са ових панела можете да се крећете између различитих делове апликације (на пример, клик на МиСКЛ води до одељка базе података).

Пошто у примеру који се разматра видимо пораст активности PHP, кликните на овај графикон и аутоматски идите на Трансакције:

Не само Нев Релиц: поглед на Датадог и Ататус

Листа трансакција, које су у суштини контролори из МВЦ модела, већ је сортирана по Највише времена одузима, што је веома згодно: одмах видимо шта апликација ради. Ево примера дугих упита које Нев Релиц аутоматски прикупља. Пребацивањем сортирања, лако је пронаћи:

  • најоптерећенији контролер апликација;
  • најчешће тражени контролор;
  • најспорији од контролора.

Поред тога, можете проширити сваку трансакцију и видети шта је апликација радила у време извршења кода:

Не само Нев Релиц: поглед на Датадог и Ататус

Коначно, апликација чува примере трагова дугих захтева (оних који трају више од 2 секунде). Ево панела за дугу трансакцију:

Не само Нев Релиц: поглед на Датадог и Ататус

Види се да две методе одузимају доста времена, а истовремено је приказано и време када је захтев извршен, његов УРИ и домен. Врло често ово помаже да се захтев пронађе у евиденцији. Идем у Детаљи трага, можете видети одакле се позивају ове методе:

Не само Нев Релиц: поглед на Датадог и Ататус

И у Упити у бази података — процени упите базама података који су извршени док је апликација била покренута:

Не само Нев Релиц: поглед на Датадог и Ататус

Наоружани овим знањем, можемо да проценимо зашто се апликација успорава и да радимо са програмером да смислимо стратегију за решавање проблема. У стварности, Нев Релиц не даје увек јасну слику, али помаже да се изабере вектор истраге:

  • дуго PDO::Construct довео нас је до чудног функционисања пгполл-а;
  • нестабилност током времена Memcache::Get сугерише да је виртуелна машина погрешно конфигурисана;
  • сумњиво продужено време за обраду шаблона довело је до угнежђене петље која проверава присуство 500 аватара у складишту објеката;
  • итд ...

Такође се дешава да уместо извршавања кода, нешто у вези са спољним складиштењем података расте на главном екрану - и није важно шта ће бити: Редис или ПостгреСКЛ - сви су скривени у картици Базе података.

Не само Нев Релиц: поглед на Датадог и Ататус

Можете да изаберете одређену базу за истраживање и сортирање упита – слично као што се то ради у Трансакцијама. И одласком на картицу са захтевима, можете видети колико пута се овај захтев јавља у сваком од контролера апликације, као и да процените колико често се позива. Веома је удобно:

Не само Нев Релиц: поглед на Датадог и Ататус

Картица садржи сличне податке Екстерне услуге, који сакрива захтеве ка спољним ХТТП услугама, као што је приступ складишту објеката, слање догађаја чувару и слично. Садржај картице је потпуно сличан базама података:

Не само Нев Релиц: поглед на Датадог и Ататус

Конкуренти: прилике и утисци

Сада је најинтересантније упоредити могућности Нев Релиц-а са оним што нуде конкуренти. Нажалост, нисмо били у могућности да тестирамо сва три алата на једној верзији једне апликације која је покренута у производњи. Међутим, покушали смо да упоредимо ситуације/конфигурације које су биле што идентичне.

1. Датадог

Датадог нас дочекује са панелом са зидом услуга:

Не само Нев Релиц: поглед на Датадог и Ататус

Покушава да разбије апликације на компоненте/микросервисе, тако да ћемо у примеру Дјанго апликације видети 2 везе са ПостгреСКЛ (defaultdb и postgres), као и целер, Редис. Рад са Датадог-ом захтева да имате минимално знање о МВЦ принципима: морате да разумете одакле захтеви корисника генерално долазе. Ово обично помаже мапа услуга:

Не само Нев Релиц: поглед на Датадог и Ататус

Иначе, у Нев Релиц-у постоји нешто слично:

Не само Нев Релиц: поглед на Датадог и Ататус

... а њихова мапа је, по мом мишљењу, учињена једноставнијом и јаснијом: не приказује компоненте једне апликације (што би је учинило претерано детаљном, као у случају Датадога), већ само одређене сервисе или микросервисе.

Вратимо се на Датадог: са мапе сервиса можемо видети да захтеви корисника долазе у Дјанго. Идемо на Дјанго сервис и коначно видимо шта смо очекивали:

Не само Нев Релиц: поглед на Датадог и Ататус

Нажалост, овде подразумевано нема графикона Време веб трансакције, слично ономе што видимо на главном панелу Нев Релиц. Међутим, може се конфигурисати уместо распореда % утрошеног времена. Довољно је да га пребаците на Просечно време по захтеву према врсти... а сада нас познати граф гледа!

Не само Нев Релиц: поглед на Датадог и Ататус

Зашто је Датадог изабрао другачији графикон за нас је мистерија. Још једна фрустрирајућа ствар је што систем не памти избор корисника (за разлику од оба конкурента), па је стога једино решење креирање прилагођених панела.

Али био сам задовољан могућношћу у Датадог-у да се пребацим са ових графикона на метрику повезаних сервера, прочитам дневнике и проценим оптерећење руковалаца веб сервера (Гуницорн). Све је скоро исто као у Нев Релиц-у... па чак и мало више (логови)!

Испод графикона су трансакције потпуно сличне Нев Релиц-у:

Не само Нев Релиц: поглед на Датадог и Ататус

У Датадогу се трансакције позивају ресурси. Контролоре можете сортирати по броју захтева, просечном времену одговора и максималном времену проведеном за изабрани временски период.

Можете проширити ресурс и видети све што смо већ приметили у Нев Релиц:

Не само Нев Релиц: поглед на Датадог и Ататус

Постоји статистика о ресурсу, генерализована листа интерних позива, и примери захтева који се могу сортирати по коду одговора... Иначе, нашим инжењерима се ово сортирање веома допало.

Било који пример ресурса у Датадогу може се отворити и проучавати:

Не само Нев Релиц: поглед на Датадог и Ататус

Приказани су параметри захтева, збирни графикон времена утрошеног на сваку компоненту и водопад који приказује редослед позива. Такође можете да пређете на приказ стабла водопада графикона:

Не само Нев Релиц: поглед на Датадог и Ататус

А најзанимљивије је прегледање оптерећења хоста на којем је извршен захтев и прегледање дневника захтева.

Не само Нев Релиц: поглед на Датадог и Ататус

Одлична интеграција!

Можда се питате где су картице Базе података и Екстерне услуге, као у Новој реликвији. Овде их нема: пошто Датадог разлаже апликацију на компоненте, ПостгреСКЛ ће бити узет у обзир засебна служба, а уместо екстерних услуга вреди тражити aws.storage (слично ће бити за сваку другу спољну услугу којој апликација може да приступи).

Не само Нев Релиц: поглед на Датадог и Ататус

Ево примера са postgres:

Не само Нев Релиц: поглед на Датадог и Ататус

У суштини постоји све што смо желели:

Не само Нев Релиц: поглед на Датадог и Ататус

Можете видети из које „сервисе“ је стигао захтев.

Не би било лоше да вас подсетим да се Датадог савршено интегрише са НГИНКС Ингрессом и омогућава вам да извршите праћење од краја до краја од тренутка када захтев стигне у кластер, а такође вам омогућава да примате статсд метрике, прикупљате евиденције и метрике хоста .

Огроман плус Датадог-а је његова цена развија од надзора инфраструктуре, АПМ, Лог Манагемент и теста Синтетике, тј. Можете бирати свој план флексибилно.

2.Ататус

Ататус тим тврди да је њихов сервис „исти као Нев Релиц, али бољи“. Да видимо да ли је то заиста тако.

Главни панел изгледа слично, али није било могуће одредити Редис и мемцацхед који се користе у апликацији.

Не само Нев Релиц: поглед на Датадог и Ататус

АПМ подразумевано бира све трансакције, иако су обично потребне само Веб трансакције. Као и Датадог, не постоји начин за навигацију до жељене услуге са главног панела. Штавише, трансакције су наведене после грешака, што за АПМ не делује баш логично.

У Ататус трансакцијама све је што је могуће сличније Нев Релиц-у. Лоша страна је што динамика за сваки контролер није одмах видљива. Морате да га потражите у табели контролера, сортирајући по Највише времена утрошено:

Не само Нев Релиц: поглед на Датадог и Ататус

Уобичајена листа контролера је доступна на картици Istraži:

Не само Нев Релиц: поглед на Датадог и Ататус

На неки начин ова табела подсећа на Датадог и више ми се допада него слична у Нев Релиц-у.

Можете проширити сваку трансакцију и видети шта је апликација радила:

Не само Нев Релиц: поглед на Датадог и Ататус

Панел такође више подсећа на Датадог: постоји велики број захтева, општа слика позива. Горњи панел пружа картицу грешке ХТТП грешке и примери спорих упита Трагови сесије:

Не само Нев Релиц: поглед на Датадог и Ататус

Ако одете на трансакцију, можете видети пример праћења, можете добити листу захтева у бази података и погледати заглавља захтева. Све је слично Нев Релиц:

Не само Нев Релиц: поглед на Датадог и Ататус

Генерално, Ататус је задовољан детаљним траговима - без типичног Нев Релиц лепљења позива у блок подсетника:

Не само Нев Релиц: поглед на Датадог и Ататус
Не само Нев Релиц: поглед на Датадог и Ататус

Међутим, недостаје му филтер који би (као Нев Релиц) одсекао ултра брзе захтеве (<5мс). С друге стране, допао ми се приказ коначног одговора на трансакцију (успех или грешка).

Панель Базе података ће вам помоћи да проучите захтеве ка спољним базама података које апликација поставља. Да вас подсетим да је Ататус пронашао само ПостгреСКЛ и МиСКЛ, иако су Редис и мемцацхед такође укључени у пројекат.

Не само Нев Релиц: поглед на Датадог и Ататус

Захтеви се сортирају према уобичајеним критеријумима: учесталост одговора, просечно време одговора и тако даље. Такође бих желео да поменем картицу са најспоријим упитима - веома је згодно. Штавише, подаци на овој картици за ПостгреСКЛ су се поклопили са подацима из екстензије пг_стат_статементс - одличан резултат!

Не само Нев Релиц: поглед на Датадог и Ататус

Таб Екстерни захтеви потпуно идентична базама података.

Налази

Оба представљена алата добро су се показала у улози АПМ-а. Било који од њих може понудити потребан минимум. Наши утисци се могу укратко сумирати на следећи начин:

Датадог

Предности:

  • погодан тарифни распоред (АПМ кошта 31 УСД по домаћину);
  • добро радио са Питхон-ом;
  • Могућност интеграције са ОпенТрацинг
  • интеграција са Кубернетесом;
  • интеграција са НГИНКС Ингресс.

Против:

  • једини АПМ који је проузроковао да апликација постане недоступна због грешке модула (предис);
  • слаба ПХП ауто-инструментација;
  • делимично чудна дефиниција услуга и њихове намене.

Ататус

Предности:

  • дубока ПХП инструментација;
  • кориснички интерфејс сличан Нев Релиц.

Против:

  • не ради на старијим оперативним системима (Убунту 12.05, ЦентОС 5);
  • слаба ауто-инструментација;
  • подршка само за два језика (Ноде.јс и ПХП);
  • Споро интерфејс.

С обзиром на Ататусову цену од 69 УСД месечно по серверу, радије бисмо користили Датадог, који се добро интегрише са нашим потребама (веб апликације у К8с) и има много корисних функција.

ПС

Прочитајте и на нашем блогу:

Извор: ввв.хабр.цом

Додај коментар