Спостережливість: відстежуваність для розподілених систем

Спостережливість: відстежуваність для розподілених систем

Вихідний вузол: 1990640

Ви коли-небудь чекали на одну дорогу посилку, на якій написано «відправлено», але ви не знаєте, де вона? Історія стеження перестала оновлюватися п’ять днів тому, і ви майже втратили надію. Але зачекайте, через 11 днів він буде у вас на порозі. Ви бажали, щоб відстеження було краще, щоб позбавити вас від усього тривожного очікування. Ось тут і вступає в гру «спостережливість».

У технічному середовищі ви хотіли б уникнути цього з вашим програмним забезпеченням або системами даних. І таким чином ви використовуєте інструменти моніторингу, які збирають журнали та показники ваших систем і інформують вас про їхній внутрішній стан. Моніторинг працює найкраще, коли ви хочете, щоб ваші системи повідомляли вам про помилку, де та коли вона сталася, але вона не говорить вам, як її вирішити.

Більше десяти років тому інструментам моніторингу не вистачало контексту та передбачення основних системних проблем, і команди були обмежені налагодженням повсякденних операційних помилок. Сьогодні ми працюємо і живемо в розподіленому світі мікросервісів і канали даних; навіть використання кількох інструментів моніторингу не допоможе вам відповісти на запитання вашого бізнесу, наприклад «Чому моя програма завжди повільна?» або «На якому етапі виникла проблема та наскільки глибоко вона в стеку?» або «Як я можу покращити загальну продуктивність середовища?» Необхідно бути проактивним у прийнятті цих рішень і мати загальну видимість ваших систем, програм і даних.

це блог Etsy був опублікований десять років тому, і в другому абзаці зазначено сам факт:

«Показники програми зазвичай найважчі, але найважливіші з трьох. Вони дуже специфічні для вашого бізнесу та змінюються разом зі зміною ваших програм (і Etsy дуже змінюється)».

Отже, як ми вимірюємо все і вся? Почнемо з спостережливості.

Що таке спостережливість?

Термін «спостережливість» був придуманий Рудольф Еміль Кальман у 1960 році у своїй інженерній статті для опису математичних систем керування. Він визначив це як міру того, наскільки добре можна зробити висновок про внутрішній стан системи на основі знання її зовнішніх результатів. Але хіба це не схоже на моніторинг? По суті, так, це моніторинг.

Сьогодні спостережливість стала досить актуальною темою. Згідно з кількома дослідженнями ринку, це платформа на мільярд доларів. Багато організацій прийняли цю концепцію та використовували її як основу для наскрізної видимості своїх розподілених систем і конвеєрів. Однак спостережливість плутають із моніторингом. Наразі я можу сказати, що моніторинг є підмножиною спостережуваності, де спостережуваність є одним великим загальним терміном. 

Спостережуваність дозволяє розподілено трасування шляхом збору та агрегування трас, журналів і показників. Давайте подивимося, що вони роблять:

  • Сліди: Коли система отримує запит, трасування повідомляють вам, як цей запит протікає протягом усього життєвого циклу від джерела до місця призначення. Сліди представлені «проміжками». Траса — це дерево проміжків, а проміжок — це одна операція в трасі. Вони допомагають вам знайти помилки, затримку або вузькі місця в системі.
  • Журнали: Це згенеровані машиною події з мітками часу, які повідомляють вам про операції або зміни, що відбулися в системі. Журнали часто використовуються для запиту про ці помилки або зміни в системі.
  • Метрики: Вони дають кількісну інформацію про ЦП, пам’ять, використання диска та продуктивність системи протягом певного періоду часу.

Ці атрибути покращують структуру моніторингу за допомогою відстеження. Traceability надає вам лінзи для відстеження запиту, який здійснює виклик до вашої системи, скільки часу потрібно для переходу від одного компонента до іншого, які інші служби він викликає, чи видає помилку, які журнали створює, який стан знаходиться в, коли він почався і закінчився, який час він залишався у вашій системі тощо. Коли ви збираєте, узагальнюєте та аналізуєте ці сліди, ви можете приймати цінні обґрунтовані рішення, як-от хронологія клієнтів на веб-сайті електронної комерції , скільки часу знадобилося їм для пошуку продукту, скільки часу вони переглядали продукт, чи завантажувала HTML-сторінка повну інформацію, як-от зображення чи вбудовані відео, скільки часу знадобилося системі для автентифікації та обробки платежу тощо.

Чого ми досягаємо з можливістю спостереження в розподіленому середовищі?

Еволюція розподілених систем почалася, коли організації почали відходити від централізованої монолітної архітектури до розподіленої та децентралізованої мікросервісної архітектури. І це все ще триває, оскільки багато організацій використовують мікросервісну природу систем і програм. І все це можна віднести до великих даних і масштабування. Управління розподіленим середовищем вимагає постійного навчання, додаткової робочої сили, змін у структурах і політиках, управління ІТ тощо. Це справді велика зміна.

Раніше, в обмеженому монолітному середовищі, апаратне забезпечення, програмне забезпечення, дані та бази даних жили під одним дахом. З появою великих даних у 2000-х роках системи моніторингу та масштабування почали викликати величезне занепокоєння. Часто організації використовували різні інструменти моніторингу, щоб задовольнити потреби своїх різноманітних програм. Як наслідок, незабаром він став операційним надходженням із поганою стійкістю, видимістю та надійністю.

Усі ці питання породили прийняття спостережливості. Сьогодні існує кілька інструментів спостереження для безпеки, мережі, додатків і конвеєрів даних для розподіленого трасування в складному середовищі. Вони співіснують зі своїм двоюрідним братом, інструментами моніторингу, і використовують важелі збору інформації від свого двоюрідного брата та об’єднують додаткову інформацію з його власних даних трасування.

У всіх цих системах є багато рухомих компонентів, чиї сліди, якщо їх зафіксувати, можуть проілюструвати історію 5 W: коли, де, чому, що і як. Наприклад, ви переходите на веб-сайт DATAVERSITY о 1:43, щоб прочитати кілька дописів у блозі. Коли ви натискаєте dataversity.net, HTTP-запит реєструється в системі. Ви починаєте шукати публікацію в блозі й переходите до публікації про керування даними, де витрачаєте 17 хвилин на читання цієї публікації, а потім закриваєте вкладку о 2:00.

Будуть також інші виклики, зроблені до мережевої системи для захоплення мережевих пакетів. Інструменти спостереження збирають усі проміжки та об’єднують їх у трасу або траси, що дає змогу побачити шлях, який вони сформували протягом свого життєвого циклу. Якщо у вас є така проблема, як затримка мережі або системний дефект, тепер легше розібрати (почистити цибулю) і налагодити проблему (помилка в якому шарі).

Тепер у великому розподіленому середовищі, коли ваші програми отримують мільйони запитів, дані трасування зростають у величезному обсязі. Збір і аналіз цих слідів є дорогим для зберігання та передачі даних. Тому, щоб заощадити кошти, дані трасування є вибірковими, тому що в більшості випадків командам інженерів потрібні лише деякі фрагменти, щоб дослідити, що пішло не так або яка модель помилки.

На цьому маленькому прикладі ми розуміємо, що отримуємо набагато глибше розуміння наших систем. Отже, враховуючи більший масштаб систем, групи інженерів можуть отримувати вибіркові дані та працювати над ними, щоб покращити поточну структуру системи, застосувати або вилучити нові компоненти, додати ще один рівень безпеки, усунути вузькі місця тощо. 

Чи варто організаціям вибирати спостережливість?

Ми всі повинні розуміти, що кінцевою ціллю є кращий досвід і задоволення користувачів. І шлях до досягнення цих цілей можна полегшити за допомогою автоматизованої та проактивної системи спостереження. Створення культури безперервного вдосконалення та оптимізації вважається оптимальним підходом до бізнесу та лідерства. 

У цю епоху цифрової трансформації спостережливість стала обов’язковою умовою для бізнесу, щоб бути успішним у своїй цифровій подорожі. Забезпечуючи вам детальні сліди, спостережливість також маневрує, щоб ви були поінформовані про дані, а не просто керувалися даними.

Висновок

Хоча ми використовували терміни «моніторинг» і «спостережливість» як взаємозамінні, ми побачили, що хоча моніторинг допомагає отримати інформацію про стан системи та події, що в ній відбуваються, спостережливість полегшує вам робити висновки на основі доказів, зібраних із більш глибоких шарів кінцевої кінцеве середовище.

Спостережливість є і також може сприйматися як компонент структури управління даними. У цьому поколінні, де постійно зростаючий обсяг даних зберігається в мережі звичайного апаратного забезпечення, життєво важливо підтримувати архітектуру якомога простішою. І, очевидно, стає неможливим завдання керувати навколишнім середовищем. Таким чином, впровадження відповідних і автоматизованих політик і правил керування, щоб утримувати вашу велику сітку систем, конвеєрів і даних безладними, вимагає скорішої дії.

Часова мітка:

Більше від ПЕРЕДАЧА