Bewaking van webtoepassingen op Azure

Azure App Service
Azure Log Analytics
Azure Monitor

In dit scenario worden de bewakingsservices beschreven die u kunt gebruiken en beschrijft een gegevensstroommodel voor gebruik met meerdere gegevensbronnen. Als het gaat om bewaking, werken veel hulpprogramma's en services met Azure-implementaties. In dit scenario kiezen we direct beschikbare services, precies omdat ze gemakkelijk te gebruiken zijn. Verderop in dit artikel worden andere bewakingsopties besproken.

Architectuur

Een Visio-bestand van deze architectuur downloaden.

Gegevensstroom

In dit scenario wordt een beheerde Azure-omgeving gebruikt om een toepassing en gegevenslaag te hosten. De gegevens stromen als volgt door het scenario:

  1. Een gebruiker communiceert met de toepassing.
  2. De browser en app-service verzenden telemetrie.
  3. Application Insights verzamelt en analyseert toepassingsstatus, prestaties en gebruiksgegevens.
  4. Ontwikkelaars en beheerders kunnen de status, prestaties en gebruiksgegevens bekijken.
  5. Azure SQL Database verzendt telemetrie.
  6. Azure Monitor verzamelt en analyseert metrische gegevens en quota voor de infrastructuur.
  7. Log Analytics verzamelt en analyseert logboeken en metrische gegevens.
  8. Ontwikkelaars en beheerders kunnen de status, prestaties en gebruiksgegevens bekijken.

Onderdelen

  • Azure-app Service is een PaaS-service voor het bouwen en hosten van apps in beheerde virtuele machines. De onderliggende rekeninfrastructuren waarop uw apps worden uitgevoerd, worden voor u beheerd. App Service biedt bewaking van quota voor resourcegebruik en metrische gegevens van apps, logboekregistratie van diagnostische gegevens en waarschuwingen op basis van metrische gegevens. Nog beter, u kunt Application Insights gebruiken om beschikbaarheidstests te maken voor het testen van uw toepassing vanuit verschillende regio's.
  • Application Insights is een uitbreidbare APM-service (Application Performance Management) voor ontwikkelaars en ondersteunt meerdere platforms. De toepassing wordt bewaakt, toepassingsafwijkingen gedetecteerd, zoals slechte prestaties en fouten, en telemetrie verzonden naar Azure Portal. Application Insights kan ook worden gebruikt voor logboekregistratie, gedistribueerde tracering en aangepaste metrische toepassingsgegevens.
  • Azure Monitor biedt metrische gegevens en logboeken op basisniveau voor de meeste services in Azure. U kunt op verschillende manieren communiceren met de metrische gegevens, zoals ze in de Azure-portal in kaart brengen, openen via de REST API of query's uitvoeren met behulp van PowerShell of CLI. Azure Monitor biedt ook rechtstreeks gegevens aan in Log Analytics en andere services, waar u deze kunt opvragen en combineren met gegevens uit andere on-premises bronnen of in de cloud.
  • Log Analytics helpt bij het correleren van de gebruiks- en prestatiegegevens die door Application Insights worden verzameld met configuratie- en prestatiegegevens in de Azure-resources die ondersteuning bieden voor de app. In dit scenario wordt de Azure Log Analytics-agent gebruikt om SQL Server-auditlogboeken naar Log Analytics te pushen. U kunt query's schrijven en gegevens weergeven op de blade Log Analytics van Azure Portal.

Scenariodetails

PaaS-aanbiedingen (Platform as a Service) van Azure beheren rekenresources voor u en beïnvloeden hoe u implementaties bewaakt. Azure bevat meerdere bewakingsservices, die elk een specifieke rol uitvoeren. Samen bieden deze services een uitgebreide oplossing voor het verzamelen, analyseren en uitvoeren van telemetrie van uw toepassingen en de Azure-resources die ze gebruiken.

In dit scenario worden de bewakingsservices beschreven die u kunt gebruiken en beschrijft een gegevensstroommodel voor gebruik met meerdere gegevensbronnen. Als het gaat om bewaking, werken veel hulpprogramma's en services met Azure-implementaties. In dit scenario kiezen we direct beschikbare services, precies omdat ze gemakkelijk te gebruiken zijn. Verderop in dit artikel worden andere bewakingsopties besproken.

Potentiële gebruikscases

Andere relevante use cases zijn:

  • Een webtoepassing instrumenteren voor het bewaken van telemetrie.
  • Het verzamelen van front-end- en back-endtelemetriegegevens voor een toepassing die is geïmplementeerd in Azure.
  • Bewaking van metrische gegevens en quota die zijn gekoppeld aan services in Azure.

Overwegingen

Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd. Dit is een set richtlijnen die kunnen worden gebruikt om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Framework voor meer informatie.

Operationele uitmuntendheid

Operationele uitmuntendheid omvat de operationele processen die een toepassing implementeren en deze in productie houden. Zie Overzicht van de operationele uitmuntendheidpijler voor meer informatie.

Controleren

Een aanbevolen procedure is het toevoegen van Application Insights aan uw code tijdens de ontwikkeling met behulp van de Application Insights SDK's en het aanpassen per toepassing. Deze opensource-SDK's zijn beschikbaar voor de meeste toepassingsframeworks. Als u de gegevens die u verzamelt wilt verrijken en beheren, neemt u het gebruik van de SDK's op voor het testen en produceren van implementaties in uw ontwikkelproces. De belangrijkste vereiste is dat de app een directe of indirecte detectielijn heeft voor het Application Insights-opname-eindpunt dat wordt gehost met een internetgericht adres. Vervolgens kunt u telemetrie toevoegen of een bestaande telemetrieverzameling verrijken.

Runtimebewaking is een andere eenvoudige manier om aan de slag te gaan. De verzamelde telemetrie moet worden beheerd via configuratiebestanden. U kunt bijvoorbeeld runtimemethoden opnemen waarmee hulpprogramma's zoals Application Insights Status Monitor de SDK's in de juiste map kunnen implementeren en de juiste configuraties toevoegen om te beginnen met bewaken.

Net als Application Insights biedt Log Analytics hulpprogramma's voor het analyseren van gegevens in verschillende bronnen, het maken van complexe query's en het verzenden van proactieve waarschuwingen voor opgegeven voorwaarden. U kunt ook telemetrie bekijken in Azure Portal. Log Analytics voegt waarde toe aan bestaande bewakingsservices zoals Azure Monitor en kan ook on-premises omgevingen bewaken.

Zowel Application Insights als Log Analytics maken gebruik van Azure Log Analytics Query Language. U kunt ook query's voor meerdere resources gebruiken om de telemetrie te analyseren die door Application Insights en Log Analytics in één query is verzameld.

Azure Monitor, Application Insights en Log Analytics verzenden allemaal waarschuwingen. Azure Monitor-waarschuwingen op metrische gegevens op platformniveau, zoals CPU-gebruik, terwijl Application Insights-waarschuwingen over metrische gegevens op toepassingsniveau, zoals reactietijd van de server, worden weergegeven. Azure Monitor-waarschuwingen voor nieuwe gebeurtenissen in het Azure-activiteitenlogboek, terwijl Log Analytics waarschuwingen kan geven over metrische gegevens of gebeurtenisgegevens voor de services die zijn geconfigureerd om deze te gebruiken. Geïntegreerde waarschuwingen in Azure Monitor is een nieuwe, uniforme waarschuwingservaring in Azure die gebruikmaakt van een andere taxonomie.

Alternatieven

In dit artikel worden handige bewakingsopties met populaire functies beschreven, maar u hebt veel keuzes, waaronder de optie om uw eigen mechanismen voor logboekregistratie te maken. Een aanbevolen procedure is om bewakingsservices toe te voegen terwijl u lagen in een oplossing bouwt. Hier volgen enkele mogelijke extensies en alternatieven:

Zie Bewaking voor DevOps in het Azure Well-Architected Framework voor meer informatie.

Schaalbaarheid en beschikbaarheid

Dit scenario is gericht op PaaS-oplossingen voor bewaking in grote mate omdat ze de beschikbaarheid en schaalbaarheid voor u gemakkelijk verwerken en worden ondersteund door serviceovereenkomsten (SLA's). App Services biedt bijvoorbeeld een gegarandeerde SLA voor de beschikbaarheid ervan.

Application Insights heeft limieten voor het aantal aanvragen dat per seconde kan worden verwerkt. Als u de aanvraaglimiet overschrijdt, kan er sprake zijn van beperking van berichten. Om beperking te voorkomen, implementeert u filteren of steekproeven om de gegevenssnelheid te verminderen

Overwegingen voor hoge beschikbaarheid voor de app die u uitvoert, zijn echter de verantwoordelijkheid van de ontwikkelaar. Zie bijvoorbeeld de overwegingen voor schaalbaarheid in de basisarchitectuur voor webtoepassingen voor meer informatie over schalen. Nadat een app is geïmplementeerd, kunt u tests instellen om de beschikbaarheid ervan te controleren met Behulp van Application Insights.

Beveiliging

Beveiliging biedt garanties tegen opzettelijke aanvallen en misbruik van uw waardevolle gegevens en systemen. Zie Overzicht van de beveiligingspijler voor meer informatie.

Gevoelige informatie en nalevingsvereisten zijn van invloed op het verzamelen, bewaren en opslaan van gegevens. Meer informatie over hoe Application Insights en Log Analytics telemetrie verwerken.

De volgende beveiligingsoverwegingen kunnen ook van toepassing zijn:

  • Ontwikkel een plan voor het afhandelen van persoonlijke gegevens als ontwikkelaars hun eigen gegevens mogen verzamelen of bestaande telemetrie mogen verrijken.
  • Houd rekening met gegevensretentie. Application Insights bewaart bijvoorbeeld telemetriegegevens gedurende 90 dagen. Archiveer gegevens die u wilt gebruiken voor langere perioden met behulp van Microsoft Power BI, Continue export of de REST API. Opslagtarieven zijn van toepassing.
  • Beperk de toegang tot Azure-resources om de toegang tot gegevens te beheren en wie telemetrie kan bekijken vanuit een specifieke toepassing. Zie Resources, rollen en toegangsbeheer in Application Insights om de toegang tot telemetrie te vergrendelen.
  • Overweeg of u lees-/schrijftoegang in toepassingscode wilt beheren om te voorkomen dat gebruikers versie- of tagmarkeringen toevoegen die de gegevensopname van de toepassing beperken. Met Application Insights is er geen controle over afzonderlijke gegevensitems zodra ze naar een resource worden verzonden, dus als een gebruiker toegang heeft tot gegevens, heeft deze toegang tot alle gegevens in een afzonderlijke resource.
  • Voeg zo nodig governancemechanismen toe om beleidsregels of kostencontroles af te dwingen voor Azure-resources. Gebruik bijvoorbeeld Log Analytics voor beveiligingsgerelateerde bewaking, zoals beleid en op rollen gebaseerd toegangsbeheer, of gebruik Azure Policy om beleidsdefinities te maken, toe te wijzen en te beheren.
  • Als u potentiële beveiligingsproblemen wilt bewaken en een centraal overzicht wilt krijgen van de beveiligingsstatus van uw Azure-resources, kunt u overwegen om Microsoft Defender voor Cloud te gebruiken.

Kostenoptimalisatie

Kostenoptimalisatie gaat over manieren om onnodige uitgaven te verminderen en operationele efficiëntie te verbeteren. Zie Overzicht van de pijler kostenoptimalisatie voor meer informatie.

Bewakingskosten kunnen snel worden opgetellen. Overweeg prijzen vooraf, begrijp wat u bewaakt en controleer de bijbehorende kosten voor elke service. Azure Monitor biedt gratis basisgegevens , terwijl de bewakingskosten voor Application Insights en Log Analytics zijn gebaseerd op de hoeveelheid gegevens die u hebt opgenomen en het aantal tests dat u uitvoert.

Gebruik de prijscalculator om de kosten te schatten om aan de slag te gaan. Wijzig de verschillende prijsopties zodat deze overeenkomen met de verwachte implementatie.

Telemetrie van Application Insights wordt verzonden naar Azure Portal tijdens foutopsporing en nadat u uw app hebt gepubliceerd. Voor testdoeleinden en om kosten te voorkomen, wordt een beperkt aantal telemetriegegevens geïnstrueerd. Als u meer indicatoren wilt toevoegen, kunt u de telemetrielimiet verhogen. Zie Sampling in Application Insights voor meer gedetailleerde controle.

Na de implementatie kunt u een Live Metrics Stream met prestatie-indicatoren bekijken. Deze gegevens worden niet opgeslagen, u bekijkt realtime metrische gegevens, maar de telemetrie kan later worden verzameld en geanalyseerd. Er worden geen kosten in rekening gebracht voor Live Stream-gegevens.

Log Analytics wordt gefactureerd per gigabyte (GB) aan gegevens die in de service wordt opgenomen. De eerste 5 GB aan gegevens die elke maand worden opgenomen in de Azure Log Analytics-service wordt gratis aangeboden en de gegevens worden gratis bewaard gedurende de eerste 31 dagen in uw Log Analytics-werkruimte.

Bijdragers

Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.

Hoofdauteur:

Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.

Volgende stappen

Bekijk deze resources die zijn ontworpen om u te helpen aan de slag te gaan met uw eigen bewakingsoplossing: