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

Onlangs heeft David O’Brien zijn eigen bedrijf Xirus (https://xirus.com.au) opgericht, gericht op cloudproducten van Microsoft Azure Stack. Deze producten zijn ontworpen voor het coherente creĆ«ren en lanceren van hybride applicaties in datacenters, op randlocaties, in externe kantoren en in de cloud.

David leert individuen en bedrijven alles wat met Microsoft Azure en Azure DevOps (voorheen VSTS) te maken heeft en is nog steeds actief als praktische consultant en infrastructuurcodeerder. Hij is al 5 jaar Microsoft MVP (Meest Waardevolle Professional van Microsoft) en heeft onlangs de MVP Azure-award ontvangen. Als mede-organisator van de Melbourne Microsoft Cloud en Datacentre Meetup spreekt O’Brien regelmatig op internationale conferenties, waarbij hij zijn interesse in wereldreizen combineert met zijn passie om IT-verhalen met de gemeenschap te delen. David's blog is te vinden op david-obrien.net, hij publiceert ook zijn online trainingen via Pluralsight.

In de presentatie wordt het belang van metrics besproken om te begrijpen wat er in uw omgeving gebeurt en hoe uw applicatie functioneert. Microsoft Azure biedt een krachtige en eenvoudige manier om metrics weer te geven voor alle soorten workloads, en in de lezing wordt besproken hoe u deze allemaal kunt gebruiken.

Om 3 uur ’s nachts, op zondag, word je plotseling wakker door een tekstbericht: ā€œkritische applicatie reageert weer nietā€. Wat is er aan de hand? Waar ligt de oorzaak van de ā€˜vertragingen’? In deze presentatie leert u over de diensten die Microsoft Azure klanten biedt voor het verzamelen van logs en, in het bijzonder, metrics van uw cloud workloads. David legt uit welke metrics belangrijk voor u zijn bij het werken op een cloudplatform en hoe u deze kunt bereiken. U leert over tools met open-source en het opbouwen van dashboards, en krijgt daardoor voldoende kennis om uw eigen dashboards te creĆ«ren.

En als u om 3 uur ’s nachts weer wakker wordt door een melding over de uitval van een kritische applicatie, kunt u snel de oorzaak achterhalen.

Goedemiddag, vandaag gaan we het hebben over metrics. Mijn naam is David O'Brien, ik ben medeoprichter en eigenaar van een klein Australisch adviesbureau genaamd Xirus. Nogmaals bedankt dat u hier bent om uw tijd met mij door te brengen. Dus, waarom zijn we hier? Om het te hebben over metrics; eigenlijk ga ik u hierover vertellen, en voordat we bepaalde dingen gaan doen, beginnen we met de theorie.

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

Ik ga uitleggen wat metrics zijn, wat je ermee kunt doen, waar je op moet letten, hoe je metrics kunt verzamelen en deze in Azure kunt integreren, en wat metrics visualisatie inhoudt. Ik zal u laten zien hoe deze zaken eruit zien in de Microsoft cloud en hoe je met deze cloud kunt werken.

Voordat we beginnen, vraag ik iedereen die Microsoft Azure gebruikt om de hand op te steken. En wie werkt met AWS? Ik zie, niet veel. En met Google? ALI Cloud? EƩn persoon! Geweldig. Dus, wat zijn metrics? De officiƫle definitie van het National Institute of Standards and Technology van de VS is als volgt: "Een metric is een meetstandaard die de omstandigheden en regels beschrijft waaronder een bepaalde eigenschap wordt gemeten en die helpt bij het begrijpen van de meetresultaten." Wat betekent dat?

Laten we als voorbeeld een metric bekijken voor het veranderen van de vrije schijfruimte van een virtuele machine. Stel dat we het getal 90 krijgen, en dit getal betekent procenten, dat wil zeggen dat het volume van de vrije schijfruimte 90% bedraagt. Ik merk op dat het niet al te interessant is om een beschrijving van de definitie van metrics te lezen, die 40 pagina's in pdf-formaat beslaat.

Maar de metric zegt niet hoe het meetresultaat tot stand is gekomen, het toont alleen het resultaat. Wat doen we dan met metrics?

Ten eerste meten we de waarde van iets om het resultaat van die meting vervolgens te gebruiken.

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

Bijvoorbeeld, we hebben de hoeveelheid vrije schijfruimte geleerd en kunnen deze nu gebruiken, deze opslag gebruiken, enzovoorts. Nadat we het resultaat van de metriek hebben gekregen, moeten we het interpreteren. Bijvoorbeeld, de metriek toont een resultaat van 90. We moeten weten wat dit getal betekent: de hoeveelheid vrije ruimte of de hoeveelheid gebruikte schijfruimte in procenten of gigabytes, netwerklatentie van 90 ms, enzovoorts, dat wil zeggen dat we de betekenis van de metriek moeten begrijpen. Om metrics überhaupt zinvol te maken, moeten we na de interpretatie van één metriekwaarde ervoor zorgen dat we een verzameling waarden verzamelen. Dit is zeer belangrijk, aangezien veel mensen zich niet bewust zijn van de noodzaak om metrics te verzamelen. Microsoft heeft het proces van het verkrijgen van metrics heel eenvoudig gemaakt, maar u moet zelf voor de verzameling zorgen. Deze metrics worden slechts 41 dagen bewaard en op de 42e dag verdwijnen ze. Daarom moet u afhankelijk van de eigenschappen van uw externe of interne apparatuur zorgen voor het opslaan van metrics langer dan 41 dagen, bijvoorbeeld in de vorm van logs, dagboeken, enzovoorts. Dus na de verzameling moet u ze op een plek plaatsen waar u desgewenst de volledige statistieken van de veranderingen in de metrics kunt ophalen. Door ze daar te plaatsen, kunt u effectief met ze aan de slag.

Pas nadat u de waarden van de metrics hebt ontvangen, deze hebt geïnterpreteerd en verzameld, kunt u een SLA opstellen - een service level agreement. Deze SLA heeft mogelijk geen bijzonder belang voor uw klanten, het is belangrijker voor uw collega's, managers, degenen die de werking van het systeem waarborgen en zich zorgen maken over de functionaliteit ervan. De metriek kan het aantal tickets meten - bijvoorbeeld, u ontvangt 5 tickets per dag, en in dit geval laat het de reactietijd op gebruikersverzoeken en de snelheid van probleemoplossing zien. De metriek zou niet alleen moeten aangeven dat uw site in 20 ms laadt of dat de reactietijd 20 ms is, de metriek is meer dan alleen één technische indicator.

Daarom is het doel van ons gesprek om u een uitgebreid overzicht te geven van de essentie van metrics. Een metriek dient om, door ernaar te kijken, u een volledig beeld te geven van het proces.

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

Zodra we de metrics hebben ontvangen, kunnen we voor 99% garanderen dat het systeem goed functioneert, omdat het niet gewoon een blik is op een logbestand waarin staat dat het systeem werkt. Een garantie van 99% beschikbaarheid betekent bijvoorbeeld dat de API in 99% van de gevallen normaal reageert binnen 30 ms. Dit is precies wat uw gebruikers, collega's en managers interesseert. Veel van onze klanten volgen de logs van webservers, maar ze merken geen fouten op en denken dat alles in orde is. Bijvoorbeeld, ze zien een netwerksnelheid van 200 mb/s en denken: 'okƩ, alles is perfect!'. Maar om die 200 te behalen, hebben gebruikers een responssnelheid van 30 milliseconden nodig, en dat is de metric die niet gemeten wordt en niet verzameld wordt in logbestanden. Gebruikers zijn vervolgens verbaasd dat de website heel traag laadt, omdat ze zonder de juiste metrics niet begrijpen waarom dit gedrag zich voordoet.

Maar omdat we een SLA hebben die 100% beschikbaarheid garandeert, beginnen klanten zich te uiten over hun onvrede, omdat de website in werkelijkheid erg moeilijk bruikbaar is. Daarom is het noodzakelijk om een objectieve SLA op te stellen door het volledige proces te zien, dat wordt gecreƫerd door de verzamelde metrics. Dit is onderwerp van mijn voortdurende discussie met sommige providers, die bij het opstellen van een SLA niet begrijpen wat de term "uptime" betekent en in de meeste gevallen niet uitleggen aan hun klanten hoe hun API werkt.

Als u een service heeft gemaakt, bijvoorbeeld een API voor derden, moet u begrijpen wat de ontvangen metric van 39,5 betekent – een succesvolle respons, een respons met een snelheid van 20 ms of met een snelheid van 5 ms. U moet hun SLA afstemmen op uw eigen SLA, op uw eigen metrics.

Als u dit alles hebt uitgezocht, kunt u beginnen met het creƫren van een prachtige monitoringdashboard. Zeg, heeft iemand al het Grafana-app gebruikt voor interactieve visualisatie? Geweldig! Ik ben een grote fan van deze open source, omdat deze gratis is en eenvoudig te gebruiken.

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

Als je nog nooit met Grafana hebt gewerkt, zal ik je vertellen hoe je ermee aan de slag kunt. Wie in de jaren '80 en '90 is geboren, herinnert zich misschien de zorgzame CareBears? Ik weet niet hoe populair deze teddyberen in Rusland waren, maar als het gaat om metrics moeten we net zo zorgzaam zijn als deze 'teddyberen'. Zoals ik al zei, je hebt een uitgebreid overzicht nodig van de werking van het hele systeem, en dit mag niet alleen over je API, je website of de service die op een virtuele machine draait gaan.

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

Je moet het verzamelen van die metrics organiseren die de werking van het hele systeem het meest volledig weerspiegelen. De meesten van jullie zijn softwareontwikkelaars, dus je leven verandert voortdurend, aangepast aan de nieuwe productvereisten, en net zoals je je zorgen maakt over het coderingsproces, moet je je ook om de metrics bekommeren. Je moet begrijpen hoe de metrics betrekking hebben op elke regel code die je schrijft. Bijvoorbeeld, volgende week begin je een nieuwe marketingcampagne en verwacht je dat je website veel bezoekers krijgt. Voor de analyse van dit evenement heb je metrics nodig en misschien heb je wel een heel dashboard nodig om de activiteit van deze mensen te volgen. Metrics zijn nodig om te begrijpen hoe succesvol je marketingcampagne is en hoe deze daadwerkelijk werkt. Ze kunnen je bijvoorbeeld helpen bij het ontwikkelen van een effectieve CRM - systeem voor klantrelatiebeheer.

Dus laten we beginnen met onze cloudservice Azure. Het is heel eenvoudig om metrics te vinden en te organiseren, omdat er Azure Monitor is. Deze monitor centraliseert het beheer van de configuratie van je systeem. Elk element van Azure dat je in je systeem wilt toepassen, heeft tal van standaard ingeschakelde metrics. Dit is een gratis applicatie die direct 'uit de doos' werkt en geen voorafgaande instellingen vereist, je hoeft niets te schrijven of aan je systeem te koppelen. We zullen dit bevestigen door naar de volgende demo te kijken.

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

Bovendien is het mogelijk om deze metrics naar externe applicaties te sturen, zoals het logopslagsysteem en analysetool Splunk, de cloudapplicatie voor logbeheer SumoLogic, de logverwerkingshulpmiddel ELK, IBM Radar. Er zijn echter enkele kleine verschillen die afhangen van de bronnen die u gebruikt - virtuele machines, netwerkservices, Azure SQL-databases, wat betekent dat het gebruik van metrics varieert afhankelijk van de functies van uw werkomgeving. Ik kan niet zeggen dat deze verschillen significant zijn, maar helaas zijn ze er wel, en dat is iets om rekening mee te houden. Het inschakelen en verzenden van metrics kan op verschillende manieren: via het Portal, CLI/PowerShell of met behulp van ARM-sjablonen.

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

Voordat we met de eerste demonstratie beginnen, beantwoord ik graag uw vragen. Als er geen vragen zijn, laten we beginnen. Op het scherm ziet u hoe de pagina Azure Monitor eruitziet. Kan iemand van u zeggen dat deze monitor niet werkt?

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

Dus, nu is alles in orde, u ziet hoe de monitor services eruitzien. Ik kan zeggen dat dit een uitstekende en zeer eenvoudige tool is voor dagelijks gebruik. Hiermee kunt u applicaties, netwerken en infrastructuur monitoren. Onlangs is de monitorinterface verbeterd, en als voorheen de services op verschillende plaatsen waren gepositioneerd, wordt nu alle informatie over de services geconsolideerd op de startpagina van de monitor.

De metrics-tabel is een tabblad onder HomeMonitorMetrics, waar u naartoe kunt gaan om alle beschikbare metrics te zien en de benodigde te selecteren. Maar als u het verzamelen van metrics wilt inschakelen, moet u het pad naar de map HomeMonitorDiagnostic settings gebruiken en de checkboxen voor metrics Enabled/Disabled controleren. Bij default zijn vrijwel alle metrics ingeschakeld, maar als u iets extra's wilt inschakelen, moet u de diagnose-instelling wijzigen van Disabled naar Enabled.

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

Hiervoor moet u op de rij van de geselecteerde metric klikken en op het geopende tabblad de diagnose-modus inschakelen. Als u de geselecteerde metric wilt analyseren, moet u na het klikken op de link Turn on diagnostic het checkbox Send to Log Analytics in het verschenen venster aanvinken.

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

Log Analytics lijkt een beetje op Splunk, maar is goedkoper. Deze service maakt het mogelijk om al uw statistieken, logboeken en alles wat u nodig heeft te verzamelen en te plaatsen in de Log Analytics-werkruimte. De service gebruikt een speciale query-taal, KQL – Kusto Query Language, die we in de volgende demo zullen behandelen. Voor nu wil ik opmerken dat u hiermee queries kunt samenstellen voor statistieken, logboeken, termen, trends, patronen, enzovoort, en dashboards kunt maken.

Dus we markeren het selectievakje 'Send to Log Analytics' en de selectievakjes op het LOG-paneel: DataPlaneRequests, MongoRequests en QueryRuntimeStatistics, en onder het METRIC-paneel – het selectievakje Requests. Vervolgens geven we een naam op en slaan we de instellingen op. In de opdrachtregel komt dit neer op twee regels code. Overigens lijkt de Azure Cloud-shell in dit opzicht op Google, dat ook een opdrachtregel in uw webbrowser toestaat. AWS heeft niets dergelijks, dus Azure is hierin veel gebruiksvriendelijker.

Bijvoorbeeld, ik kan een demo starten via de webinterface, zonder daarvoor enige code op mijn laptop te gebruiken. Hiervoor moet ik inloggen met mijn Azure-account. Vervolgens kan ik bijvoorbeeld terrafone gebruiken, als u die al gebruikt, wachten op de connectie met de service en een werkruimte Linux verkrijgen, die Microsoft standaard gebruikt.

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

Daarna gebruik ik Bash, ingebouwd in Azure Cloud Shell. Een zeer nuttige functie is de ingebouwde IDE in de browser, een vereenvoudigde versie van VS Code. Vervolgens kan ik mijn foutstatistiekssjabloon openen, het aanpassen en inrichten naar mijn behoeften.

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

Door het verzamelen van statistieken in dit sjabloon in te stellen, kunt u het toepassen om statistieken voor uw hele infrastructuur te creƫren. Nadat we statistieken hebben toegepast, verzameld en opgeslagen, moeten we deze visualiseren.

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

Azure Monitor houdt zich alleen bezig met statistieken en biedt geen mogelijkheid voor een totaaloverzicht van de status van uw systeem. U kunt een aantal andere applicaties hebben die buiten de Azure-omgeving draaien. Dus als u alle processen wilt monitoren en alle verzamelde statistieken op ƩƩn plek wilt visualiseren, dan is Azure Monitor daarvoor niet geschikt.

Voor deze taak biedt Microsoft de tool Power BI aan - een uitgebreide software voor bedrijfsanalyse, inclusief de visualisatie van de meest uiteenlopende gegevens. Het is een behoorlijk kostbaar product, waarvan de prijs afhangt van de gewenste functieset. Standaard biedt het 48 soorten verwerkte gegevens en is het gekoppeld aan SQL Azure-databases, Azure Data Lake Storage, Azure Machine Learning-services en Azure Databricks. Door de schaalbaarheid kunt u elke 30 minuten nieuwe gegevens ontvangen. Dit kan voldoende zijn voor uw behoeften of niet, als u real-time monitoringvisualisatie nodig heeft. In dat geval wordt het gebruik van applicaties zoals het genoemde Grafana aanbevolen. Bovendien beschrijft de documentatie van Microsoft de mogelijkheid om metrics, logs en gebeurtenistabellen te verzenden met behulp van SIEM - tools naar visualisatiesystemen zoals Splunk, SumoLogic, ELK en IBM Radar.

23:40 min

De voortzetting volgt zeer binnenkort...

Video afspelen

Een beetje reclame šŸ™‚

Bedankt dat je bij ons blijft. Houd je van onze artikelen? Wil je meer interessante inhoud zien? Ondersteun ons door een bestelling te plaatsen of ons aan vrienden aan te bevelen, cloud VPS voor ontwikkelaars vanaf $4,99, een unieke variant van entry-level servers, die we voor jou hebben bedacht: De waarheid over VPS (KVM) E5-2697 v3 (6 Kernen) 10GB DDR4 480GB SSD 1Gbps vanaf $19 of hoe deel je een server correct? (opties beschikbaar met RAID1 en RAID10, tot 24 cores en tot 40GB DDR4).

Dell R730xd is 2 keer goedkoper in datacenter Equinix Tier IV in Amsterdam? Alleen bij ons 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100TB vanaf $199 in Nederland! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — vanaf $99! Lees over hoe je een infrastructuur van bedrijfsniveau kunt opbouwen met Dell R730xd E5-2650 v4 servers die wel €9000 kosten voor een prikkie?

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster