Gebruik wijzigingsanalyse voor toepassingen (preview) in Azure Monitor

Wanneer er een probleem of storing optreedt in een livesite, is het snel bepalen van de hoofdoorzaak essentieel. Standaardbewakingsoplossingen kunnen u waarschuwen voor een probleem. Ze kunnen zelfs aangeven welk onderdeel mislukt. Maar deze waarschuwing verklaart niet altijd onmiddellijk de oorzaak van de fout. U weet dat uw site vijf minuten geleden heeft gewerkt en dat deze nu is verbroken. Wat is er veranderd in de afgelopen vijf minuten? Dit is de vraag die wijzigingsanalyse voor toepassingen is ontworpen om te beantwoorden in Azure Monitor.

Op basis van de kracht van Azure Resource Graphbiedt wijzigingsanalyse inzicht in de wijzigingen in uw Azure-toepassing om de waarneembaarheid te vergroten en de MTTR te verminderen (gemiddelde hersteltijd).

Belangrijk

wijzigingsanalyse is momenteel beschikbaar als preview-versie. Deze preview-versie wordt aangeboden zonder service level agreement. Deze versie wordt niet aanbevolen voor productieworkloads. Sommige functies worden mogelijk niet ondersteund of hebben beperkte mogelijkheden. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure previews voor meer informatie.

Overzicht

wijzigingsanalyse detecteert verschillende soorten wijzigingen, van de infrastructuurlaag tot de implementatie van toepassingen. Het is een Azure-resourceprovider op abonnementsniveau die resourcewijzigingen in het abonnement controleert. wijzigingsanalyse biedt gegevens voor verschillende diagnostische hulpprogramma's om gebruikers te helpen begrijpen welke wijzigingen mogelijk problemen hebben veroorzaakt.

Het volgende diagram illustreert de architectuur van wijzigingsanalyse:

Architectuurdiagram van hoe wijzigingsanalyse wijzigingsgegevens op haalt en aan clienthulpprogramma's levert

Ondersteunde resourcetypen

wijzigingsanalyse voor toepassingen-service ondersteunt wijzigingen op het niveau van resource-eigenschappen in alle Azure-resourcetypen, met inbegrip van algemene resources zoals:

  • Virtuele machine
  • Schaalset voor virtuele machines
  • App Service
  • Azure Kubernetes-service
  • Azure-functie
  • Netwerkbronnen: netwerkbeveiligingsgroep, Virtual Network, Application Gateway, enzovoort.
  • Gegevensservices: Opslag, SQL, Redis Cache, Cosmos DB, enzovoort.

Gegevensbronnen

Analysequery's voor toepassingswijzigingen Azure Resource Manager bij te houden eigenschappen, geproxiede configuraties en wijzigingen in de web-app in de gast. Daarnaast houdt de service wijzigingen in resourceafhankelijkheden bij om een toepassing end-to-end te diagnosticeren en bewaken.

Azure Resource Manager bij te houden eigenschappen wijzigen

Met Azure Resource Graphbiedt wijzigingsanalyse een historisch record van hoe de Azure-resources die als host voor uw toepassing worden gebruikt, in de tijd zijn veranderd. Bij te houden instellingen, zoals beheerde identiteiten, upgrade van platform-besturingssysteem en hostnamen, kunnen worden gedetecteerd.

Azure Resource Manager via een geproxiede instelling wijzigen

Instellingen zoals IP-configuratieregel, TLS-instellingen en extensieversies zijn nog niet beschikbaar in Azure Resource Graph, dus wijzigingsanalyse bevraagt en berekent deze wijzigingen veilig om meer details te geven over wat er in de app is gewijzigd.

Wijzigingen in de implementatie en configuratie van web-apps (wijzigingen in gast)

wijzigingsanalyse legt elke 4 uur de implementatie- en configuratietoestand van een toepassing vast. Het kan bijvoorbeeld wijzigingen in de omgevingsvariabelen van de toepassing detecteren. Het hulpprogramma berekent de verschillen en geeft weer wat er is gewijzigd. In tegenstelling Resource Manager wijzigingen, is informatie over wijzigingen in code-implementatie mogelijk niet direct beschikbaar in het hulpprogramma. Als u de meest recente wijzigingen in wijzigingsanalyse, selecteert u Vernieuwen.

Schermopname van de knop Wijzigingen nu scannen

Momenteel worden alle op tekst gebaseerde bestanden onder de site root wwwroot met de volgende extensies ondersteund:

  • *.json
  • *.xml
  • *.ini
  • *.yml
  • *.config
  • *.properties
  • *.html
  • *.cshtml
  • *.js
  • requirements.txt
  • Gemfile
  • Gemfile.lock
  • config.gemspec

Afhankelijkheidswijzigingen

Wijzigingen in resourceafhankelijkheden kunnen ook problemen in een resource veroorzaken. Als een web-app bijvoorbeeld een Redis-cache aanroept, kan de Redis Cache-SKU invloed hebben op de prestaties van de web-app. Een ander voorbeeld is dat als poort 22 is gesloten in de netwerkbeveiligingsgroep van een virtuele machine, dit connectiviteitsfouten veroorzaakt.

Navigator voor problemen vaststellen en oplossen met web-apps (preview)

Als u wijzigingen in afhankelijkheden wilt detecteren, wijzigingsanalyse de DNS-record van de web-app gecontroleerd. Op deze manier worden wijzigingen in alle app-onderdelen geïdentificeerd die problemen kunnen veroorzaken. Momenteel worden de volgende afhankelijkheden ondersteund in Web App Diagnose and solve problems | Navigator (preview):

  • Web Apps
  • Azure Storage
  • Azure SQL

wijzigingsanalyse voor toepassingen detecteert gerelateerde resources. Veelvoorkomende voorbeelden zijn netwerkbeveiligingsgroep, Virtual Network, Application Gateway en Load Balancer gerelateerd aan een virtuele machine. De netwerkresources worden meestal automatisch ingericht in dezelfde resourcegroep als de resources die deze gebruiken, dus als u de wijzigingen filtert op resourcegroep, worden alle wijzigingen voor de virtuele machine en gerelateerde netwerkresources weer geven.

Schermopname van netwerkwijzigingen

wijzigingsanalyse voor toepassingen service inschakelen

De wijzigingsanalyse voor toepassingen-service berekent en aggregeert wijzigingsgegevens uit de hierboven genoemde gegevensbronnen. Het biedt een set analyses waarmee gebruikers eenvoudig door alle resourcewijzigingen kunnen navigeren en kunnen bepalen welke wijziging relevant is in de context van probleemoplossing of bewaking. De resourceprovider Microsoft.ChangeAnalysis moet zijn geregistreerd bij een abonnement voor de Azure Resource Manager bij te houden eigenschappen en via geproxiede instellingen te wijzigen, zodat gegevens beschikbaar zijn. Wanneer u het hulpprogramma Problemen vaststellen en oplossen van de web-app opvoert of het zelfstandige tabblad wijzigingsanalyse wordt weergegeven, wordt deze resourceprovider automatisch geregistreerd. Voor wijzigingen in de web-app in de gast is afzonderlijke inschakelen vereist voor het scannen van codebestanden in een web-app. Zie voor meer informatie wijzigingsanalyse in de sectie Diagnose and solve problems tool verderop in dit artikel voor meer informatie.

Kosten

wijzigingsanalyse voor toepassingen is een gratis service: er worden geen factureringskosten in rekening brengen voor abonnementen waarin deze service is ingeschakeld. De service heeft ook geen invloed op de prestaties voor het scannen van wijzigingen in azure-resource-eigenschappen. Wanneer u wijzigingsanalyse web-apps in-guest bestandswijzigingen inschakelen (of het hulpprogramma Problemen vaststellen en oplossen inschakelen), heeft dit een verwaarloosbare invloed op de prestaties van de web-app en geen factureringskosten.

Schakel wijzigingsanalyse op schaal in voor wijzigingen in web-apps in gastbestands- en omgevingsvariabelen

Als uw abonnement talloze web-apps bevat, is het inschakelen van de service op het niveau van de web-app inefficiënt. Voer het volgende script uit om alle web-apps in uw abonnement in teschakelen.

Vereisten:

Voer het volgende script uit:

# Log in to your Azure subscription
Connect-AzAccount

# Get subscription Id
$SubscriptionId = Read-Host -Prompt 'Input your subscription Id'

# Make Feature Flag visible to the subscription
Set-AzContext -SubscriptionId $SubscriptionId

# Register resource provider
Register-AzResourceProvider -ProviderNamespace "Microsoft.ChangeAnalysis"

# Enable each web app
$webapp_list = Get-AzWebApp | Where-Object {$_.kind -eq 'app'}
foreach ($webapp in $webapp_list)
{
    $tags = $webapp.Tags
    $tags[“hidden-related:diagnostics/changeAnalysisScanEnabled”]=$true
    Set-AzResource -ResourceId $webapp.Id -Tag $tags -Force
}

Volgende stappen