Delen via


Azure Monitor

Tip

Deze inhoud is een fragment uit het eBook, Cloud Native .NET Applications for Azure ontwerpen, beschikbaar op .NET Docs of als een gratis downloadbare PDF die offline kan worden gelezen.

Cloud Native .NET apps for Azure eBook cover thumbnail.

Geen andere cloudprovider heeft een cloudtoepassingsbewakingsoplossing ontwikkeld dan die in Azure is gevonden. Azure Monitor is een overkoepelende naam voor een verzameling hulpprogramma's die zijn ontworpen om inzicht te krijgen in de status van uw systeem. Het helpt u te begrijpen hoe uw cloudeigen services presteren en proactief problemen identificeren die van invloed zijn op deze services. Afbeelding 7-12 toont een hoog niveau van weergave van Azure Monitor.

High-level view of Azure Monitor.Afbeelding 7-12. Weergave op hoog niveau van Azure Monitor.

Logboeken en metrische gegevens verzamelen

De eerste stap in een bewakingsoplossing is het verzamelen van zoveel mogelijk gegevens. Hoe meer gegevens zijn verzameld, hoe dieper de inzichten. Instrumentatiesystemen zijn traditioneel moeilijk geweest. Simple Network Management Protocol (SNMP) was het gouden standaardprotocol voor het verzamelen van informatie op machineniveau, maar het vereist veel kennis en configuratie. Gelukkig is veel van dit harde werk geëlimineerd omdat de meest voorkomende metrische gegevens automatisch worden verzameld door Azure Monitor.

Metrische gegevens en gebeurtenissen op toepassingsniveau kunnen niet automatisch worden geïnstrueerd omdat ze specifiek zijn voor de toepassing die wordt geïmplementeerd. Om deze metrische gegevens te verzamelen, zijn er SDK's en API's beschikbaar om dergelijke informatie rechtstreeks te rapporteren, bijvoorbeeld wanneer een klant zich registreert of een bestelling voltooit. Uitzonderingen kunnen ook worden vastgelegd en gerapporteerd in Azure Monitor via Application Insights. De SDK's ondersteunen de meeste talen in cloudeigen toepassingen, waaronder Go, Python, JavaScript en de .NET-talen.

Het ultieme doel van het verzamelen van informatie over de status van uw toepassing is ervoor te zorgen dat uw eindgebruikers een goede ervaring hebben. Wat is een betere manier om te vertellen of gebruikers problemen ondervinden dan het uitvoeren van externe webtests? Deze tests kunnen net zo eenvoudig zijn als het pingen van uw website vanaf locaties over de hele wereld of als betrokken bij het aanmelden van agents bij de site en het simuleren van gebruikersacties.

Rapportagegegevens

Zodra de gegevens zijn verzameld, kunnen ze worden bewerkt, samengevat en weergegeven in grafieken, zodat gebruikers direct kunnen zien wanneer er problemen zijn. Deze grafieken kunnen worden verzameld in dashboards of in Werkmappen, een rapport met meerdere pagina's dat is ontworpen om een verhaal over een bepaald aspect van het systeem te vertellen.

Er is geen moderne toepassing zonder kunstmatige intelligentie of machine learning. Hiervoor kunnen gegevens worden doorgegeven aan de verschillende machine learning-hulpprogramma's in Azure, zodat u trends en informatie kunt extraheren die anders verborgen zouden zijn.

Application Insights biedt een krachtige (SQL-achtige) querytaal met de naam Kusto waarmee records kunnen worden opgevraagd, samengevat en zelfs grafieken kunnen worden getekend. De volgende query zoekt bijvoorbeeld alle records voor de maand november 2007, groepeert ze op status en tekent de top 10 uit als een cirkeldiagram.

StormEvents
| where StartTime >= datetime(2007-11-01) and StartTime < datetime(2007-12-01)
| summarize count() by State
| top 10 by count_
| render piechart

In afbeelding 7-13 ziet u de resultaten van deze Application Insights-query.

Application Insights query resultsAfbeelding 7-13. Application Insights-queryresultaten.

Er is een speeltuin voor het experimenteren met Kusto-query's . Het lezen van voorbeeldquery's kan ook instructief zijn.

Dashboards

Er zijn verschillende dashboardtechnologieën die kunnen worden gebruikt om de informatie van Azure Monitor weer te geven. Misschien is het eenvoudigst om alleen query's uit te voeren in Application Insights en de gegevens in een grafiek uit te zetten.

An example of Application Insights charts embedded in the main Azure DashboardAfbeelding 7-14. Een voorbeeld van Application Insights-grafieken die zijn ingesloten in het hoofddashboard van Azure.

Deze grafieken kunnen vervolgens worden ingesloten in Azure Portal door gebruik te maken van de dashboardfunctie. Voor gebruikers met preciezere vereisten, zoals het kunnen inzoomen op verschillende gegevenslagen, zijn Azure Monitor-gegevens beschikbaar voor Power BI. Power BI is een toonaangevende, toonaangevende business intelligence tool die gegevens uit veel verschillende gegevensbronnen kan aggregeren.

An example Power BI dashboard

Afbeelding 7-15. Een voorbeeld van een Power BI-dashboard.

Waarschuwingen

Soms is het onvoldoende om gegevensdashboards te hebben. Als niemand wakker is om de dashboards te bekijken, kan het nog steeds veel uren duren voordat een probleem wordt opgelost of zelfs gedetecteerd. Hiervoor biedt Azure Monitor ook een belangrijke oplossing voor waarschuwingen. Waarschuwingen kunnen worden geactiveerd door een breed scala aan voorwaarden, waaronder:

  • Metrische waarden
  • Query's voor zoeken in logboeken
  • Gebeurtenissen in activiteitenlogboek
  • Status van het onderliggende Azure-platform
  • Tests voor beschikbaarheid van websites

Wanneer deze worden geactiveerd, kunnen de waarschuwingen een groot aantal taken uitvoeren. Aan de eenvoudige kant kunnen de waarschuwingen alleen een e-mailmelding verzenden naar een adressenlijst of een sms-bericht naar een persoon. Meer betrokken waarschuwingen kunnen een werkstroom activeren in een hulpprogramma, zoals PagerDuty, dat op de hoogte is van wie er een bepaalde toepassing nodig heeft. Waarschuwingen kunnen acties activeren in Microsoft Flow die bijna onbeperkte mogelijkheden voor werkstromen ontgrendelen.

Aangezien veelvoorkomende oorzaken van waarschuwingen worden geïdentificeerd, kunnen de waarschuwingen worden uitgebreid met details over de veelvoorkomende oorzaken van de waarschuwingen en de stappen die moeten worden uitgevoerd om deze op te lossen. Zeer volwassen cloudeigen toepassingsimplementaties kunnen ervoor kiezen om zelfhersteltaken uit te voeren, waarmee acties worden uitgevoerd, zoals het verwijderen van mislukte knooppunten uit een schaalset of het activeren van een activiteit voor automatisch schalen. Uiteindelijk kan het niet langer nodig zijn om personeel om 2:00 uur wakker te maken om een live-siteprobleem op te lossen, omdat het systeem zichzelf kan aanpassen om te compenseren of ten minste langs te slapen totdat iemand de volgende ochtend op het werk aankomt.

Azure Monitor maakt automatisch gebruik van machine learning om inzicht te hebben in de normale operationele parameters van geïmplementeerde toepassingen. Met deze methode kunnen services worden gedetecteerd die buiten hun normale parameters werken. Het typische weekdagverkeer op de site kan bijvoorbeeld 10.000 aanvragen per minuut zijn. En dan, op een bepaalde week, plotseling raakt het aantal aanvragen een zeer ongebruikelijke 20.000 aanvragen per minuut. Slimme detectie ziet deze afwijking van de norm en activeert een waarschuwing. Tegelijkertijd is de trendanalyse slim genoeg om fout-positieven te voorkomen wanneer de verkeersbelasting wordt verwacht.

Verwijzingen