David O'Brien (Xirus): Mjerni podaci! Metrika! Metrika! 1. dio

David O'Brien nedavno je pokrenuo vlastitu tvrtku, Xirus (https://xirus.com.au), fokusirajući se na Microsoft Azure Stack cloud proizvode. Dizajnirani su za dosljednu izgradnju i pokretanje hibridnih aplikacija u podatkovnim centrima, rubnim lokacijama, udaljenim uredima i oblaku.

David obučava pojedince i tvrtke o svim stvarima vezanim uz Microsoft Azure i Azure DevOps (bivši VSTS), a još uvijek pruža praktične savjete i infrakodiranje. Dobitnik je nagrade Microsoft MVP (Microsoft Most Valuable Professional) već 5 godina, a nedavno je primio nagradu Azure MVP. Kao suorganizator Melbourne Microsoft Cloud and Datacentre Meetup, O'Brien redovito govori na međunarodnim konferencijama, kombinirajući svoj interes za putovanjem svijetom sa strašću za dijeljenjem IT priča sa zajednicom. Davidov blog se nalazi na david-obrien.net, također objavljuje svoju online obuku na Pluralsightu.

Govor govori o važnosti metrike u razumijevanju onoga što se događa u vašem okruženju i izvedbe vaše aplikacije. Microsoft Azure ima moćan i jednostavan način za prikaz metrika za sve vrste radnih opterećenja, a predavanje objašnjava kako ih sve možete koristiti.

U nedjelju u 3 sata ujutro, dok spavate, iznenada vas probudi tekstualna poruka: “superkritična aplikacija opet ne odgovara.” Što se događa? Gdje i koji je razlog "kočnicama"? U ovom govoru naučit ćete o uslugama koje Microsoft Azure nudi korisnicima za prikupljanje zapisa i, posebno, metrike iz vaših radnih opterećenja u oblaku. David će vam reći koje metrike bi vas trebale zanimati kada radite na platformi u oblaku i kako doći do njih. Naučit ćete o alatima otvorenog koda i izradi nadzornih ploča, a na kraju steći dovoljno znanja za izradu vlastitih nadzornih ploča.

A ako vas u 3 ujutro ponovno probudi poruka da se kritična aplikacija srušila, možete brzo otkriti uzrok.

Dobar dan, danas ćemo razgovarati o metrici. Moje ime je David O'Brien, suosnivač sam i vlasnik male australske konzultantske tvrtke Xirus. Još jednom vam hvala što ste došli ovdje provesti svoje vrijeme sa mnom. Pa zašto smo ovdje? Da govorimo o metrici, ili bolje rečeno, reći ću vam o njima, a prije nego što poduzmemo bilo što, počnimo s teorijom.

David O'Brien (Xirus): Mjerni podaci! Metrika! Metrika! 1. dio

Reći ću vam što su metrike, što možete s njima, na što morate obratiti pozornost, kako prikupiti i omogućiti prikupljanje metrika u Azureu i što je vizualizacija metrika. Pokazat ću vam kako te stvari izgledaju u Microsoftovom oblaku i kako raditi s tim oblakom.

Prije nego počnemo, tražit ću da dignu ruke oni koji koriste Microsoft Azure. Tko radi s AWS-om? Malo ih vidim. Što je s Googleom? ALI Cloud? Jedan čovjek! Sjajno. Dakle, što su metrike? Službena definicija američkog Nacionalnog instituta za standarde i tehnologiju glasi: “Metrika je mjerni standard koji opisuje uvjete i pravila za mjerenje svojstva i služi za razumijevanje rezultata mjerenja.” Što to znači?

Uzmimo primjer metrike za promjenu slobodnog prostora na disku virtualnog stroja. Na primjer, dan nam je broj 90, a taj broj označava postotak, odnosno količina slobodnog prostora na disku je 90%. Napominjem da nije baš zanimljivo čitati opis definicije metrike koji u pdf formatu zauzima 40 stranica.

Međutim, metrika ne govori kako je rezultat mjerenja dobiven, ona samo pokazuje taj rezultat. Što ćemo s metrikom?

Prvo izmjerimo vrijednost nečega da bismo zatim koristili rezultat mjerenja.

David O'Brien (Xirus): Mjerni podaci! Metrika! Metrika! 1. dio

Na primjer, saznali smo količinu slobodnog prostora na disku i sada ga možemo koristiti, koristiti ovu memoriju itd. Nakon što smo primili metrički rezultat, moramo ga protumačiti. Na primjer, metrika je vratila rezultat 90. Moramo znati što ovaj broj znači: količinu slobodnog prostora ili količinu iskorištenog prostora na disku u postocima ili gigabajtima, mrežno kašnjenje jednako 90 ms, i tako dalje, tj. , moramo protumačiti značenje metričke vrijednosti. Da bi metrika uopće imala smisla, nakon tumačenja jedne metričke vrijednosti, moramo osigurati prikupljanje više vrijednosti. Ovo je vrlo važno jer mnogi ljudi nisu svjesni potrebe prikupljanja metrike. Microsoft je vrlo olakšao prikupljanje metričkih podataka, ali na vama je da osigurate njihovo prikupljanje. Ove se metrike pohranjuju samo 41 dan i nestaju 42. dana. Stoga, ovisno o svojstvima vaše vanjske ili unutarnje opreme, trebali biste voditi računa o tome kako spremiti metriku dulje od 41 dana - u obliku dnevnika, dnevnika itd. Stoga, nakon prikupljanja, trebali biste ih smjestiti na neko mjesto koje vam omogućuje da izvučete sve statistike promjena u metričkim rezultatima ako je potrebno. Nakon što ih tamo postavite, možete početi učinkovito raditi s njima.

Tek nakon što dobijete metriku, protumačite je i prikupite, možete izraditi SLA - ugovor o razini usluge. Ovaj SLA možda nije od velike važnosti vašim klijentima; važniji je vašim kolegama, menadžerima, onima koji održavaju sustav i zabrinuti su za njegovu funkcionalnost. Metrikom se može mjeriti broj tiketa – npr. dobijete 5 tiketa dnevno, au ovom slučaju pokazuje brzinu odgovora na zahtjeve korisnika i brzinu rješavanja problema. Mjerni podatak ne bi trebao samo reći da se vaša stranica učitava za 20 ms ili da je vaša brzina odgovora 20 ms, metrički je podatak više od samo jednog tehničkog pokazatelja.

Stoga je zadatak našeg razgovora da vam predstavimo detaljnu sliku suštine metrike. Metrika služi tako da gledanjem u nju možete dobiti potpunu sliku procesa.

David O'Brien (Xirus): Mjerni podaci! Metrika! Metrika! 1. dio

Jednom kada dobijemo metriku, možemo 99% jamčiti da sustav radi, jer nije samo gledanje datoteke dnevnika ono što govori da sustav radi. Jamstvo neprekidnog rada od 99% znači da, na primjer, 99% vremena API odgovara normalnom brzinom od 30 ms. Upravo to zanima vaše korisnike, vaše kolege i menadžere. Mnogi naši klijenti prate logove web poslužitelja, ali ne primjećuju nikakve greške u njima i misle da je sve u redu. Na primjer, vide brzinu mreže od 200 Mb/s i pomisle: "ok, sve je super!" No, za postizanje tih 200 korisnicima je potrebna brzina odziva od 30 milisekundi, a upravo je to pokazatelj koji se ne mjeri i ne prikuplja u log datotekama. U isto vrijeme, korisnici su iznenađeni što se stranica učitava vrlo sporo, jer, nemajući potrebne metrike, ne znaju razloge za takvo ponašanje.

Ali budući da imamo 100% produženje rada SLA, kupci se počinju žaliti jer je web mjesto zapravo vrlo teško koristiti. Stoga je za stvaranje objektivnog SLA-a potrebno vidjeti cjelovitu sliku procesa stvorenu prikupljenim metrikama. Ovo je stalan problem koji imam s nekim pružateljima usluga koji, kada stvaraju SLA, nemaju pojma što znači izraz "vrijeme neprekidnog rada" i u većini slučajeva ne objasne svojim klijentima kako njihov API funkcionira.

Ako ste kreirali uslugu, na primjer, API za treću osobu, trebali biste razumjeti što rezultirajuća metrika od 39,5 znači - odgovor, uspješan odgovor, odgovor brzinom od 20 ms ili brzinom od 5 ms. Na vama je da njihov SLA prilagodite svom SLA-u, svojim vlastitim metrikama.

Nakon što ste sve ovo shvatili, možete početi stvarati zadivljujuću kontrolnu ploču. Recite mi, je li netko već koristio aplikaciju za interaktivnu vizualizaciju Grafana? Sjajno! Veliki sam obožavatelj ovog otvorenog koda jer je ova stvar besplatna i jednostavna za korištenje.

David O'Brien (Xirus): Mjerni podaci! Metrika! Metrika! 1. dio

Ako još niste koristili Grafanu, reći ću vam kako s njom raditi. Svatko tko je rođen u 80-ima i 90-ima vjerojatno se sjeća CareBearsa? Ne znam koliko su ti medvjedi bili popularni u Rusiji, ali kada je riječ o metrici, trebali bismo biti isti "brižni medvjedići". Kao što sam rekao, potrebna vam je velika slika o tome kako cijeli sustav funkcionira, a ne bi se trebao odnositi samo na vaš API, vašu web stranicu ili uslugu koja se izvodi u virtualnom stroju.

David O'Brien (Xirus): Mjerni podaci! Metrika! Metrika! 1. dio

Morate organizirati prikupljanje onih metrika koje najpotpunije odražavaju rad cijelog sustava. Većina vas su programeri softvera, tako da se vaš život neprestano mijenja, prilagođava novim zahtjevima proizvoda, i kao što vas zanimaju procesi kodiranja, trebali biste se baviti metrikom. Morate znati kako se metrika odnosi na svaki red koda koji napišete. Na primjer, sljedeći tjedan započinjete novu marketinšku kampanju i očekujete da će velik broj korisnika posjetiti vašu stranicu. Za analizu ovog događaja trebat će vam mjerni podaci, a možda će vam trebati i cijela nadzorna ploča za praćenje aktivnosti tih ljudi. Trebat će vam mjerni podaci kako biste razumjeli koliko je vaša marketinška kampanja uspješna i kakva je zapravo izvedba. Pomoći će vam, primjerice, razviti učinkovit CRM – sustav upravljanja odnosima s kupcima.

Pa započnimo s našom uslugom oblaka Azure. Vrlo je lako pronaći i organizirati zbirku metričkih podataka jer ima Azure Monitor. Ovaj monitor centralizira upravljanje konfiguracijom vašeg sustava. Svaki od Azure elemenata koje želite primijeniti na svoj sustav ima mnoge metrike omogućene prema zadanim postavkama. Ovo je besplatna aplikacija koja radi odmah iz kutije i ne zahtijeva nikakva preliminarna podešavanja; ne morate ništa pisati ili "šarafiti" na svom sustavu. To ćemo provjeriti gledajući sljedeći demo.

David O'Brien (Xirus): Mjerni podaci! Metrika! Metrika! 1. dio

Osim toga, moguće je poslati ove metrike aplikacijama trećih strana, kao što je sustav za pohranu i analizu dnevnika Splunk, aplikacija SumoLogic za upravljanje zapisima temeljena na oblaku, alat za obradu dnevnika ELK i IBM Radar. Istina, postoje male razlike koje ovise o resursima koje koristite - virtualni stroj, mrežni servisi, Azure SQL baze podataka, odnosno korištenje metrike razlikuje se ovisno o funkcijama vašeg radnog okruženja. Neću reći da su te razlike ozbiljne, ali ih, nažalost, još uvijek ima i to treba uzeti u obzir. Omogućavanje i slanje metrike moguće je na nekoliko načina: putem portala, CLI/Power Shell ili pomoću ARM predložaka.

David O'Brien (Xirus): Mjerni podaci! Metrika! Metrika! 1. dio

Prije nego što započnem svoj prvi demo, odgovorit ću na sva vaša pitanja. Ako nema pitanja, počnimo. Zaslon prikazuje kako izgleda stranica Azure Monitor. Može li netko od vas reći da ovaj monitor ne radi?

David O'Brien (Xirus): Mjerni podaci! Metrika! Metrika! 1. dio

Dakle, sada je sve u redu, možete vidjeti kako izgledaju usluge monitora. Mogu reći da je ovo odličan i vrlo jednostavan alat za svakodnevni rad. Može se koristiti za nadzor aplikacija, mreža i infrastrukture. Nedavno je poboljšano sučelje za praćenje, a ako su prethodno usluge bile smještene na različitim mjestima, sada su sve informacije o uslugama objedinjene na početnoj stranici monitora.

Tablica metrike je kartica duž staze HomeMonitorMetrics, na koju možete otići da biste vidjeli sve dostupne metrike i odabrali one koje su vam potrebne. Ali ako trebate omogućiti prikupljanje mjernih podataka, trebate upotrijebiti putanju direktorija postavki HomeMonitorDiagnostic i označiti potvrdne okvire Enabled/Disabled metrics. Prema zadanim postavkama omogućene su gotovo sve metrike, ali ako trebate omogućiti nešto dodatno, morat ćete promijeniti dijagnostički status iz Onemogućeno u Omogućeno.

David O'Brien (Xirus): Mjerni podaci! Metrika! Metrika! 1. dio

Da biste to učinili, kliknite na redak odabrane metrike i na kartici koja se otvori omogućite dijagnostički način rada. Ako ćete analizirati odabranu metriku, tada nakon klika na poveznicu Uključi dijagnostiku trebate označiti potvrdni okvir Send to Log Analytics u prozoru koji se pojavi.

David O'Brien (Xirus): Mjerni podaci! Metrika! Metrika! 1. dio

