David O’Brien nedávno založil vlastnú spoločnosť Xirus (https://xirus.com.au), zameranú na cloudové produkty Microsoft Azure Stack. Tieto produkty sú určené na konzistentné vytváranie a nasadzovanie hybridných aplikácií v dátových centrách, na okrajových lokalitách, vzdialených kanceláriách a v cloude.
David vzdeláva jednotlivcov a spoločnosti vo všetkom, čo sa týka Microsoft Azure a Azure DevOps (predtým VSTS) a naďalej sa zaoberá praktickým poradenstvom a infraštruktúrovým kódovaním. Už 5 rokov je nositeľom ocenenia Microsoft MVP (Najcennejší profesionál Microsoft), a nedávno získal ocenenie MVP Azure. Ako spoluzakladateľ Melbourne Microsoft Cloud a Datacentre Meetup, O’Brien pravidelne vystupuje na medzinárodných konferenciách, spájajúc svoj záujem o cesty po svete s vášňou zdieľať IT príbehy so svojím publikom. Davidov blog sa nachádza na adrese , tiež publikuje svoje online školenia na Pluralsight.
Vo vystúpení sa hovorí o dôležitosti metrík na pochopenie toho, čo sa deje vo vašej prostredí a ako funguje vaša aplikácia. Microsoft Azure má silný a jednoduchý spôsob zobrazenia metrík pre všetky druhy pracovných záťaží a v prednáške sa diskutuje o tom, ako všetky tieto metriky využiť.
O tretej hodine ráno, v nedeľu, vás počas spánku náhle prebudí signál textovej správy: „superkritická aplikácia sa opäť nezodpovedá“. Čo sa deje? Kde a v čom spočíva príčina „zaseknutí“? Z tejto prezentácie sa dozviete o službách, ktoré Microsoft Azure ponúka klientom na zbieranie logov a, konkrétne, metrík vašich cloudových pracovných záťaží. David vám povie, aké metriky by vás mali zaujímať pri práci na cloudovej platforme a ako sa k nim dostať. Dozviete sa o nástrojoch s otvoreným zdrojovým kódom a vytváraní monitorovacích panelov a v dôsledku toho nadobudnete dostatočné znalosti na vytvorenie vlastných panelov.
A ak vás o tretej hodine ráno opäť prebudí správa o páde kritickej aplikácie, rýchlo sa budete vedieť zorientovať v jej príčine.
Dobrý deň, dnes budeme hovoriť o metrikách. Volám sa David O’Brien, som spoluzakladateľ a vlastníkom malej austrálskej konzultačnej spoločnosti Xirus. Ešte raz ďakujem, že ste si našli čas a prišli sem. Takže, prečo sme tu? Aby sme sa porozprávali o metrikách, presnejšie, poviem vám o nich, a predtým než začneme s nejakými vecami, začneme teóriou.

Poviem vám, čo sú metriky, čo s nimi môžete robiť, na čo si treba dávať pozor, ako zbierať a zapojiť zber metrík v Azure a čo je vizualizácia metrík. Ukážem vám, ako vyzerajú tieto veci v oblaku Microsoft a ako s týmto oblakom pracovať.
Predtým, než začneme, poprosím, aby zdvihli ruky tí, ktorí používajú Microsoft Azure. A kto pracuje s AWS? Vidím, že len niekoľkí. A s Google? ALI Cloud? Jeden človek! Skvelé. Takže, čo sú metriky? Oficiálna definícia Národného inštitútu štandardov a technológie USA znie: „Metrika je štandard merania, ktorý popisuje podmienky a pravidlá vykonávania merania určitého atribútu a slúži na porozumenie výsledkov merania.“ Čo to znamená?
Zoberme si ako príklad metriku pre zmenu voľného miesta na disku virtuálneho stroja. Napríklad dostaneme číslo 90, a toto číslo znamená percentá, to znamená, že objem voľného miesta na disku je 90%. Poznamenám, že nie je veľmi zaujímavé čítať popis definície metrík, ktorý má 40 strán vo formáte pdf.
Avšak metrika nehovorí, akým spôsobom bol výsledok merania získaný, len ukazuje tento výsledok. Čo teda robíme s metrikami?
Po prvé, meráme hodnotu niečoho, aby sme následne použili výsledok merania.

Napríklad, zistili sme objem voľného miesta na disku a teraz ho môžeme využiť, použiť túto pamäť atď. Po získaní výsledku metriky musíme jeho interpretovať. Napríklad, metrika vyprodukovala výsledok 90. Musíme vedieť, čo toto číslo znamená: objem voľného miesta alebo objem obsadeného miesta na disku v percentách alebo gigabajtoch, latencia siete, ktorá je 90 ms, a tak ďalej, čo znamená, že musíme interpretovať význam hodnoty metriky. Aby mali metriky vôbec zmysel, musíme po interpretácii jednej hodnoty metriky zabezpečiť zber viacerých hodnôt. To je veľmi dôležité, pretože mnohí ľudia si neuvedomujú potrebu zbierať metriky. Microsoft urobil proces získavania metrík veľmi jednoduchým, ale musíte si sami zabezpečiť ich zber. Tieto metriky sa uchovávajú len 41 dní a na 42. deň zanikajú. Preto v závislosti od vlastností vášho externého alebo interného zariadenia by ste sa mali postarať o to, ako uchovávať metriky dlhšie ako 41 dní — vo forme logov, protokolov atď. Takže po zbere by ste ich mali umiestniť na nejaké miesto, ktoré umožňuje pri potrebe zvýšiť celú štatistiku zmien výsledkov metrík. Umiestnením tam môžete začať efektívne pracovať s nimi.
Až po tom, čo získate hodnoty metrík, interpretujete ich a zbierate ich, budete môcť vytvoriť SLA – dohodu o úrovni poskytovania služby. Táto SLA nemusí mať osobitný význam pre vašich klientov, je dôležitejšia pre vašich kolegov, manažérov, tých, ktorí zabezpečujú chod systému a zaujímajú sa o jeho funkčnosť. Metrika môže merať počet tiketov — napríklad získavate 5 tiketov denne, a v tomto prípade ukazuje rýchlosť reakcie na požiadavky používateľov a rýchlosť odstraňovania problémov. Metrika by nemala len hlásiť, že vaša stránka sa načítava za 20 ms alebo rýchlosť odpovede je 20 ms, metrika je viac než len jeden technický ukazovateľ.
Preto je úlohou našej diskusie predstaviť vám podrobný obraz podstaty metrík. Metrika slúži na to, aby ste sa na ňu pozreli a získali kompletný obraz procesu.

Akonáhle získame metriku, môžeme na 99% zaručiť funkčnosť systému, pretože to nie je len pohľad do logu, v ktorom je napísané, že systém funguje. Záruka 99% funkčnosti znamená, že napríklad v 99% prípadov API odpovedá normálnou rýchlosťou 30 ms. To je presne to, čo zaujíma vašich používateľov, vašich kolegov a manažérov. Mnohí naši klienti sledujú logy webových serverov, pritom si nevšimnú žiadne chyby a myslia si, že je všetko v poriadku. Napríklad vidia rýchlosť siete 200 mb/s a myslia si: „OK, všetko je skvelé!“. Ale aby dosiahli týchto 200, používateľom je potrebná rýchlosť odpovede 30 milisekúnd, a to je presne ten ukazovateľ, ktorý sa nemeria a nesústreďuje v logoch. Používatelia sú pritom prekvapení, že sa stránka veľmi pomaly načítava, pretože bez potrebnej metriky nevedia, čo spôsobuje takéto správanie.
Ale pretože máme SLA, ktoré zaručuje 100% funkčnosť, klienti začínajú vyjadrovať rozhorčenie, pretože je ťažké používať web. Preto na vytvorenie objektívneho SLA potrebujeme vidieť celkový obraz procesu, ktorý vytvárajú zbierané metriky. Toto je predmetom môjho neustáleho sporu s niektorými poskytovateľmi, ktorí pri vytváraní SLA nepredstavujú, čo znamená termín „uptime“, a vo väčšine prípadov nevysvetľujú svojim klientom, ako funguje ich API.
Ak ste vytvorili službu, napríklad API pre tretie strany, musíte chápať, čo znamená získaná metrika 39,5 – odpoveď, úspešná odpoveď, odpoveď s rýchlosťou 20 ms alebo s rýchlosťou 5 ms. Presne vy musíte prispôsobiť svoje SLA svojmu vlastnému SLA, k svojim vlastným metrikám.
Po zistení všetkého tohto môžeme prejsť k vytvoreniu skvelej monitorovacej dosky. Povedzte, má niekto už skúsenosti s aplikáciou na interaktívnu vizualizáciu Grafana? Skvelé! Som veľkým fanúšikom tohto open source, pretože je to zadarmo a ľahko sa používa.

Ak ste ešte nepoužívali Grafanu, poviem vám, ako s ňou pracovať. Tí, ktorí sa narodili v 80-90. rokoch, si pravdepodobne pamätajú starostlivých mackov CareBears? Neviem, ako populárni boli títo medvedíky na Slovensku, ale pokiaľ ide o metriky, mali by sme vystupovať ako títo „starostliví medvedíky“. Ako som už povedal, potrebujete jasný obraz fungovania celého systému, a ten by nemal zahŕňať len vaše API, vašu webovú stránku alebo službu bežiacu na virtuálnom stroji.

Musíte usporiadať zber tých metrík, ktoré najlepšie odrážajú fungovanie celého systému. Väčšina z vás sú vývojári softvéru, takže váš život sa neustále mení, prispôsobujúc sa novým požiadavkám produktu, a rovnako ako ste znepokojení procesmi kódovania, mali by ste sa znepokojovať aj metrikami. Musíte vedieť, ako sa metrika týka každého riadku kódu, ktorý napíšete. Napríklad, nabudúci týždeň začínate novú marketingovú kampaň a očakávate, že vašu webovú stránku navštívi veľké množstvo používateľov. Na analýzu tejto udalosti budete potrebovať metriky, a možno budete potrebovať celú nástenku na sledovanie aktivity týchto ľudí. Metriky vám pomôžu pochopiť, ako úspešná je vaša marketingová kampaň a ako v skutočnosti funguje. Pomôžu vám napríklad vyvinúť efektívny CRM — systém riadenia vzťahov so zákazníkmi.
Takže poďme na náš cloudový servis Azure. Je veľmi jednoduché nájsť a usporiadať zber metrík, pretože tu je Azure Monitor. Tento monitor centralizuje správu konfigurácie vášho systému. Každý z prvkov Azure, ktorý chcete použiť vo svojom systéme, má množstvo zapnutých metriky predvolene. Je to bezplatná aplikácia, ktorá funguje priamo „z krabice“ a nevyžaduje žiadne predbežné nastavenia, nemusíte písať žiadny kód ani „pripojovať“ k svojmu systému. Uistíme sa o tom, keď si pozrieme nasledujúce demo.

Okrem toho existuje možnosť odosielať tieto metriky externým aplikáciám, ako sú systém ukladania a analýzy protokolov Splunk, cloudová aplikácia na správu protokolov SumoLogic, nástroj na spracovanie protokolov ELK, IBM Radar. Pravda, existujú malé rozdiely, ktoré závisia od používaných zdrojov – virtuálnych strojov, sieťových služieb, databáz Azure SQL, to znamená, že použitie metriky sa líši v závislosti od funkcií vášho pracovného prostredia. Neviem povedať, že tieto rozdiely sú významné, ale bohužiaľ, sú prítomné a mali by ste to zohľadniť. Aktivácia a prenos metrik je možné niekoľkými spôsobmi: cez Portal, CLI/Power Shell alebo pomocou šablón ARM.

Predtým, než sa pustíme do prvej demonštrácie, odpoviem na vaše otázky. Ak otázky nie sú, môžeme začať. Na obrazovke je zobrazené, ako vyzerá stránka Azure Monitor. Môže niekto z vás povedať, že tento monitor nefunguje?

Takže teraz je všetko v poriadku, vidíte, ako vyzerajú služby monitora. Môžem povedať, že je to skvelý a veľmi jednoduchý nástroj na každodennú prácu. S jeho pomocou je možné monitorovať aplikácie, sieť a infraštruktúru. Nedávno bol vylepšený monitorovací rozhranie a ak sa predtým služby nachádzali na rôznych miestach, teraz sú všetky informácie o službách konsolidované na domovskej stránke monitora.
Tabuľka metrik je záložka na ceste HomeMonitorMetrics, na ktorú môžete ísť, aby ste si pozreli všetky existujúce metriky a vybrali potrebné. Ak však potrebujete aktivovať zber metrik, musíte použiť cestu adresára HomeMonitorDiagnostic settings a skontrolovať zaškrtávacie políčka metrik Enabled/Disabled. Predvolene sú takmer všetky metriky v zapnutom stave, ale ak potrebujete aktivovať niečo ďalšie, budete musieť zmeniť stav diagnostiky z Disabled na Enabled.

Na to musíte kliknúť na riadok vybranej metriky a na otvorenej záložke zapnúť diagnostický režim. Ak plánujete analyzovať vybranú metriku, po kliknutí na odkaz Turn on diagnostic je potrebné označiť v objavnom okne zaškrtávacie políčko Send to Log Analytics.

Log Analytics je trochu podobný Splunk, ale je lacnejší. Tento servis umožňuje zbierať všetky vaše metriky, logy a všetko, čo potrebujete, a umiestniť ich do pracovného priestoru Log Analytics. Servis používa špeciálny jazyk na spracovanie dotazov KQL – Kusto Quarry Language, ktorého fungovanie si prejdeme na nasledujúcej ukážke. Zatiaľ len poznamenám, že s jeho pomocou môžete vytvárať dotazy týkajúce sa metrík, logov, pojmov, trendov, šablón atď. a vytvárať panely monitorovania.
Takže zaškrtneme checkbox Send to Log Analytics a checkboxy panelu LOG: DataPlaneRequests, MongoRequests a QueryRuntimeStatistics, a nižšie na paneli METRIC – checkbox Requests. Potom priraďujeme nejaké meno a ukladáme nastavenia. V príkazovom riadku to predstavuje dva riadky kódu. Mimochodom, shell Azure Cloud je v tomto smere podobný Google, ktorý tiež umožňuje používať príkazový riadok vo vašom webovom prehliadači. AWS nemá nič podobné, takže Azure je v tomto smere oveľa pohodlnejší.
Napríklad, môžem spustiť ukážku cez webové rozhranie, bez toho aby som na to potreboval akýkoľvek kód na svojom notebooku. Na to sa musím autentifikovať pomocou svojho účtu Azure. Potom môžem napríklad použiť terrafone, ak ho už používate, počkať na pripojenie k službe a získať pracovné prostredie Linux, ktoré Microsoft používa ako predvolené.

Potom používam Bash, zabudovaný do Azure Cloud Shell. Veľmi užitočná vec je zabudované IDE v prehliadači, zjednodušená verzia VS Code. Následne sa môžem prihlásiť do svojej šablóny metriky chýb, upraviť ju a prispôsobiť si ju podľa svojich potrieb.

Nakonfigurovaním v tejto šablóne zberu metrík môžete aplikovať ju na vytvorenie metrík pre celú svoju infraštruktúru. Po tom, čo sme aplikovali metriky, zbierali a uložili ich, potrebujeme ich vizualizovať.

Azure Monitor sa zaoberá iba metrikami a nedáva možnosť získať celkový prehľad o stave vášho systému. Môžete mať množstvo ďalších aplikácií, ktoré bežia mimo prostredia Azure. Takže ak potrebujete monitorovať všetky procesy a vizualizovať všetky zozbierané metriky na jednom mieste, Azure Monitor na to nie je vhodný.
Na riešenie tohto úlohy Microsoft ponúka nástroj Power BI – komplexný softvér na obchodnú analýzu, ktorý zahŕňa vizualizáciu rôznych dát. Ide o pomerne drahý produkt, ktorého cena závisí od potrebného súboru funkcií. Predvolene ponúka 48 typov spracovávaných dát a je prepojený s databázovými úložiskami SQL Azure, Azure Data Lake Storage, službami strojového učenia Azure a Azure Databricks. Využitím škálovateľnosti môžete každých 30 minút získavať nové dáta. Toto môže byť pre vaše potreby dostatočné alebo nedostatočné, ak potrebujete vizualizáciu monitorovania v reálnom čase. V takom prípade je odporúčané použiť aplikácie ako spomenutý Grafana. Okrem toho, v dokumentácii Microsoftu je popísaná možnosť odosielania metrik, logov a tabuliek udalostí pomocou SIEM — nástrojov do vizualizačných systémov Splunk, SumoLogic, ELK a IBM radar.
23:40 min
Pokračovanie čoskoro ...

Trochu reklamy 🙂
Ďakujeme, že ostávate s nami. Páčia sa vám naše články? Chcete vidieť viac zaujímavých materiálov? Podporte nás, vytvorením objednávky alebo odporúčaním známym, , unikátny ekvivalent entry-level serverov, ktorý sme pre vás vytvorili: (k dispozícii varianty s RAID1 a RAID10, až 24 jadier a až 40GB DDR4).
Dell R730xd je dvakrát lacnejší v dátovom centre Equinix Tier IV v Amsterdame? Len u nás v Holandsku! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — od 99 dolárov! Prečítajte si o tom
Zdroj: habr.com
