David O'Brien și-a lansat recent propria companie, Xirus (https://xirus.com.au), concentrându-se pe produsele cloud Microsoft Azure Stack. Acestea sunt concepute pentru a construi și rula în mod constant aplicații hibride în centre de date, locații marginale, birouri la distanță și cloud.
David instruiește persoane și companii cu privire la toate lucrurile Microsoft Azure și Azure DevOps (fostul VSTS) și încă face consultanță practică și infracodare. El a fost câștigător al premiului Microsoft MVP (Microsoft Most Valuable Professional) timp de 5 ani și recent a primit premiul Azure MVP. În calitate de co-organizator al Melbourne Microsoft Cloud and Datacentre Meetup, O'Brien vorbește în mod regulat la conferințe internaționale, combinând interesul său de a călători prin lume cu pasiunea pentru împărtășirea poveștilor IT cu comunitatea. Blogul lui David se află la , el își publică și formarea online pe Pluralsight.
Discuția vorbește despre importanța valorilor în înțelegerea a ceea ce se întâmplă în mediul dvs. și a modului în care funcționează aplicația dvs. Microsoft Azure are o modalitate puternică și ușoară de a afișa valori pentru toate tipurile de sarcini de lucru, iar prelegerea explică cum le puteți folosi pe toate.
Duminică, la ora 3 a.m., în timp ce dormi, ești trezit brusc de un mesaj text: „aplicația supercritică nu răspunde din nou”. Ce se întâmplă? Unde și care este motivul „frânelor”? În această discuție, veți afla despre serviciile pe care Microsoft Azure le oferă clienților pentru a colecta jurnalele și, în special, valorile din sarcinile dvs. de lucru în cloud. David vă va spune ce valori ar trebui să vă intereseze atunci când lucrați pe o platformă cloud și cum să ajungeți la acestea. Veți învăța despre instrumentele open source și construirea tablourilor de bord și veți ajunge să aveți suficiente cunoștințe pentru a vă crea propriile tablouri de bord.
Și dacă sunteți trezit din nou la 3 a.m. de un mesaj că o aplicație critică s-a prăbușit, puteți afla rapid cauza acesteia.
Bună ziua, astăzi vom vorbi despre metrici. Numele meu este David O'Brien, sunt co-fondatorul și proprietarul unei mici companii de consultanță australiană, Xirus. Vă mulțumesc încă o dată că ați venit aici să vă petreceți timpul cu mine. Deci de ce suntem aici? Ca să vorbim despre metrici, sau mai bine zis, vă voi povesti despre ele, iar înainte de a face orice, să începem cu teoria.

Vă voi spune ce sunt valorile, ce puteți face cu ele, la ce trebuie să acordați atenție, cum să colectați și să activați colectarea de valori în Azure și ce este vizualizarea valorilor. Vă voi arăta cum arată aceste lucruri în cloud-ul Microsoft și cum să lucrați cu acest cloud.
Înainte de a începe, voi cere o ridicare de mână de la cei care folosesc Microsoft Azure. Cine lucrează cu AWS? vad putini. Dar Google? ALI Cloud? Un bărbat! Grozav. Deci, ce sunt valorile? Definiția oficială a Institutului Național de Standarde și Tehnologie din SUA este: „O metrică este un standard de măsurare care descrie condițiile și regulile pentru măsurarea unei proprietăți și servește la înțelegerea rezultatelor măsurării.” Ce înseamnă?
Să luăm un exemplu de metrică pentru modificarea spațiului liber pe disc al unei mașini virtuale. De exemplu, ni se dă numărul 90, iar acest număr înseamnă procent, adică cantitatea de spațiu liber pe disc este de 90%. Remarc că nu este foarte interesant să citiți descrierea definiției metricilor, care durează 40 de pagini în format pdf.
Cu toate acestea, metrica nu spune cum a fost obținut rezultatul măsurării, ea arată doar acest rezultat. Ce facem cu valorile?
În primul rând, măsurăm valoarea a ceva pentru a utiliza apoi rezultatul măsurării.

De exemplu, am aflat cantitatea de spațiu liber pe disc și acum îl putem folosi, folosi această memorie etc. Odată ce am primit rezultatul metric, trebuie să-l interpretăm. De exemplu, metrica a returnat un rezultat de 90. Trebuie să știm ce înseamnă acest număr: cantitatea de spațiu liber sau cantitatea de spațiu pe disc folosit în procente sau gigaocteți, latența rețelei egală cu 90 ms și așa mai departe, adică , trebuie să interpretăm semnificația valorii metrice. Pentru ca valorile să fie semnificative, după interpretarea unei singure valori, trebuie să ne asigurăm că sunt colectate mai multe valori. Acest lucru este foarte important, deoarece mulți oameni nu sunt conștienți de necesitatea de a colecta valori. Microsoft a făcut foarte ușor să colecteze valori, dar depinde de dvs. să vă asigurați că acestea sunt colectate. Aceste valori sunt stocate doar 41 de zile și dispar în a 42-a zi. Prin urmare, în funcție de proprietățile echipamentului dvs. extern sau intern, ar trebui să aveți grijă cum să salvați valorile pentru mai mult de 41 de zile - sub formă de jurnale, jurnale etc. Astfel, după colectare, ar trebui să le plasați într-un loc care să vă permită să ridicați toate statisticile privind modificările rezultatelor metricii, dacă este necesar. Odată ce le-ați pus acolo, puteți începe să lucrați cu ele în mod eficient.
Numai după ce obțineți valorile, le interpretați și le colectați, puteți crea un SLA - contract de nivel de serviciu. Acest SLA poate să nu fie de mare importanță pentru clienții tăi, este mai important pentru colegii tăi, managerii, cei care întrețin sistemul și sunt preocupați de funcționalitatea acestuia. Metrica poate măsura numărul de bilete - de exemplu, primiți 5 bilete pe zi, iar în acest caz arată viteza de răspuns la solicitările utilizatorilor și viteza de depanare. O valoare nu ar trebui să spună doar că site-ul se încarcă în 20 ms sau viteza de răspuns este de 20 ms, o valoare este mai mult decât un singur indicator tehnic.
Prin urmare, sarcina conversației noastre este de a vă prezenta o imagine detaliată a esenței metricilor. Valoarea servește astfel încât, privindu-l, puteți obține o imagine completă a procesului.

Odată ce avem metrica, putem garanta 99% că sistemul funcționează, deoarece nu se uită doar la un fișier jurnal care spune că sistemul funcționează. O garanție de funcționare de 99% înseamnă că, de exemplu, 99% din timp API-ul răspunde la o viteză normală de 30 ms. Acesta este exact ceea ce vă interesează utilizatorii, colegii și managerii. Mulți dintre clienții noștri monitorizează jurnalele serverului web, dar nu observă erori în ele și cred că totul este în regulă. De exemplu, ei văd o viteză de rețea de 200 Mb/s și se gândesc: „ok, totul este grozav!” Dar pentru a atinge aceste 200, utilizatorii au nevoie de o viteză de răspuns de 30 de milisecunde, iar acesta este tocmai indicatorul care nu este măsurat și nu este colectat în fișierele jurnal. În același timp, utilizatorii sunt surprinși că site-ul se încarcă foarte lent, deoarece, neavând metricile necesare, nu cunosc motivele acestui comportament.
Dar, din moment ce avem un SLA de funcționare 100%, clienții încep să se plângă pentru că site-ul este de fapt foarte greu de utilizat. Prin urmare, pentru a crea un SLA obiectiv, este necesar să vedeți imaginea completă a procesului creat de metricile colectate. Aceasta este o problemă continuă pe care o am cu unii furnizori care, atunci când creează SLA, nu au idee ce înseamnă termenul „uptime” și, în cele mai multe cazuri, nu explică clienților cum funcționează API-ul lor.
Dacă ați creat un serviciu, de exemplu, un API pentru o terță persoană, ar trebui să înțelegeți ce înseamnă metrica rezultată de 39,5 - răspuns, răspuns de succes, răspuns la o viteză de 20 ms sau la o viteză de 5 ms. Depinde de tine să le adaptezi SLA la propriul tău SLA, la propriile tale valori.
Odată ce v-ați dat seama de toate acestea, puteți începe să creați un tablou de bord uimitor. Spune-mi, a folosit cineva deja aplicația de vizualizare interactivă Grafana? Grozav! Sunt un mare fan al acestei surse deschise, deoarece acest lucru este gratuit și ușor de utilizat.

Dacă nu ați folosit încă Grafana, vă voi spune cum să lucrați cu el. Oricine născut în anii 80 și 90 își amintește probabil de CareBears? Nu știu cât de populari au fost acești urși în Rusia, dar când vine vorba de valori, ar trebui să fim aceiași „urși de grijă”. După cum am spus, aveți nevoie de o imagine de ansamblu a modului în care funcționează întregul sistem și nu ar trebui să fie vorba doar despre API-ul dvs., site-ul dvs. web sau serviciul care rulează într-o mașină virtuală.

Trebuie să organizați colecția acelor valori care reflectă cel mai pe deplin funcționarea întregului sistem. Majoritatea dintre voi sunteți dezvoltatori de software, așa că viața voastră se schimbă în mod constant, adaptându-se la noile cerințe de produs și, așa cum vă preocupă procesele de codificare, ar trebui să vă preocupați de metrici. Trebuie să știți cum se leagă metrica cu fiecare linie de cod pe care o scrieți. De exemplu, săptămâna viitoare începeți o nouă campanie de marketing și vă așteptați ca un număr mare de utilizatori să vă viziteze site-ul. Pentru a analiza acest eveniment, veți avea nevoie de valori și este posibil să aveți nevoie de un întreg tablou de bord pentru a urmări activitatea acestor persoane. Veți avea nevoie de valori pentru a înțelege cât de reușită este campania dvs. de marketing și cum funcționează de fapt. Ele vă vor ajuta, de exemplu, să dezvoltați un CRM eficient - sistem de management al relațiilor cu clienții.
Deci, să începem cu serviciul nostru cloud Azure. Este foarte ușor să găsiți și să organizați colecția de valori deoarece are Azure Monitor. Acest monitor centralizează gestionarea configurației sistemului. Fiecare dintre elementele Azure pe care doriți să le aplicați sistemului dvs. are multe valori activate în mod implicit. Aceasta este o aplicație gratuită care funcționează imediat și nu necesită setări preliminare, nu trebuie să scrieți sau să „înșurubați” nimic în sistemul dumneavoastră. Vom verifica acest lucru uitându-ne la următoarea demonstrație.

În plus, este posibil să trimiteți aceste valori către aplicații terțe, cum ar fi sistemul de stocare și analiză a jurnalelor Splunk, aplicația de gestionare a jurnalelor bazată pe cloud SumoLogic, instrumentul de procesare a jurnalelor ELK și IBM Radar. Adevărat, există mici diferențe care depind de resursele pe care le utilizați - o mașină virtuală, servicii de rețea, baze de date Azure SQL, adică utilizarea metricilor diferă în funcție de funcțiile mediului de lucru. Nu voi spune că aceste diferențe sunt serioase, dar, din păcate, sunt încă prezente, iar acest lucru ar trebui luat în considerare. Activarea și trimiterea valorilor este posibilă în mai multe moduri: prin Portal, CLI/Power Shell sau folosind șabloane ARM.

Înainte de a începe prima mea demonstrație, voi răspunde la orice întrebări ați putea avea. Dacă nu există întrebări, să începem. Ecranul arată cum arată pagina Azure Monitor. Poate cineva dintre voi să spună că acest monitor nu funcționează?

Deci acum totul este în regulă, puteți vedea cum arată serviciile de monitorizare. Pot spune că acesta este un instrument excelent și foarte simplu pentru munca de zi cu zi. Poate fi folosit pentru a monitoriza aplicații, rețele și infrastructură. Recent, interfața de monitorizare a fost îmbunătățită, iar dacă anterior serviciile erau localizate în locuri diferite, acum toate informațiile despre servicii sunt consolidate pe pagina de start a monitorului.
Tabelul de valori este o filă de-a lungul căii HomeMonitorMetrics, la care puteți accesa pentru a vedea toate valorile disponibile și pentru a le selecta pe cele de care aveți nevoie. Dar dacă trebuie să activați colectarea de valori, trebuie să utilizați calea directorului de setări HomeMonitorDiagnostic și să bifați casetele de selectare pentru valori Activat/Dezactivat. În mod implicit, aproape toate valorile sunt activate, dar dacă trebuie să activați ceva suplimentar, va trebui să schimbați starea de diagnosticare de la Dezactivat la Activat.

Pentru a face acest lucru, faceți clic pe linia valorii selectate și pe fila care se deschide, activați modul de diagnosticare. Dacă intenționați să analizați valoarea selectată, atunci după ce faceți clic pe linkul Activare diagnosticare, trebuie să bifați caseta de selectare Trimitere la Log Analytics din fereastra care apare.

Log Analytics este puțin similar cu Splunk, dar costă mai puțin. Acest serviciu vă permite să colectați toate valorile, jurnalele și tot ce aveți nevoie și să le plasați în spațiul de lucru Log Analytics. Serviciul folosește un limbaj special de procesare a interogărilor KQL - Kusto Quarry Language, ne vom uita la lucrul său în următoarea demonstrație. Deocamdată, voi reține că, cu ajutorul acestuia, puteți crea interogări privind valorile, jurnalele, termenii, tendințele, modelele etc. și creați tablouri de bord.
Așadar, bifăm caseta de selectare Trimitere către Log Analytics și casetele de selectare din panoul LOG: DataPlaneRequests, MongoRequests și QueryRuntimeStatistics, iar mai jos în panoul METRIC – caseta de selectare Solicitări. Apoi atribuim un nume și salvăm setările. Pe linia de comandă, aceasta reprezintă două linii de cod. Apropo, shell-ul Azure Cloud în acest sens seamănă cu Google, care vă permite și să utilizați linia de comandă în browserul dvs. web. AWS nu are așa ceva, așa că Azure este mult mai convenabil în acest sens.
Например, я могу запустить демо через веб-интерфейс, не используя для этого никакого кода на своем ноутбуке. Для этого я должен пройти аутентификацию с помощью своего аккаунта Azure. Далее можно использовать, например, terrafone, если вы им уже пользуетесь, дождаться подключения к сервису и получить рабочую среду Linux, которую Microsoft использует по умолчанию.

Apoi, folosesc Bash, încorporat în Azure Cloud Shell. Un lucru foarte util este IDE-ul încorporat în browser, o versiune ușoară a VS Code. Apoi, pot accesa șablonul meu de valori de eroare, îl pot edita și îl pot personaliza în funcție de nevoile mele.

După ce ați configurat colecția de valori în acest șablon, o puteți utiliza pentru a crea valori pentru întreaga infrastructură. Odată ce am aplicat valorile, le-am colectat și le-am stocat, va trebui să le vizualizăm.

Azure Monitor se ocupă doar de valori și nu oferă o imagine de ansamblu a stării de sănătate a sistemului dvs. Este posibil să aveți o serie de alte aplicații care rulează în afara mediului Azure. Deci, dacă trebuie să monitorizați toate procesele, vizualizând toate valorile colectate într-un singur loc, atunci Azure Monitor nu este potrivit pentru aceasta.
Pentru a rezolva această problemă, Microsoft oferă instrumentul Power BI, un software cuprinzător pentru analiza afacerilor care include vizualizarea unei game largi de date. Acesta este un produs destul de scump, al cărui cost depinde de setul de funcții de care aveți nevoie. În mod implicit, vă oferă 48 de tipuri de date de procesat și este conectat la Azure SQL Data Warehouses, Azure Data Lake Storage, Azure Machine Learning Services și Azure Databricks. Utilizând scalabilitatea, puteți primi date noi la fiecare 30 de minute. Acest lucru poate fi sau nu suficient pentru nevoile dvs. dacă aveți nevoie de vizualizare de monitorizare în timp real. În acest caz, este recomandat să folosiți aplicații precum Grafana de care am menționat. În plus, documentația Microsoft descrie capacitatea de a trimite valori, jurnale și tabele de evenimente folosind instrumente SIEM către sistemele de vizualizare Splunk, SumoLogic, ELK și radar IBM.
23:40 min
Va continua foarte curand...

Câteva reclame 🙂
Vă mulțumim că ați rămas cu noi. Vă plac articolele noastre? Vrei să vezi mai mult conținut interesant? Susține-ne plasând o comandă sau recomandând prietenilor, , un analog unic al serverelor entry-level, care a fost inventat de noi pentru tine: (disponibil cu RAID1 și RAID10, până la 24 de nuclee și până la 40 GB DDR4).
Dell R730xd de 2 ori mai ieftin în centrul de date Equinix Tier IV din Amsterdam? Numai aici in Olanda! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - de la 99 USD! Citește despre
Sursa: www.habr.com
