David O'Brien (Xirus): Statistieken! Statistieken! Statistieken! Deel 1

David O'Brien heeft onlangs zijn eigen bedrijf Xirus (https://xirus.com.au) gelanceerd, dat zich richt op Microsoft Azure Stack-cloudproducten. Ze zijn ontworpen om op consistente wijze hybride applicaties te bouwen en uit te voeren in datacenters, edge-locaties, externe kantoren en de cloud.

David traint individuen en bedrijven op het gebied van Microsoft Azure en Azure DevOps (voorheen VSTS) en doet nog steeds praktijkgericht advies en infracodering. Hij is al 5 jaar winnaar van de Microsoft MVP (Microsoft Most Valuable Professional) Award en ontving onlangs de Azure MVP Award. Als mede-organisator van de Melbourne Microsoft Cloud and Datacentre Meetup spreekt O'Brien regelmatig op internationale conferenties, waarbij hij zijn interesse in het reizen over de wereld combineert met een passie voor het delen van IT-verhalen met de gemeenschap. De blog van David bevindt zich op david-obrien.net, publiceert hij ook zijn online training over Pluralsight.

In de lezing wordt gesproken over het belang van metrische gegevens om te begrijpen wat er in uw omgeving gebeurt en hoe uw toepassing presteert. Microsoft Azure heeft een krachtige en gemakkelijke manier om statistieken voor allerlei soorten workloads weer te geven, en de lezing legt uit hoe je ze allemaal kunt gebruiken.

Op een zondag om 3 uur 's nachts, terwijl je slaapt, word je plotseling gewekt door een sms: "superkritische app reageert niet meer." Wat gebeurd er? Waar en wat is de reden voor de “remmen”? In deze lezing leert u over de diensten die Microsoft Azure klanten biedt om logbestanden en vooral statistieken van uw cloudworkloads te verzamelen. David zal u vertellen in welke statistieken u geïnteresseerd moet zijn als u op een cloudplatform werkt en hoe u deze kunt bereiken. Je leert over open source-tools en het bouwen van dashboards, en krijgt uiteindelijk voldoende kennis om je eigen dashboards te maken.

En als je om 3 uur weer wakker wordt door de melding dat een kritieke applicatie is gecrasht, kun je snel achter de oorzaak komen.

Goedemiddag, vandaag zullen we het hebben over statistieken. Mijn naam is David O'Brien, ik ben mede-oprichter en eigenaar van een klein Australisch adviesbureau, Xirus. Nogmaals bedankt dat je hier bent gekomen om je tijd met mij door te brengen. Dus waarom zijn we hier? Om over statistieken te praten, of beter gezegd, zal ik je erover vertellen, en voordat we iets doen, laten we beginnen met de theorie.

David O'Brien (Xirus): Statistieken! Statistieken! Statistieken! Deel 1

Ik vertel je wat metrics zijn, wat je ermee kunt doen, waar je op moet letten, hoe je metrics-verzameling in Azure kunt verzamelen en inschakelen, en wat metrics-visualisatie is. Ik laat je zien hoe deze dingen eruit zien in de Microsoft-cloud en hoe je met deze cloud kunt werken.

Voordat we beginnen, zal ik een handopsteking vragen van degenen die Microsoft Azure gebruiken. Wie werkt er met AWS? Ik zie er weinig. Hoe zit het met Google? ALI-wolk? Een man! Geweldig. Dus wat zijn statistieken? De officiële definitie van het Amerikaanse National Institute of Standards and Technology is: “Een metriek is een meetstandaard die de voorwaarden en regels voor het meten van een woning beschrijft en dient om de meetresultaten te begrijpen.” Wat betekent het?

Laten we een voorbeeld nemen van een statistiek voor het wijzigen van de vrije schijfruimte van een virtuele machine. We krijgen bijvoorbeeld het getal 90, en dit getal betekent percentage, dat wil zeggen dat de hoeveelheid vrije schijfruimte 90% is. Ik merk op dat het niet erg interessant is om de beschrijving van de definitie van metrieken te lezen, die 40 pagina's in pdf-formaat beslaat.

De metriek zegt echter niet hoe het meetresultaat is verkregen, maar toont alleen dit resultaat. Wat doen we met meetgegevens?

We meten eerst de waarde van iets om vervolgens het meetresultaat te gebruiken.

David O'Brien (Xirus): Statistieken! Statistieken! Statistieken! Deel 1

We hebben bijvoorbeeld de hoeveelheid vrije schijfruimte ontdekt en nu kunnen we deze gebruiken, dit geheugen gebruiken, enz. Zodra we het metrische resultaat hebben ontvangen, moeten we het interpreteren. De metriek heeft bijvoorbeeld het resultaat 90 geretourneerd. We moeten weten wat dit getal betekent: de hoeveelheid vrije ruimte of de hoeveelheid gebruikte schijfruimte in procenten of gigabytes, netwerklatentie gelijk aan 90 ms, enzovoort, dat wil zeggen , moeten we de betekenis van de metrische waarde interpreteren. Om statistieken überhaupt zinvol te laten zijn, moeten we er na het interpreteren van een enkele metrische waarde voor zorgen dat er meerdere waarden worden verzameld. Dit is erg belangrijk omdat veel mensen zich niet bewust zijn van de noodzaak om statistieken te verzamelen. Microsoft heeft het heel eenvoudig gemaakt om statistieken te verzamelen, maar het is aan jou om ervoor te zorgen dat ze worden verzameld. Deze statistieken worden slechts 41 dagen bewaard en verdwijnen op de 42e dag. Daarom moet u, afhankelijk van de eigenschappen van uw externe of interne apparatuur, ervoor zorgen dat u de meetgegevens langer dan 41 dagen bewaart - in de vorm van logboeken, logboeken, enz. Na het verzamelen moet u ze dus op een plek plaatsen waar u, indien nodig, alle statistieken van wijzigingen in de metrische resultaten kunt ophalen. Zodra u ze daar heeft geplaatst, kunt u er effectief mee aan de slag.

Pas nadat u de statistieken heeft verkregen, geïnterpreteerd en verzameld, kunt u een SLA (Service Level Agreement) opstellen. Deze SLA is misschien niet zo belangrijk voor uw klanten; hij is belangrijker voor uw collega's, managers en degenen die het systeem onderhouden en zich zorgen maken over de functionaliteit ervan. De statistiek kan het aantal tickets meten. U ontvangt bijvoorbeeld vijf tickets per dag, en in dit geval wordt de reactiesnelheid op gebruikersverzoeken en de snelheid van het oplossen van problemen weergegeven. Een statistiek moet niet alleen zeggen dat uw site in 5 ms wordt geladen of dat uw reactiesnelheid 20 ms is; een statistiek is meer dan slechts één technische indicator.

Daarom is het de taak van ons gesprek om u een gedetailleerd beeld te geven van de essentie van statistieken. De metriek zorgt ervoor dat u, door ernaar te kijken, een volledig beeld van het proces kunt krijgen.

David O'Brien (Xirus): Statistieken! Statistieken! Statistieken! Deel 1

Zodra we de meetgegevens hebben, kunnen we voor 99% garanderen dat het systeem werkt, omdat er niet alleen naar een logbestand wordt gekeken dat zegt dat het systeem werkt. Een uptime-garantie van 99% betekent dat de API bijvoorbeeld 99% van de tijd reageert op een normale snelheid van 30 ms. Dit is precies wat uw gebruikers, uw collega's en managers interesseert. Veel van onze klanten monitoren webserverlogboeken, maar merken er geen fouten in op en denken dat alles in orde is. Ze zien bijvoorbeeld een netwerksnelheid van 200 Mb/s en denken: “oké, alles is geweldig!” Maar om deze 200 te bereiken hebben gebruikers een reactiesnelheid van 30 milliseconden nodig, en dit is precies de indicator die niet wordt gemeten en niet wordt verzameld in logbestanden. Tegelijkertijd zijn gebruikers verrast dat de site erg langzaam laadt, omdat ze, omdat ze niet over de nodige statistieken beschikken, de redenen voor dit gedrag niet kennen.

Maar omdat we een SLA van 100% uptime hebben, beginnen klanten te klagen omdat de site eigenlijk heel moeilijk te gebruiken is. Om een ​​objectieve SLA te creëren, is het daarom noodzakelijk om het volledige beeld te zien van het proces dat door de verzamelde statistieken wordt gecreëerd. Dit is een voortdurend probleem dat ik heb bij sommige providers die bij het maken van SLA's geen idee hebben wat de term 'uptime' betekent en in de meeste gevallen hun klanten niet uitleggen hoe hun API werkt.

Als u een service hebt gemaakt, bijvoorbeeld een API voor een derde persoon, moet u begrijpen wat de resulterende statistiek van 39,5 betekent: respons, succesvolle respons, respons met een snelheid van 20 ms of met een snelheid van 5 ms. Het is aan jou om hun SLA aan te passen aan je eigen SLA, aan je eigen statistieken.

Zodra u dit allemaal heeft uitgezocht, kunt u beginnen met het maken van een prachtig dashboard. Vertel me eens, heeft iemand de interactieve visualisatieapplicatie Grafana al gebruikt? Geweldig! Ik ben een grote fan van deze open source omdat dit ding gratis en gemakkelijk te gebruiken is.

David O'Brien (Xirus): Statistieken! Statistieken! Statistieken! Deel 1

Als je Grafana nog niet hebt gebruikt, vertel ik je hoe je ermee kunt werken. Iedereen geboren in de jaren 80 en 90 herinnert zich waarschijnlijk CareBears? Ik weet niet hoe populair deze beren waren in Rusland, maar als het om statistieken gaat, zouden we dezelfde ‘troetelbeertjes’ moeten zijn. Zoals ik al zei, heb je een goed beeld nodig van hoe het hele systeem werkt, en het moet niet alleen gaan om je API, je website of de service die op een virtuele machine draait.

David O'Brien (Xirus): Statistieken! Statistieken! Statistieken! Deel 1

U moet de verzameling organiseren van de meetgegevens die de werking van het hele systeem het meest volledig weerspiegelen. De meesten van jullie zijn softwareontwikkelaars, dus jullie leven verandert voortdurend en past zich aan nieuwe productvereisten aan, en net zoals je je bezighoudt met codeerprocessen, zou je je ook bezig moeten houden met meetgegevens. U moet weten hoe de statistiek zich verhoudt tot elke regel code die u schrijft. Volgende week start u bijvoorbeeld een nieuwe marketingcampagne en verwacht u dat een groot aantal gebruikers uw site zullen bezoeken. Om deze gebeurtenis te analyseren, heb je statistieken nodig, en misschien heb je een heel dashboard nodig om de activiteit van deze mensen bij te houden. U heeft statistieken nodig om te begrijpen hoe succesvol uw marketingcampagne is en hoe deze daadwerkelijk presteert. Zij helpen u bijvoorbeeld bij het ontwikkelen van een effectief CRM-klantrelatiebeheersysteem.

Laten we dus aan de slag gaan met onze Azure-cloudservice. Het is heel eenvoudig om het verzamelen van metrische gegevens te vinden en te organiseren, omdat het over Azure Monitor beschikt. Deze monitor centraliseert het beheer van uw systeemconfiguratie. Voor elk van de Azure-elementen die u op uw systeem wilt toepassen, zijn standaard veel metrische gegevens ingeschakeld. Dit is een gratis applicatie die direct uit de doos werkt en waarvoor geen voorafgaande instellingen nodig zijn; u hoeft niets naar uw systeem te schrijven of te 'schroeven'. We zullen dit verifiëren door naar de volgende demo te kijken.

David O'Brien (Xirus): Statistieken! Statistieken! Statistieken! Deel 1

Bovendien is het mogelijk om deze statistieken naar applicaties van derden te sturen, zoals het Splunk-logopslag- en analysesysteem, de cloudgebaseerde logbeheerapplicatie SumoLogic, de ELK-logverwerkingstool en IBM Radar. Het is waar dat er kleine verschillen zijn die afhankelijk zijn van de bronnen die u gebruikt: een virtuele machine, netwerkservices, Azure SQL-databases, dat wil zeggen dat het gebruik van statistieken verschilt afhankelijk van de functies van uw werkomgeving. Ik zal niet zeggen dat deze verschillen ernstig zijn, maar helaas zijn ze nog steeds aanwezig, en daar moet rekening mee worden gehouden. Het inschakelen en verzenden van statistieken is op verschillende manieren mogelijk: via Portal, CLI/Power Shell of met behulp van ARM-sjablonen.

David O'Brien (Xirus): Statistieken! Statistieken! Statistieken! Deel 1

Voordat ik aan mijn eerste demo begin, beantwoord ik al uw vragen. Als er geen vragen zijn, gaan we aan de slag. Op het scherm ziet u hoe de Azure Monitor-pagina eruit ziet. Kan iemand van jullie zeggen dat deze monitor niet werkt?

David O'Brien (Xirus): Statistieken! Statistieken! Statistieken! Deel 1

Dus nu is alles in orde, je kunt zien hoe de monitorservices eruit zien. Ik kan zeggen dat dit een uitstekend en zeer eenvoudig hulpmiddel is voor het dagelijkse werk. Het kan worden gebruikt om applicaties, netwerken en infrastructuur te monitoren. Onlangs is de monitoringinterface verbeterd en waar voorheen services zich op verschillende plaatsen bevonden, wordt nu alle informatie over services geconsolideerd op de startpagina van de monitor.

De tabel met statistieken is een tabblad langs het HomeMonitorMetrics-pad, waar u naartoe kunt gaan om alle beschikbare statistieken te bekijken en de statistieken te selecteren die u nodig heeft. Maar als u het verzamelen van metrische gegevens moet inschakelen, moet u het mappad van de HomeMonitorDiagnostic-instellingen gebruiken en de selectievakjes Ingeschakelde/Uitgeschakelde metrische gegevens aanvinken. Standaard zijn bijna alle statistieken ingeschakeld, maar als u iets extra's moet inschakelen, moet u de diagnostische status wijzigen van Uitgeschakeld in Ingeschakeld.

David O'Brien (Xirus): Statistieken! Statistieken! Statistieken! Deel 1

Om dit te doen, klikt u op de regel van de geselecteerde metriek en schakelt u op het geopende tabblad de diagnostische modus in. Als u de geselecteerde metriek gaat analyseren, moet u, nadat u op de link Diagnostische gegevens inschakelen hebt geklikt, het selectievakje Verzenden naar Log Analytics in het venster dat verschijnt aanvinken.

David O'Brien (Xirus): Statistieken! Statistieken! Statistieken! Deel 1

Log Analytics lijkt een beetje op Splunk, maar kost minder. Met deze service kunt u al uw statistieken, logboeken en al het andere dat u nodig heeft verzamelen en in de Log Analytics-werkruimte plaatsen. De service maakt gebruik van een speciale KQL-queryverwerkingstaal - Kusto Quarry Language, we zullen het werk ervan in de volgende demo bekijken. Voor nu merk ik op dat je met zijn hulp vragen kunt maken over statistieken, logboeken, termen, trends, patronen, enz. en dashboards maken.

We vinken dus het selectievakje Verzenden naar Log Analytics en de selectievakjes van het LOG-paneel aan: DataPlaneRequests, MongoRequests en QueryRuntimeStatistics, en hieronder in het METRIC-paneel: het selectievakje Verzoeken. Vervolgens wijzen we een naam toe en slaan we de instellingen op. Op de opdrachtregel vertegenwoordigt dit twee regels code. Overigens lijkt de Azure Cloud-shell in die zin op Google, waarmee je ook de opdrachtregel in je webbrowser kunt gebruiken. AWS heeft zoiets niet, dus Azure is in die zin veel handiger.

Ik kan bijvoorbeeld een demo uitvoeren via de webinterface zonder code op mijn laptop te gebruiken. Om dit te doen, moet ik mij authenticeren met mijn Azure-account. Dan kun je bijvoorbeeld terrafone gebruiken, als je dat al gebruikt, wachten op de verbinding met de dienst en krijg je de Linux-werkomgeving die Microsoft standaard gebruikt.

David O'Brien (Xirus): Statistieken! Statistieken! Statistieken! Deel 1

Vervolgens gebruik ik Bash, ingebouwd in de Azure Cloud Shell. Een heel handig ding is de IDE die in de browser is ingebouwd, een lichtgewicht versie van VS Code. Vervolgens kan ik naar mijn sjabloon voor foutstatistieken gaan, deze bewerken en aanpassen aan mijn behoeften.

David O'Brien (Xirus): Statistieken! Statistieken! Statistieken! Deel 1

Nadat u de verzameling van metrische gegevens in deze sjabloon heeft ingesteld, kunt u deze gebruiken om metrische gegevens voor uw gehele infrastructuur te maken. Nadat we de statistieken hebben toegepast, verzameld en opgeslagen, moeten we ze visualiseren.

David O'Brien (Xirus): Statistieken! Statistieken! Statistieken! Deel 1

Azure Monitor houdt zich alleen bezig met metrische gegevens en geeft geen algemeen beeld van de gezondheid van uw systeem. Mogelijk hebt u een aantal andere toepassingen buiten de Azure-omgeving. Als je dus alle processen moet monitoren en alle verzamelde metrics op één plek moet visualiseren, dan is Azure Monitor hier niet geschikt voor.

Om dit probleem op te lossen biedt Microsoft de Power BI-tool aan, een uitgebreide software voor bedrijfsanalyse die de visualisatie van een grote verscheidenheid aan gegevens omvat. Dit is een vrij duur product, waarvan de kosten afhangen van de reeks functies die u nodig heeft. Het biedt u standaard 48 soorten gegevens om te verwerken en is gekoppeld aan Azure SQL Data Warehouses, Azure Data Lake Storage, Azure Machine Learning Services en Azure Databricks. Dankzij schaalbaarheid kunt u elke 30 minuten nieuwe gegevens ontvangen. Dit kan wel of niet voldoende zijn voor uw behoeften als u real-time monitoringvisualisatie nodig heeft. In dit geval wordt het aanbevolen om applicaties te gebruiken zoals de Grafana die ik noemde. Bovendien beschrijft Microsoft-documentatie de mogelijkheid om met behulp van SIEM-tools statistieken, logs en gebeurtenistabellen te verzenden naar de visualisatiesystemen Splunk, SumoLogic, ELK en IBM-radar.

23:40 min

Wordt zeer binnenkort vervolgd...

Sommige advertenties 🙂

Bedankt dat je bij ons bent gebleven. Vind je onze artikelen leuk? Wil je meer interessante inhoud zien? Steun ons door een bestelling te plaatsen of door vrienden aan te bevelen, cloud VPS voor ontwikkelaars vanaf $ 4.99, een unieke analoog van servers op instapniveau, die door ons voor u is uitgevonden: De hele waarheid over VPS (KVM) E5-2697 v3 (6 kernen) 10 GB DDR4 480 GB SSD 1 Gbps vanaf $ 19 of hoe een server te delen? (beschikbaar met RAID1 en RAID10, tot 24 cores en tot 40GB DDR4).

Dell R730xd 2x goedkoper in Equinix Tier IV datacenter in Amsterdam? Alleen hier 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV vanaf $199 in Nederland! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - vanaf $99! Lees over Hoe infrastructuur corp te bouwen. klasse met het gebruik van Dell R730xd E5-2650 v4-servers ter waarde van 9000 euro voor een cent?

Bron: www.habr.com

Voeg een reactie