Увод у Прометеја и Графану

Прометхеус је систем за праћење отвореног кода заснован на метрици. Прикупља податке од услуга и домаћина тако што шаље ХТТП захтеве на крајње тачке метрике. Затим похрањује резултате у базу података временских серија и чини их доступним за анализу и упозорење.

Зашто надгледати?

  • Омогућава упозорења када ствари крену наопако, по могућности пре него што крену наопако. Да би неко могао да погледа.
  • Пружа увид који омогућава анализу, отклањање грешака и решавање проблема.
  • Омогућава вам да видите трендове/промене током времена. На пример, колико активних сесија у било ком тренутку. Ово помаже у доношењу одлука о дизајну и планирању капацитета.

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

Праћење црне кутије у односу на белу кутију

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

Блацкбок мониторинг

У Блацкбок мониторингу, надгледање је на нивоу апликације или хоста пошто се посматра споља. Ово може бити прилично ограничавајуће.

Вхитебок мониторинг

Праћење беле кутије значи надгледање унутрашњег дела услуге. То би открило податке о стању и перформансама унутрашњих компоненти.

Четири златна сигнала

Према Гуглуако можете да измерите само четири метрике вашег система окренутог кориснику, фокусирајте се на следећа четири, названа Четири златна сигнала:

#1. Латентност

Време потребно да се испуни захтев – успешан или неуспешан. Важно је пратити не само успешне захтеве, већ и оне неуспеле.

  Преведите медицински жаргон на једноставан енглески са Цхроме екстензијом

#2. Саобраћај

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

#3. Грешке

Стопа неуспешних захтева.

#4. Засићење

Колико је ваша услуга пуна. Повећање кашњења је често важан показатељ засићења. Многи системи деградирају у перформансама много пре него што постигну 100% искоришћеност.

Прометејеви метрички типови

Прометејеве метрике су четири главна типа:

#1. Цоунтер

Вредност бројача ће се увек повећавати. Никада се не може смањити, али се може вратити на нулу. Дакле, ако сцрапе не успе, то значи само пропуштену тачку података. Кумулативно повећање ће бити доступно при следећем читању. Примери:

  • Укупан број примљених ХТТП захтева
  • Број изузетака.

#2. Колосек

Мерач је снимак у било ком тренутку. Може се и повећати или смањити. Ако преузимање података не успе, губите узорак; следеће преузимање може показати другачију вредност: примери простора на диску, коришћење меморије.

#3. Хистограм

Хистограм узоркује запажања и броји их у конфигурабилним сегментима. Користе се за ствари као што су трајање захтева или величине одговора. На пример, можете мерити трајање захтева за одређени ХТТП захтев. Хистограм ће имати скуп сегмента, рецимо 1 мс, 10 мс и 25 мс. Уместо да чува свако трајање за сваки захтев, Прометхеус ће сачувати учесталост захтева који спадају у одређену канту.

#4. Резиме

Слично запажањима узорака хистограма, обично захтевају трајање или величине одговора. Он ће обезбедити укупан број посматрања и збир свих посматраних вредности, омогућавајући вам да израчунате просек посматраних вредности. На пример, у једном минуту имали сте три захтева која су трајала 2,3,4 секунде. Збир би био 9, а број 3. Кашњење би било 3 секунде.

Компоненте Прометејевог екосистема

Прометхеус сервер

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

  19 најбољих алата за тестирање софтвера које треба знати као тестер

Стругање

Прометеј је систем заснован на повлачењу. Да би преузео метрику, Прометхеус шаље ХТТП захтев који се зове сцрапе. Шаље сцрапе-ове циљевима на основу своје конфигурације.

Сваки циљ (статички дефинисан или динамички откривен) се скрапа у редовном интервалу (интервал сцрапе). Сваки сцрапе чита /метрицс ХТТП крајњу тачку да би добио тренутно стање метрике клијента и задржава вредности у Прометхеус бази података временских серија.

Постоји више база података временских серија за решења за праћење која бисте можда желели да истражите.

Клијентске библиотеке

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

Званичне клијентске библиотеке нуди Прометхеус за Го, Јава, Питхон и Руби. Прометеј има отворен екосистем. Доступне су и клијентске библиотеке изграђене у заједници за Ц, ПХП, Ноде.јс, Ц#/.НЕТ и многе друге.

Извозници

Многе апликације излажу метрику у формату који није Прометеј. За ове и за апликације које не поседујете или за које немате приступ коду, не можете директно додати инструментацију. На пример, МиСКЛ, Кафка, ЈМКС, ХАПроки и НГИНКС сервер. У овим сценаријима, користите извозници.

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

Неки од популарних извозника су:

  • Виндовс – за метрику Виндовс сервера
  • Чвор – за метрику Линук сервера
  • Црна кутија – за ДНС и метрику учинка веб локације
  • ЈМКС – за метрику апликација заснована на Јава
  Како играти Хеартхстоне на Линуку

Када су апликације инструментиране, или када су извозници на месту, морате да кажете Прометеју где се налазе. Ово се може урадити помоћу статичке конфигурације. У случају динамичких окружења, то се не може учинити; стога се користи откривање услуге.

Алертинг

Упозорење са Прометејем састоји се из два дела –

Правила за упозорење шаљу упозорења Алертманагер-у.

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

Ево водича за надгледање Линук сервера користећи Прометхеус и Дасхбоард.

Визуелизација помоћу контролне табле

Прометхеус има бројне АПИ-је помоћу којих ПромКЛ упити могу произвести необрађене податке за визуелизацију.

Иако Прометхеус укључује претраживач израза који се може користити за ад-хоц упите, најбоља доступна алатка је Графана. Графана се у потпуности интегрише са Прометхеусом и може произвести широку палету контролних табли.

Мораћете да конфигуришете Прометхеус као извор података за Графану.

Можете да додате контролне табле на следећи начин:

  • Увоз контролних табли направљених у заједници
  • Градите своје
  • Коришћење унапред дефинисане контролне табле.

Овако изгледа унапред дефинисана контролна табла извозника чворова:

Графана има ворлдПинг модул који вам омогућава да надгледате метрику перформанси сајта и ДНС-а широм света.

Резиме

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

Графана је најбоља доступна алатка за визуелизацију метрике и са њом се неприметно интегрише Прометеј.