Log Analytics je pomalo sličan Splunk-u, ali košta manje. Ova usluga vam omogućuje da prikupite sve svoje metrike, zapisnike i sve ostalo što vam je potrebno i smjestite ih u radni prostor Log Analytics. Usluga koristi poseban KQL jezik za obradu upita - Kusto Quarry Language, njegov rad ćemo pogledati u sljedećem demo-u. Za sada ću napomenuti da uz njegovu pomoć možete kreirati upite koji se odnose na metriku, zapise, uvjete, trendove, obrasce itd. i izraditi nadzorne ploče.

Dakle, označavamo potvrdni okvir Send to Log Analytics i potvrdne okvire na LOG ploči: DataPlaneRequests, MongoRequests i QueryRuntimeStatistics, a ispod na METRIC panelu – potvrdni okvir Requests. Zatim dodijelimo naziv i spremimo postavke. U naredbenom retku ovo predstavlja dvije linije koda. Usput, ljuska Azure Cloud u ovom smislu podsjeća na Google, što vam također omogućuje korištenje naredbenog retka u vašem web pregledniku. AWS nema ništa slično, pa je Azure u tom smislu mnogo praktičniji.

Na primjer, mogu pokrenuti demo putem web sučelja bez korištenja ikakvog koda na prijenosnom računalu. Da bih to učinio, moram se autentificirati sa svojim Azure računom. Tada možete koristiti npr. terrafone, ako ga već koristite pričekajte spajanje na servis i dobijete Linux radno okruženje koje Microsoft koristi standardno.

David O'Brien (Xirus): Mjerni podaci! Metrika! Metrika! 1. dio

Zatim koristim Bash, ugrađen u Azure Cloud Shell. Vrlo korisna stvar je IDE ugrađen u preglednik, lagana verzija VS Codea. Zatim mogu otvoriti svoj predložak metrike pogreške, urediti ga i prilagoditi svojim potrebama.

David O'Brien (Xirus): Mjerni podaci! Metrika! Metrika! 1. dio

Nakon što postavite zbirku mjernih podataka u ovom predlošku, možete ga koristiti za stvaranje metričkih podataka za cijelu svoju infrastrukturu. Nakon što primijenimo mjerne podatke, prikupimo ih i pohranimo, morat ćemo ih vizualizirati.

David O'Brien (Xirus): Mjerni podaci! Metrika! Metrika! 1. dio

Azure Monitor bavi se samo metrikom i ne daje cjelokupnu sliku o stanju vašeg sustava. Možda imate brojne druge aplikacije koje rade izvan okruženja Azure. Dakle, ako trebate pratiti sve procese, vizualizirajući sve prikupljene metrike na jednom mjestu, onda Azure Monitor nije prikladan za to.

Kako bi riješio ovaj problem, Microsoft nudi alat Power BI, opsežan softver za poslovnu analizu koji uključuje vizualizaciju najrazličitijih podataka. Ovo je prilično skup proizvod, čija cijena ovisi o skupu funkcija koje su vam potrebne. Prema zadanim postavkama nudi vam 48 vrsta podataka za obradu i povezan je s Azure SQL Data Warehouses, Azure Data Lake Storage, Azure Machine Learning Services i Azure Databricks. Koristeći skalabilnost, možete primati nove podatke svakih 30 minuta. Ovo može, ali i ne mora biti dovoljno za vaše potrebe ako trebate vizualizaciju praćenja u stvarnom vremenu. U tom slučaju preporučljivo je koristiti aplikacije kao što je Grafana koju sam spomenuo. Osim toga, Microsoftova dokumentacija opisuje mogućnost slanja metrike, zapisa i tablica događaja pomoću SIEM alata u sustave vizualizacije Splunk, SumoLogic, ELK i IBM radar.

23:40 min

Nastavak uskoro...

Neki oglasi 🙂

Hvala što ste ostali s nama. Sviđaju li vam se naši članci? Želite li vidjeti više zanimljivog sadržaja? Podržite nas narudžbom ili preporukom prijateljima, cloud VPS za programere od 4.99 USD, jedinstveni analog poslužitelja početne razine, koji smo izmislili za vas: Cijela istina o VPS (KVM) E5-2697 v3 (6 jezgri) 10GB DDR4 480GB SSD 1Gbps od 19 USD ili kako podijeliti poslužitelj? (dostupno s RAID1 i RAID10, do 24 jezgre i do 40 GB DDR4).

Dell R730xd 2 puta jeftiniji u Equinix Tier IV podatkovnom centru u Amsterdamu? Samo ovdje 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV od 199 USD u Nizozemskoj! Dell R420 - 2x E5-2430 2.2 Ghz 6C 128 GB DDR3 2x960 GB SSD 1 Gbps 100 TB - od 99 USD! Pročitaj o Kako izgraditi infrastrukturu corp. klase uz korištenje Dell R730xd E5-2650 v4 servera vrijednih 9000 eura za lipu?

Izvor: www.habr.com

Dodajte komentar